diff --git a/public/marketplace/adblock/adblock.png b/public/marketplace/adblock/adblock.png deleted file mode 100644 index ff52039..0000000 Binary files a/public/marketplace/adblock/adblock.png and /dev/null differ diff --git a/public/marketplace/adblock/adblocker.js b/public/marketplace/adblock/adblocker.js deleted file mode 100644 index 019c0f4..0000000 --- a/public/marketplace/adblock/adblocker.js +++ /dev/null @@ -1 +0,0 @@ -console.log("Hello World!"); diff --git a/public/marketplace/adblock/index.js b/public/marketplace/adblock/index.js new file mode 100644 index 0000000..816b925 --- /dev/null +++ b/public/marketplace/adblock/index.js @@ -0,0 +1,166 @@ +(()=>{var Wm=(H,Be)=>()=>(Be||H((Be={exports:{}}).exports,Be),Be.exports);var Qc=Wm((Ja,Jc)=>{(function(H,Be){typeof Ja=="object"&&typeof Jc<"u"?Be(Ja):typeof define=="function"&&define.amd?define(["exports"],Be):(H=typeof globalThis<"u"?globalThis:H||self,Be(H.tsUrlFilter={}))})(Ja,function(H){"use strict";var Be=function(e,D){return Be=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,R){t.__proto__=R}||function(t,R){for(var O in R)Object.prototype.hasOwnProperty.call(R,O)&&(t[O]=R[O])},Be(e,D)};function Zt(e,D){if(typeof D!="function"&&D!==null)throw new TypeError("Class extends value "+String(D)+" is not a constructor or null");Be(e,D);function t(){this.constructor=e}e.prototype=D===null?Object.create(D):(t.prototype=D.prototype,new t)}var wt=function(){return wt=Object.assign||function(D){for(var t,R=1,O=arguments.length;R0&&P[P.length-1])&&(Q[0]===6||Q[0]===2)){t=0;continue}if(Q[0]===3&&(!P||Q[1]>P[0]&&Q[1]t+1&&e.charCodeAt(R-1)<=32;)R-=1;if(e.charCodeAt(t)===47&&e.charCodeAt(t+1)===47)t+=2;else{let Q=e.indexOf(":/",t);if(Q!==-1){let se=Q-t,ie=e.charCodeAt(t),ce=e.charCodeAt(t+1),pe=e.charCodeAt(t+2),de=e.charCodeAt(t+3),Ce=e.charCodeAt(t+4);if(!(se===5&&ie===104&&ce===116&&pe===116&&de===112&&Ce===115)){if(!(se===4&&ie===104&&ce===116&&pe===116&&de===112)){if(!(se===3&&ie===119&&ce===115&&pe===115)){if(!(se===2&&ie===119&&ce===115))for(let _e=t;_e=97&&Se<=122||Se>=48&&Se<=57||Se===46||Se===45||Se===43))return null}}}}for(t=Q+2;e.charCodeAt(t)===47;)t+=1}}let B=-1,W=-1,q=-1;for(let Q=t;Q=65&&se<=90&&(O=!0)}if(B!==-1&&B>t&&Bt&&qt+1&&e.charCodeAt(R-1)===46;)R-=1;let P=t!==0||R!==e.length?e.slice(t,R):e;return O?P.toLowerCase():P}function cl(e){if(e.length<7||e.length>15)return!1;let D=0;for(let t=0;t57)return!1}return D===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function ll(e){if(e.length<3)return!1;let D=e[0]==="["?1:0,t=e.length;if(e[t-1]==="]"&&(t-=1),t-D>39)return!1;let R=!1;for(;D=48&&O<=57||O>=97&&O<=102||O>=65&&O<=90))return!1}return R}function dl(e){return ll(e)||cl(e)}function Au(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function Fu(e){if(e.length>255||e.length===0||Au(e.charCodeAt(0))===!1)return!1;let D=-1,t=-1,R=e.length;for(let O=0;O64||t===46||t===45||t===95)return!1;D=O}else if((Au(P)||P===45||P===95)===!1)return!1;t=P}return R-D-1<=63&&t!==45}function Cu({allowIcannDomains:e=!0,allowPrivateDomains:D=!1,detectIp:t=!0,extractHostname:R=!0,mixedInputs:O=!0,validHosts:P=null,validateHostname:B=!0}){return{allowIcannDomains:e,allowPrivateDomains:D,detectIp:t,extractHostname:R,mixedInputs:O,validHosts:P,validateHostname:B}}let fl=Cu({});function pl(e){return e===void 0?fl:Cu(e)}function vl(e,D){return D.length===e.length?"":e.slice(0,-D.length-1)}function xu(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,publicSuffix:null,subdomain:null}}function ku(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.publicSuffix=null,e.subdomain=null}function Za(e,D,t,R,O){let P=pl(R);return typeof e!="string"||(P.extractHostname===!1?O.hostname=e:P.mixedInputs===!0?O.hostname=wu(e,Fu(e)):O.hostname=wu(e,!1),D===0||O.hostname===null)||P.detectIp===!0&&(O.isIp=dl(O.hostname),O.isIp===!0)?O:P.validateHostname===!0&&P.extractHostname===!0&&Fu(O.hostname)===!1?(O.hostname=null,O):(t(O.hostname,P,O),D===2||O.publicSuffix===null||(O.domain=ul(O.publicSuffix,O.hostname,P),D===3||O.domain===null)||(O.subdomain=vl(O.hostname,O.domain),D===4)||(O.domainWithoutSuffix=sl(O.domain,O.publicSuffix)),O)}function gl(e,D,t){if(D.allowPrivateDomains===!1&&e.length>3){let R=e.length-1,O=e.charCodeAt(R),P=e.charCodeAt(R-1),B=e.charCodeAt(R-2),W=e.charCodeAt(R-3);if(O===109&&P===111&&B===99&&W===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="com",!0;if(O===103&&P===114&&B===111&&W===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="org",!0;if(O===117&&P===100&&B===101&&W===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="edu",!0;if(O===118&&P===111&&B===103&&W===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="gov",!0;if(O===116&&P===101&&B===110&&W===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="net",!0;if(O===101&&P===100&&B===46)return t.isIcann=!0,t.isPrivate=!1,t.publicSuffix="de",!0}return!1}let ml=function(){let e={$:1,succ:{}},D={$:0,succ:{city:e}};return{$:0,succ:{ck:{$:0,succ:{www:e}},jp:{$:0,succ:{kawasaki:D,kitakyushu:D,kobe:D,nagoya:D,sapporo:D,sendai:D,yokohama:D}}}}}(),hl=function(){let e={$:1,succ:{}},D={$:1,succ:{com:e,edu:e,gov:e,net:e,mil:e,org:e}},t={$:2,succ:{}},R={$:1,succ:{blogspot:t}},O={$:1,succ:{gov:e}},P={$:0,succ:{"*":t}},B={$:0,succ:{"*":e}},W={$:1,succ:{com:e,edu:e,net:e,org:e,gov:e}},q={$:1,succ:{co:t}},Q={$:1,succ:{ng:t}},se={$:0,succ:{s3:t}},ie={$:0,succ:{dualstack:se}},ce={$:0,succ:{s3:t,dualstack:se,"s3-website":t}},pe={$:0,succ:{apps:t}},de={$:0,succ:{app:t}},Ce={$:0,succ:{j:t}},_e={$:0,succ:{user:t}},Se={$:1,succ:{ybo:t}},Ne={$:1,succ:{gov:e,blogspot:t,nym:t}},dt={$:0,succ:{cust:t}},Fr={$:1,succ:{edu:e,biz:e,net:e,org:e,gov:e,info:e,com:e}},Wn={$:1,succ:{blogspot:t,nym:t}},Mt={$:1,succ:{for:t}},Ft={$:1,succ:{barsy:t}},Ze={$:0,succ:{forgot:t}},yn={$:0,succ:{jelastic:t}},Fe={$:1,succ:{gs:e}},Bt={$:0,succ:{nes:e}},be={$:1,succ:{k12:e,cc:e,lib:e}},tn={$:1,succ:{cc:e,lib:e}};return{$:0,succ:{ac:D,ad:{$:1,succ:{nom:e}},ae:{$:1,succ:{co:e,net:e,org:e,sch:e,ac:e,gov:e,mil:e,blogspot:t,nom:t}},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:{$:1,succ:{gov:e,com:e,org:e,net:e,edu:e,nom: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:t,nom:t}},al:{$:1,succ:{com:e,edu:e,gov:e,mil:e,net:e,org:e,blogspot:t,nom:t}},am:{$:1,succ:{co:e,com:e,commune:e,net:e,org:e,blogspot:t,neko:t,nyaa:t}},ao:{$:1,succ:{ed:e,gv:e,og:e,co:e,pb:e,it:e}},aq:e,ar:{$:1,succ:{com:R,edu:e,gob:e,gov:e,int:e,mil:e,musica:e,net:e,org:e,tur:e}},arpa:{$:1,succ:{e164:e,"in-addr":e,ip6:e,iris:e,uri:e,urn:e}},as:O,asia:{$:1,succ:{cloudns:t}},at:{$:1,succ:{ac:{$:1,succ:{sth:e}},co:R,gv:e,or:e,funkfeuer:{$:0,succ:{wien:t}},futurecms:{$:0,succ:{"*":t,ex:P,in:P}},futurehosting:t,futuremailing:t,ortsinfo:{$:0,succ:{ex:P,kunden:P}},biz:t,info:t,priv:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}},au:{$:1,succ:{com:R,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:t,cat:t,es:t,eu:t,gg:t,mc:t,us:t,xy:t}},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,blogspot:t}},bb:{$:1,succ:{biz:e,co:e,com:e,edu:e,gov:e,info:e,net:e,org:e,store:e,tv:e}},bd:B,be:{$:1,succ:{ac:e,webhosting:t,blogspot:t,transurl:P}},bf:O,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,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:t,barsy:t}},bh:W,bi:{$:1,succ:{co:e,com:e,edu:e,or:e,org:e}},biz:{$:1,succ:{cloudns:t,dyndns:t,"for-better":t,"for-more":t,"for-some":t,"for-the":t,selfip:t,webhop:t,bpl:t,orx:t,mmafan:t,myftp:t,"no-ip":t,dscloud:t}},bj:{$:1,succ:{asso:e,barreau:e,gouv:e,blogspot:t}},bm:W,bn:{$:1,succ:{com:e,edu:e,gov:e,net:e,org:e,co:t}},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:R,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:t,al:t,am:t,ap:t,ba:t,ce:t,df:t,es:t,go:t,ma:t,mg:t,ms:t,mt:t,pa:t,pb:t,pe:t,pi:t,pr:t,rj:t,rn:t,ro:t,rr:t,rs:t,sc:t,se:t,sp:t,to:t}},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:B,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:t}},bt:W,bv:e,bw:{$:1,succ:{co:e,org:e}},by:{$:1,succ:{gov:e,mil:e,com:R,of:e,nym:t}},bz:{$:1,succ:{com:e,net:e,org:e,edu:e,gov:e,za:t,nom:t,nym:t}},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:t,awdev:P,co:t,blogspot:t,"no-ip":t}},cat:e,cc:{$:1,succ:{cloudns:t,ftpaccess:t,"game-server":t,myphotos:t,scrapping:t,twmail:t,csx:t,fantasyleague:t}},cd:O,cf:R,cg:e,ch:{$:1,succ:{square7:t,blogspot:t,"linkyard-cloud":t,dnsking:t,gotdns:t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t}},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\u00E9roport:e,int:e,presse:e,md:e,gouv:e,fin:t,nl:t}},ck:B,cl:{$:1,succ:{aprendemas:e,co:e,gob:e,gov:e,mil:e,blogspot:t,nom:t}},cm:{$:1,succ:{co:e,com:e,gov:e,net:e}},cn:{$:1,succ:{ac:e,com:{$:1,succ:{amazonaws:{$:0,succ:{compute:P,eb:{$:0,succ:{"cn-north-1":t,"cn-northwest-1":t}},elb:P,"cn-north-1":se}}}},edu:e,gov:e,net:e,org:e,mil:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--od0alg":e,\u7DB2\u7D61: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,instantcloud:t}},co:{$:1,succ:{arts:e,com:R,edu:e,firm:e,gov:e,info:e,int:e,mil:e,net:e,nom:e,org:e,rec:e,web:e,carrd:t,crd:t,otap:P,leadpages:t,lpages:t,mypi:t,n4t:t,nodum:t,repl:t}},com:{$:1,succ:{adobeaemcloud:{$:2,succ:{dev:P}},kasserver:t,amazonaws:{$:0,succ:{compute:P,"compute-1":P,"us-east-1":{$:2,succ:{dualstack:se}},elb:P,s3:t,"s3-ap-northeast-1":t,"s3-ap-northeast-2":t,"s3-ap-south-1":t,"s3-ap-southeast-1":t,"s3-ap-southeast-2":t,"s3-ca-central-1":t,"s3-eu-central-1":t,"s3-eu-west-1":t,"s3-eu-west-2":t,"s3-eu-west-3":t,"s3-external-1":t,"s3-fips-us-gov-west-1":t,"s3-sa-east-1":t,"s3-us-gov-west-1":t,"s3-us-east-2":t,"s3-us-west-1":t,"s3-us-west-2":t,"ap-northeast-2":ce,"ap-south-1":ce,"ca-central-1":ce,"eu-central-1":ce,"eu-west-2":ce,"eu-west-3":ce,"us-east-2":ce,"ap-northeast-1":ie,"ap-southeast-1":ie,"ap-southeast-2":ie,"eu-west-1":ie,"sa-east-1":ie,"s3-website-us-east-1":t,"s3-website-us-west-1":t,"s3-website-us-west-2":t,"s3-website-ap-northeast-1":t,"s3-website-ap-southeast-1":t,"s3-website-ap-southeast-2":t,"s3-website-eu-west-1":t,"s3-website-sa-east-1":t}},elasticbeanstalk:{$:2,succ:{"ap-northeast-1":t,"ap-northeast-2":t,"ap-northeast-3":t,"ap-south-1":t,"ap-southeast-1":t,"ap-southeast-2":t,"ca-central-1":t,"eu-central-1":t,"eu-west-1":t,"eu-west-2":t,"eu-west-3":t,"sa-east-1":t,"us-east-1":t,"us-east-2":t,"us-gov-west-1":t,"us-west-1":t,"us-west-2":t}},"on-aptible":t,myasustor:t,"balena-devices":t,betainabox:t,bplaced:t,ar:t,br:t,cn:t,de:t,eu:t,gb:t,hu:t,jpn:t,kr:t,mex:t,no:t,qc:t,ru:t,sa:t,uk:t,us:t,uy:t,za:t,africa:t,gr:t,co:t,xenapponazure:t,jdevcloud:t,wpdevcloud:t,cloudcontrolled:t,cloudcontrolapp:t,trycloudflare:t,"customer-oci":{$:0,succ:{"*":t,oci:P,ocp:P,ocs:P}},dattolocal:t,dattorelay:t,dattoweb:t,mydatto:t,builtwithdark:t,drayddns:t,dreamhosters:t,mydrobo:t,"dyndns-at-home":t,"dyndns-at-work":t,"dyndns-blog":t,"dyndns-free":t,"dyndns-home":t,"dyndns-ip":t,"dyndns-mail":t,"dyndns-office":t,"dyndns-pics":t,"dyndns-remote":t,"dyndns-server":t,"dyndns-web":t,"dyndns-wiki":t,"dyndns-work":t,blogdns:t,cechire:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,"dyn-o-saur":t,dynalias:t,"est-a-la-maison":t,"est-a-la-masion":t,"est-le-patron":t,"est-mon-blogueur":t,"from-ak":t,"from-al":t,"from-ar":t,"from-ca":t,"from-ct":t,"from-dc":t,"from-de":t,"from-fl":t,"from-ga":t,"from-hi":t,"from-ia":t,"from-id":t,"from-il":t,"from-in":t,"from-ks":t,"from-ky":t,"from-ma":t,"from-md":t,"from-mi":t,"from-mn":t,"from-mo":t,"from-ms":t,"from-mt":t,"from-nc":t,"from-nd":t,"from-ne":t,"from-nh":t,"from-nj":t,"from-nm":t,"from-nv":t,"from-oh":t,"from-ok":t,"from-or":t,"from-pa":t,"from-pr":t,"from-ri":t,"from-sc":t,"from-sd":t,"from-tn":t,"from-tx":t,"from-ut":t,"from-va":t,"from-vt":t,"from-wa":t,"from-wi":t,"from-wv":t,"from-wy":t,getmyip:t,gotdns:t,"hobby-site":t,homelinux:t,homeunix:t,iamallama:t,"is-a-anarchist":t,"is-a-blogger":t,"is-a-bookkeeper":t,"is-a-bulls-fan":t,"is-a-caterer":t,"is-a-chef":t,"is-a-conservative":t,"is-a-cpa":t,"is-a-cubicle-slave":t,"is-a-democrat":t,"is-a-designer":t,"is-a-doctor":t,"is-a-financialadvisor":t,"is-a-geek":t,"is-a-green":t,"is-a-guru":t,"is-a-hard-worker":t,"is-a-hunter":t,"is-a-landscaper":t,"is-a-lawyer":t,"is-a-liberal":t,"is-a-libertarian":t,"is-a-llama":t,"is-a-musician":t,"is-a-nascarfan":t,"is-a-nurse":t,"is-a-painter":t,"is-a-personaltrainer":t,"is-a-photographer":t,"is-a-player":t,"is-a-republican":t,"is-a-rockstar":t,"is-a-socialist":t,"is-a-student":t,"is-a-teacher":t,"is-a-techie":t,"is-a-therapist":t,"is-an-accountant":t,"is-an-actor":t,"is-an-actress":t,"is-an-anarchist":t,"is-an-artist":t,"is-an-engineer":t,"is-an-entertainer":t,"is-certified":t,"is-gone":t,"is-into-anime":t,"is-into-cars":t,"is-into-cartoons":t,"is-into-games":t,"is-leet":t,"is-not-certified":t,"is-slick":t,"is-uberleet":t,"is-with-theband":t,"isa-geek":t,"isa-hockeynut":t,issmarterthanyou:t,"likes-pie":t,likescandy:t,"neat-url":t,"saves-the-whales":t,selfip:t,"sells-for-less":t,"sells-for-u":t,servebbs:t,"simple-url":t,"space-to-rent":t,"teaches-yoga":t,writesthisblog:t,ddnsfree:t,ddnsgeek:t,giize:t,gleeze:t,kozow:t,loseyourip:t,ooguy:t,theworkpc:t,mytuleap:t,evennode:{$:0,succ:{"eu-1":t,"eu-2":t,"eu-3":t,"eu-4":t,"us-1":t,"us-2":t,"us-3":t,"us-4":t}},onfabrica:t,fbsbx:pe,"fastly-terrarium":t,"fastvps-server":t,mydobiss:t,firebaseapp:t,"freebox-os":t,freeboxos:t,gentapps:t,gentlentapis:t,githubusercontent:t,"0emm":P,appspot:{$:2,succ:{r:P}},blogspot:t,codespot:t,googleapis:t,googlecode:t,pagespeedmobilizer:t,publishproxy:t,withgoogle:t,withyoutube:t,awsmppl:t,herokuapp:t,herokussl:t,myravendb:t,pixolino:t,dopaas:t,hidora:t,"ik-server":{$:0,succ:{jcloud:t}},jelastic:{$:0,succ:{demo:t}},joyent:{$:0,succ:{cns:P}},lpusercontent:t,lmpm:de,linode:{$:0,succ:{members:t,nodebalancer:P}},linodeobjects:P,barsycenter:t,barsyonline:t,miniserver:t,meteorapp:{$:2,succ:{eu:t}},"4u":t,nfshost:t,"001www":t,ddnslive:t,myiphost:t,blogsyte:t,ciscofreak:t,damnserver:t,ditchyourip:t,dnsiskinky:t,dynns:t,geekgalaxy:t,"health-carereform":t,homesecuritymac:t,homesecuritypc:t,myactivedirectory:t,mysecuritycamera:t,"net-freaks":t,onthewifi:t,point2this:t,quicksytes:t,securitytactics:t,serveexchange:t,servehumour:t,servep2p:t,servesarcasm:t,stufftoread:t,unusualperson:t,workisboring:t,"3utilities":t,ddnsking:t,myvnc:t,servebeer:t,servecounterstrike:t,serveftp:t,servegame:t,servehalflife:t,servehttp:t,serveirc:t,servemp3:t,servepics:t,servequake:t,observableusercontent:{$:0,succ:{static:t}},operaunite:t,skygearapp:t,outsystemscloud:t,ownprovider:t,pgfog:t,pagefrontapp:t,pagexl:t,gotpantheon:t,"platter-app":t,pleskns:t,prgmr:{$:0,succ:{xen:t}},qualifioapp:t,qbuser:t,qa2:t,"dev-myqnapcloud":t,"alpha-myqnapcloud":t,myqnapcloud:t,quipelements:P,rackmaze:t,rhcloud:t,render:de,onrender:t,logoip:t,scrysec:t,"firewall-gateway":t,myshopblocks:t,shopitsite:t,"1kapp":t,appchizi:t,applinzi:t,sinaapp:t,vipsinaapp:t,"bounty-full":{$:2,succ:{alpha:t,beta:t}},"stackhero-network":t,"playstation-cloud":t,stdlib:{$:0,succ:{api:t}},"temp-dns":t,dsmynas:t,familyds:t,thingdustdata:t,bloxcms:t,"townnews-staging":t,hk:t,wafflecell:t,remotewd:t,wiardweb:{$:0,succ:{pages:t}},xnbay:{$:2,succ:{u2:t,"u2-local":t}},yolasite:t,wpenginepowered:t,impertrixcdn:t,impertrix:t}},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:R,cw:{$:1,succ:{com:e,edu:e,net:e,org:e}},cx:{$:1,succ:{gov:e,ath:t,info:t}},cy:{$:1,succ:{ac:e,biz:e,com:{$:1,succ:{blogspot:t,scaleforce:Ce}},ekloges:e,gov:e,ltd:e,name:e,net:e,org:e,parliament:e,press:e,pro:e,tm:e}},cz:{$:1,succ:{co:t,realm:t,e4:t,blogspot:t,metacentrum:{$:0,succ:{cloud:t,custom:t}},muni:{$:0,succ:{cloud:{$:0,succ:{flt:t,usr:t}}}}}},de:{$:1,succ:{bplaced:t,square7:t,com:t,cosidns:{$:0,succ:{dyn:t}},"dynamisches-dns":t,dnsupdater:t,"internet-dns":t,"l-o-g-i-n":t,dnshome:t,fuettertdasnetz:t,isteingeek:t,istmein:t,lebtimnetz:t,leitungsen:t,traeumtgerade:t,ddnss:{$:2,succ:{dyn:t,dyndns:t}},dyndns1:t,"dyn-ip24":t,"home-webserver":{$:2,succ:{dyn:t}},"myhome-server":t,goip:t,blogspot:t,"dyn-berlin":t,"in-berlin":t,"in-brb":t,"in-butter":t,"in-dsl":t,"in-vpn":t,"mein-iserv":t,schulserver:t,"test-iserv":t,keymachine:t,"git-repos":t,"lcube-server":t,"svn-repos":t,barsy:t,logoip:t,"firewall-gateway":t,"my-gateway":t,"my-router":t,spdns:t,speedpartner:{$:0,succ:{customer:t}},"taifun-dns":t,"12hp":t,"2ix":t,"4lima":t,"lima-city":t,"dd-dns":t,"dray-dns":t,draydns:t,"dyn-vpn":t,dynvpn:t,"mein-vigor":t,"my-vigor":t,"my-wan":t,"syno-ds":t,"synology-diskstation":t,"synology-ds":t,uberspace:P,virtualuser:t,"virtual-user":t,"community-pro":t,diskussionsbereich:t}},dj:e,dk:{$:1,succ:{biz:t,co:t,firm:t,reg:t,store:t,blogspot:t}},dm:W,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:{com:e,org:e,net:e,gov:e,edu:e,asso:e,pol:e,art: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,nym:t}},edu:{$:1,succ:{rit:{$:0,succ:{"git-pages":t}}}},ee:{$:1,succ:{edu:e,gov:e,riik:e,lib:e,med:e,com:R,pri:e,aip:e,org:e,fie:e}},eg:{$:1,succ:{com:R,edu:e,eun:e,gov:e,mil:e,name:e,net:e,org:e,sci:e}},er:B,es:{$:1,succ:{com:R,nom:e,org:e,gob:e,edu:e}},et:{$:1,succ:{com:e,gov:e,org:e,edu:e,biz:e,name:e,info:e,net:e}},eu:{$:1,succ:{mycd:t,cloudns:t,barsy:t,wellbeingzone:t,spdns:t,transurl:P,diskstation:t}},fi:{$:1,succ:{aland:e,dy:t,blogspot:t,"xn--hkkinen-5wa":t,h\u00E4kkinen:t,iki:t}},fj:{$:1,succ:{ac:e,biz:e,com:e,gov:e,info:e,mil:e,name:e,net:e,org:e,pro:e}},fk:B,fm:e,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":t,"fbx-os":t,fbxos:t,"freebox-os":t,freeboxos:t,blogspot:t,"on-web":t,"chirurgiens-dentistes-en-france":t}},ga:e,gb:e,gd:{$:1,succ:{nom:t}},ge:{$:1,succ:{com:e,edu:e,gov:e,org:e,mil:e,net:e,pvt:e,nom:t}},gf:e,gg:{$:1,succ:{co:e,net:e,org:e,kaas:t,cya:t,panel:{$:2,succ:{daemon:t}}}},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:t,nom:t,xx:t}},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:t}},gq:e,gr:{$:1,succ:{com:e,edu:e,net:e,org:e,gov:e,blogspot:t,nym:t}},gs:e,gt:{$:1,succ:{com:e,edu:e,gob:e,ind:e,mil:e,net:e,org:e,nom:t,blog:t,de:t,to:t}},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,nym:t,be:t}},hk:{$:1,succ:{com:e,edu:e,gov:e,idv:e,net:e,org:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--wcvs22d":e,\u6559\u80B2:e,"xn--lcvr32d":e,\u654E\u80B2:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--gmqw5a":e,\u500B\u4EBA:e,"xn--ciqpn":e,\u4E2A\u4EBA:e,"xn--gmq050i":e,\u7B87\u4EBA:e,"xn--zf0avx":e,\u7DB2\u7EDC:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--mk0axi":e,\u7EC4\u7E54:e,"xn--od0alg":e,\u7DB2\u7D61:e,"xn--od0aq3b":e,\u7F51\u7D61:e,"xn--tn0ag":e,\u7EC4\u7EC7:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--uc0ay4a":e,\u7D44\u7EC7:e,blogspot:t,nym:t,ltd:t,inc:t}},hm:e,hn:{$:1,succ:{com:e,edu:e,org:e,net:e,mil:e,gob:e,nom:t,cc:t}},hr:{$:1,succ:{iz:e,from:e,name:e,com:e,blogspot:t,free:t}},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:t}},id:{$:1,succ:{ac:e,biz:e,co:R,desa:e,go:e,mil:e,my:e,net:e,or:e,ponpes:e,sch:e,web:e}},ie:Ne,il:{$:1,succ:{ac:e,co:R,gov:e,idf:e,k12:e,muni:e,net:e,org:e}},im:{$:1,succ:{ac:e,co:{$:1,succ:{ltd:e,plc:e}},com:e,net:e,org:e,tt:e,tv:e,ro:t,nom:t}},in:{$:1,succ:{co:e,firm:e,net:e,org:e,gen:e,ind:e,nic:e,ac:e,edu:e,res:e,gov:e,mil:e,cloudns:t,blogspot:t,barsy:t}},info:{$:1,succ:{cloudns:t,"dynamic-dns":t,dyndns:t,"barrel-of-knowledge":t,"barrell-of-knowledge":t,"for-our":t,"groks-the":t,"groks-this":t,"here-for-more":t,knowsitall:t,selfip:t,webhop:t,barsy:t,mayfirst:t,forumz:t,nsupdate:t,dvrcam:t,ilovecollege:t,"no-ip":t,dnsupdate:t,"v-info":t}},int:{$:1,succ:{eu:e}},io:{$:1,succ:{2038:t,com:e,apigee:t,"b-data":t,backplaneapp:t,banzaicloud:{$:0,succ:{app:t,backyards:P}},boxfuse:t,browsersafetymark:t,bigv:{$:0,succ:{uk0:t}},cleverapps:t,dappnode:{$:0,succ:{dyndns:t}},dedyn:t,drud:t,definima:t,enonic:{$:2,succ:{customer:t}},shw:t,github:t,gitlab:t,lolipop:t,"hasura-app":t,hostyhosting:t,moonscale:P,jele:t,loginline:t,barsy:t,azurecontainer:P,ngrok:t,nodeart:{$:0,succ:{stage:t}},nodum:t,nid:t,pantheonsite:t,dyn53:t,protonet:t,qcx:{$:2,succ:{sys:P}},vaporcloud:t,vbrplsbx:{$:0,succ:{g:t}},"on-k3s":P,"on-rio":P,readthedocs:t,resindevice:t,resinstaging:{$:0,succ:{devices:t}},hzc:t,sandcats:t,shiftedit:t,"mo-siemens":t,lair:pe,stolos:P,spacekit:t,utwente:t,applicationcloud:t,scapp:t,s5y:P,telebit:t,thingdust:{$:0,succ:{dev:dt,disrec:dt,prod:dt,testing:dt}},wedeploy:t,basicserver:t,virtualserver:t}},iq:D,ir:{$:1,succ:{ac:e,co:e,gov:e,id:e,net:e,org:e,sch:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e}},is:{$:1,succ:{net:e,com:e,edu:e,gov:e,org:e,int:e,cupcake:t,blogspot:t}},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\xFCd-tirol":e,"trentin-sudtirol":e,"xn--trentin-sdtirol-7vb":e,"trentin-s\xFCdtirol":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\xFCd-tirol":e,"trentino-sudtirol":e,"xn--trentino-sdtirol-szb":e,"trentino-s\xFCdtirol":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\xFCd-tirol":e,trentinosudtirol:e,"xn--trentinosdtirol-7vb":e,trentinos\u00FCdtirol:e,"trentinosued-tirol":e,trentinosuedtirol:e,"trentinsud-tirol":e,"xn--trentinsd-tirol-6vb":e,"trentins\xFCd-tirol":e,trentinsudtirol:e,"xn--trentinsdtirol-nsb":e,trentins\u00FCdtirol: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\xE9e-aoste":e,"vallee-d-aoste":e,"xn--valle-d-aoste-ehb":e,"vall\xE9e-d-aoste":e,valleeaoste:e,"xn--valleaoste-e7a":e,vall\u00E9eaoste:e,valleedaoste:e,"xn--valledaoste-ebb":e,vall\u00E9edaoste: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\xFCdtirol":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\xFCdtirol":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\xFCdtirol":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\xEC":e,cesenaforli:e,"xn--cesenaforl-i8a":e,cesenaforl\u00EC: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\xEC-cesena":e,forlicesena:e,"xn--forlcesena-c8a":e,forl\u00ECcesena: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\u00FCdtirol: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:t,"16-b":t,"32-b":t,"64-b":t,syncloud:t}},je:{$:1,succ:{co:e,net:e,org:e}},jm:B,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:_e,gehirn:t}},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,\u6803\u6728:e,"xn--vgu402c":e,\u611B\u77E5:e,"xn--c3s14m":e,\u611B\u5A9B:e,"xn--f6qx53a":e,\u5175\u5EAB:e,"xn--8pvr4u":e,\u718A\u672C:e,"xn--uist22h":e,\u8328\u57CE:e,"xn--djrs72d6uy":e,\u5317\u6D77\u9053:e,"xn--mkru45i":e,\u5343\u8449:e,"xn--0trq7p7nn":e,\u548C\u6B4C\u5C71:e,"xn--8ltr62k":e,\u9577\u5D0E:e,"xn--2m4a15e":e,\u9577\u91CE:e,"xn--efvn9s":e,\u65B0\u6F5F:e,"xn--32vp30h":e,\u9752\u68EE:e,"xn--4it797k":e,\u9759\u5CA1:e,"xn--1lqs71d":e,\u6771\u4EAC:e,"xn--5rtp49c":e,\u77F3\u5DDD:e,"xn--5js045d":e,\u57FC\u7389:e,"xn--ehqz56n":e,\u4E09\u91CD:e,"xn--1lqs03n":e,\u4EAC\u90FD:e,"xn--qqqt11m":e,\u4F50\u8CC0:e,"xn--kbrq7o":e,\u5927\u5206:e,"xn--pssu33l":e,\u5927\u962A:e,"xn--ntsq17g":e,\u5948\u826F:e,"xn--uisz3g":e,\u5BAE\u57CE:e,"xn--6btw5a":e,\u5BAE\u5D0E:e,"xn--1ctwo":e,\u5BCC\u5C71:e,"xn--6orx2r":e,\u5C71\u53E3:e,"xn--rht61e":e,\u5C71\u5F62:e,"xn--rht27z":e,\u5C71\u68A8:e,"xn--djty4k":e,\u5CA9\u624B:e,"xn--nit225k":e,\u5C90\u961C:e,"xn--rht3d":e,\u5CA1\u5C71:e,"xn--klty5x":e,\u5CF6\u6839:e,"xn--kltx9a":e,\u5E83\u5CF6:e,"xn--kltp7d":e,\u5FB3\u5CF6:e,"xn--uuwu58a":e,\u6C96\u7E04:e,"xn--zbx025d":e,\u6ECB\u8CC0:e,"xn--ntso0iqx3a":e,\u795E\u5948\u5DDD:e,"xn--elqq16h":e,\u798F\u4E95:e,"xn--4it168d":e,\u798F\u5CA1:e,"xn--klt787d":e,\u798F\u5CF6:e,"xn--rny31h":e,\u79CB\u7530:e,"xn--7t0a264c":e,\u7FA4\u99AC:e,"xn--5rtq34k":e,\u9999\u5DDD:e,"xn--k7yn95e":e,\u9AD8\u77E5:e,"xn--tor131o":e,\u9CE5\u53D6:e,"xn--d5qv7z876c":e,\u9E7F\u5150\u5CF6:e,kawasaki:B,kitakyushu:B,kobe:B,nagoya:B,sapporo:B,sendai:B,yokohama:B,usercontent:t,blogspot:t}},ke:{$:1,succ:{ac:e,co:R,go:e,info:e,me:e,mobi:e,ne:e,or:e,sc:e,nom:t}},kg:{$:1,succ:{org:e,net:e,com:e,edu:e,gov:e,mil:e,blog:t,io:t,jp:t,tv:t,uk:t,us:t}},kh:B,ki:Fr,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:t}},kw:{$:1,succ:{com:e,edu:e,emb:e,gov:e,ind:e,net:e,org:e}},ky:W,kz:{$:1,succ:{org:e,edu:e,net:e,gov:e,mil:e,com:e,nym:t}},la:{$:1,succ:{int:e,net:e,info:e,edu:e,gov:e,per:e,com:e,org:e,bnr:t,c:t,nym:t}},lb:W,lc:{$:1,succ:{com:e,net:e,co:e,org:e,edu:e,gov:e,nym:t,oy:t}},li:{$:1,succ:{blogspot:t,caa:t,nom:t,nym:t}},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:W,ls:{$:1,succ:{ac:e,biz:e,co:e,edu:e,gov:e,info:e,net:e,org:e,sc:e,de:t}},lt:Ne,lu:Wn,lv:{$:1,succ:{com:e,edu:e,gov:e,org:e,mil:e,id:e,net:e,asn:e,conf:e,nom:t}},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:t,at:t,de:t,jp:t,to:t}},me:{$:1,succ:{co:e,net:e,org:e,edu:e,ac:e,gov:e,its:e,priv:e,c66:t,daplie:{$:2,succ:{localhost:t}},edgestack:t,couk:t,ukco:t,filegear:t,"filegear-au":t,"filegear-de":t,"filegear-gb":t,"filegear-ie":t,"filegear-jp":t,"filegear-sg":t,glitch:t,ravendb:t,barsy:t,nctu:t,soundcast:t,tcp4:t,brasilia:t,ddns:t,dnsfor:t,hopto:t,loginto:t,noip:t,webhop:t,nym:t,diskstation:t,dscloud:t,i234:t,myds:t,synology:t,wedeploy:t,yombo:t,nohost:t}},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:t,nom:t}},ml:{$:1,succ:{com:e,edu:e,gouv:e,gov:e,net:e,org:e,presse:e}},mm:B,mn:{$:1,succ:{gov:e,edu:e,org:e,nyc:t,nym:t}},mo:W,mobi:{$:1,succ:{barsy:t,dscloud:t}},mp:e,mq:e,mr:{$:1,succ:{gov:e,blogspot:t}},ms:{$:1,succ:{com:e,edu:e,gov:e,net:e,org:e,lab:t}},mt:{$:1,succ:{com:R,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\u00E7\u00F5es:e,contemporary:e,contemporaryart:e,convent:e,copenhagen:e,corporation:e,"xn--correios-e-telecomunicaes-ghc29a":e,"correios-e-telecomunica\xE7\xF5es":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\u00E4ns: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,\u05D9\u05E8\u05D5\u05E9\u05DC\u05D9\u05DD:e,"xn--h1aegh":e,\u0438\u043A\u043E\u043C: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:t,nym:t}},my:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,mil:e,name:e,blogspot:t}},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:Ze,his:Ze}},nc:{$:1,succ:{asso:e,nom:e}},ne:e,net:{$:1,succ:{adobeaemcloud:t,alwaysdata:t,cloudfront:t,t3l3p0rt:t,myfritz:t,blackbaudcdn:t,boomla:t,bplaced:t,square7:t,gb:t,hu:t,jp:t,se:t,uk:t,in:t,clic2000:t,cloudaccess:t,"cdn77-ssl":t,cdn77:{$:0,succ:{r:t}},cloudeity:t,"feste-ip":t,"knx-server":t,"static-access":t,cryptonomic:P,dattolocal:t,mydatto:t,debian:t,bitbridge:t,"at-band-camp":t,blogdns:t,"broke-it":t,buyshouses:t,dnsalias:t,dnsdojo:t,"does-it":t,dontexist:t,dynalias:t,dynathome:t,endofinternet:t,"from-az":t,"from-co":t,"from-la":t,"from-ny":t,"gets-it":t,"ham-radio-op":t,homeftp:t,homeip:t,homelinux:t,homeunix:t,"in-the-band":t,"is-a-chef":t,"is-a-geek":t,"isa-geek":t,"kicks-ass":t,"office-on-the":t,podzone:t,"scrapper-site":t,selfip:t,"sells-it":t,servebbs:t,serveftp:t,thruhere:t,webhop:t,definima:t,casacam:t,dynu:t,dynv6:t,twmail:t,ru:t,channelsdvr:{$:2,succ:{u:t}},fastlylb:{$:2,succ:{map:t}},fastly:{$:0,succ:{freetls:t,map:t,prod:{$:0,succ:{a:t,global:t}},ssl:{$:0,succ:{a:t,b:t,global:t}}}},edgeapp:t,flynnhosting:t,cloudfunctions:t,moonscale:t,"in-dsl":t,"in-vpn":t,ipifony:t,iobb:t,cloudjiffy:t,elastx:{$:0,succ:{"jls-sto1":t}},saveincloud:yn,kinghost:t,uni5:t,barsy:t,memset:t,azurewebsites:t,"azure-mobile":t,cloudapp:t,dnsup:t,hicam:t,"now-dns":t,ownip:t,vpndns:t,"eating-organic":t,mydissent:t,myeffect:t,mymediapc:t,mypsx:t,mysecuritycamera:t,nhlfan:t,"no-ip":t,pgafan:t,privatizehealthinsurance:t,bounceme:t,ddns:t,redirectme:t,serveblog:t,serveminecraft:t,sytes:t,cloudycluster:t,rackmaze:t,schokokeks:t,"firewall-gateway":t,seidat:t,senseering:t,siteleaf:t,srcf:{$:0,succ:{soc:t,user:t}},dsmynas:t,familyds:t,"community-pro":t,meinforum:t,yandexcloud:{$:2,succ:{storage:t,website:t}},za:t}},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:R,edu:e,gov:e,i:e,mil:e,mobi:e,name:e,net:e,org:e,sch:e,col:t,firm:t,gen:t,ltd:t,ngo:t}},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:{amsw:t,virtueeldomein:t,co:t,"hosting-cluster":t,blogspot:t,khplay:t,transurl:P,cistron:t,demon:t}},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:Fe,ah:Fe,bu:Fe,fm:Fe,hl:Fe,hm:Fe,"jan-mayen":Fe,mr:Fe,nl:Fe,nt:Fe,of:Fe,ol:Fe,oslo:Fe,rl:Fe,sf:Fe,st:Fe,svalbard:Fe,tm:Fe,tr:Fe,va:Fe,vf:Fe,akrehamn:e,"xn--krehamn-dxa":e,\u00E5krehamn:e,algard:e,"xn--lgrd-poac":e,\u00E5lg\u00E5rd:e,arna:e,brumunddal:e,bryne:e,bronnoysund:e,"xn--brnnysund-m8ac":e,br\u00F8nn\u00F8ysund:e,drobak:e,"xn--drbak-wua":e,dr\u00F8bak:e,egersund:e,fetsund:e,floro:e,"xn--flor-jra":e,flor\u00F8:e,fredrikstad:e,hokksund:e,honefoss:e,"xn--hnefoss-q1a":e,h\u00F8nefoss:e,jessheim:e,jorpeland:e,"xn--jrpeland-54a":e,j\u00F8rpeland:e,kirkenes:e,kopervik:e,krokstadelva:e,langevag:e,"xn--langevg-jxa":e,langev\u00E5g:e,leirvik:e,mjondalen:e,"xn--mjndalen-64a":e,mj\u00F8ndalen:e,"mo-i-rana":e,mosjoen:e,"xn--mosjen-eya":e,mosj\u00F8en:e,nesoddtangen:e,orkanger:e,osoyro:e,"xn--osyro-wua":e,os\u00F8yro:e,raholt:e,"xn--rholt-mra":e,r\u00E5holt:e,sandnessjoen:e,"xn--sandnessjen-ogb":e,sandnessj\u00F8en:e,skedsmokorset:e,slattum:e,spjelkavik:e,stathelle:e,stavern:e,stjordalshalsen:e,"xn--stjrdalshalsen-sqb":e,stj\u00F8rdalshalsen:e,tananger:e,tranby:e,vossevangen:e,afjord:e,"xn--fjord-lra":e,\u00E5fjord:e,agdenes:e,al:e,"xn--l-1fa":e,\u00E5l:e,alesund:e,"xn--lesund-hua":e,\u00E5lesund:e,alstahaug:e,alta:e,"xn--lt-liac":e,\u00E1lt\u00E1:e,alaheadju:e,"xn--laheadju-7ya":e,\u00E1laheadju:e,alvdal:e,amli:e,"xn--mli-tla":e,\u00E5mli:e,amot:e,"xn--mot-tla":e,\u00E5mot:e,andebu:e,andoy:e,"xn--andy-ira":e,and\u00F8y:e,andasuolo:e,ardal:e,"xn--rdal-poa":e,\u00E5rdal:e,aremark:e,arendal:e,"xn--s-1fa":e,\u00E5s:e,aseral:e,"xn--seral-lra":e,\u00E5seral:e,asker:e,askim:e,askvoll:e,askoy:e,"xn--asky-ira":e,ask\u00F8y:e,asnes:e,"xn--snes-poa":e,\u00E5snes:e,audnedaln:e,aukra:e,aure:e,aurland:e,"aurskog-holand":e,"xn--aurskog-hland-jnb":e,"aurskog-h\xF8land":e,austevoll:e,austrheim:e,averoy:e,"xn--avery-yua":e,aver\u00F8y:e,balestrand:e,ballangen:e,balat:e,"xn--blt-elab":e,b\u00E1l\u00E1t:e,balsfjord:e,bahccavuotna:e,"xn--bhccavuotna-k7a":e,b\u00E1hccavuotna:e,bamble:e,bardu:e,beardu:e,beiarn:e,bajddar:e,"xn--bjddar-pta":e,b\u00E1jddar:e,baidar:e,"xn--bidr-5nac":e,b\u00E1id\u00E1r:e,berg:e,bergen:e,berlevag:e,"xn--berlevg-jxa":e,berlev\u00E5g:e,bearalvahki:e,"xn--bearalvhki-y4a":e,bearalv\u00E1hki:e,bindal:e,birkenes:e,bjarkoy:e,"xn--bjarky-fya":e,bjark\u00F8y:e,bjerkreim:e,bjugn:e,bodo:e,"xn--bod-2na":e,bod\u00F8:e,badaddja:e,"xn--bdddj-mrabd":e,b\u00E5d\u00E5ddj\u00E5:e,budejju:e,bokn:e,bremanger:e,bronnoy:e,"xn--brnny-wuac":e,br\u00F8nn\u00F8y:e,bygland:e,bykle:e,barum:e,"xn--brum-voa":e,b\u00E6rum:e,telemark:{$:0,succ:{bo:e,"xn--b-5ga":e,b\u00F8:e}},nordland:{$:0,succ:{bo:e,"xn--b-5ga":e,b\u00F8:e,heroy:e,"xn--hery-ira":e,her\u00F8y:e}},bievat:e,"xn--bievt-0qa":e,biev\u00E1t:e,bomlo:e,"xn--bmlo-gra":e,b\u00F8mlo:e,batsfjord:e,"xn--btsfjord-9za":e,b\u00E5tsfjord:e,bahcavuotna:e,"xn--bhcavuotna-s4a":e,b\u00E1hcavuotna:e,dovre:e,drammen:e,drangedal:e,dyroy:e,"xn--dyry-ira":e,dyr\u00F8y:e,donna:e,"xn--dnna-gra":e,d\u00F8nna: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\u00E1\u0161\u0161i:e,"evje-og-hornnes":e,farsund:e,fauske:e,fuossko:e,fuoisku:e,fedje:e,fet:e,finnoy:e,"xn--finny-yua":e,finn\u00F8y:e,fitjar:e,fjaler:e,fjell:e,flakstad:e,flatanger:e,flekkefjord:e,flesberg:e,flora:e,fla:e,"xn--fl-zia":e,fl\u00E5:e,folldal:e,forsand:e,fosnes:e,frei:e,frogn:e,froland:e,frosta:e,frana:e,"xn--frna-woa":e,fr\u00E6na:e,froya:e,"xn--frya-hra":e,fr\u00F8ya:e,fusa:e,fyresdal:e,forde:e,"xn--frde-gra":e,f\u00F8rde:e,gamvik:e,gangaviika:e,"xn--ggaviika-8ya47h":e,g\u00E1\u014Bgaviika:e,gaular:e,gausdal:e,gildeskal:e,"xn--gildeskl-g0a":e,gildesk\u00E5l:e,giske:e,gjemnes:e,gjerdrum:e,gjerstad:e,gjesdal:e,gjovik:e,"xn--gjvik-wua":e,gj\u00F8vik:e,gloppen:e,gol:e,gran:e,grane:e,granvin:e,gratangen:e,grimstad:e,grong:e,kraanghke:e,"xn--kranghke-b0a":e,kr\u00E5anghke:e,grue:e,gulen:e,hadsel:e,halden:e,halsa:e,hamar:e,hamaroy:e,habmer:e,"xn--hbmer-xqa":e,h\u00E1bmer:e,hapmir:e,"xn--hpmir-xqa":e,h\u00E1pmir:e,hammerfest:e,hammarfeasta:e,"xn--hmmrfeasta-s4ac":e,h\u00E1mm\u00E1rfeasta:e,haram:e,hareid:e,harstad:e,hasvik:e,aknoluokta:e,"xn--koluokta-7ya57h":e,\u00E1k\u014Boluokta: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\xF8re-og-romsdal":{$:0,succ:{her\u00F8y:e,sande:e}},hitra:e,hjartdal:e,hjelmeland:e,hobol:e,"xn--hobl-ira":e,hob\u00F8l:e,hof:e,hol:e,hole:e,holmestrand:e,holtalen:e,"xn--holtlen-hxa":e,holt\u00E5len:e,hornindal:e,horten:e,hurdal:e,hurum:e,hvaler:e,hyllestad:e,hagebostad:e,"xn--hgebostad-g3a":e,h\u00E6gebostad:e,hoyanger:e,"xn--hyanger-q1a":e,h\u00F8yanger:e,hoylandet:e,"xn--hylandet-54a":e,h\u00F8ylandet:e,ha:e,"xn--h-2fa":e,h\u00E5:e,ibestad:e,inderoy:e,"xn--indery-fya":e,inder\u00F8y:e,iveland:e,jevnaker:e,jondal:e,jolster:e,"xn--jlster-bya":e,j\u00F8lster:e,karasjok:e,karasjohka:e,"xn--krjohka-hwab49j":e,k\u00E1r\u00E1\u0161johka:e,karlsoy:e,galsa:e,"xn--gls-elac":e,g\u00E1ls\u00E1:e,karmoy:e,"xn--karmy-yua":e,karm\u00F8y:e,kautokeino:e,guovdageaidnu:e,klepp:e,klabu:e,"xn--klbu-woa":e,kl\u00E6bu:e,kongsberg:e,kongsvinger:e,kragero:e,"xn--krager-gya":e,krager\u00F8:e,kristiansand:e,kristiansund:e,krodsherad:e,"xn--krdsherad-m8a":e,kr\u00F8dsherad:e,kvalsund:e,rahkkeravju:e,"xn--rhkkervju-01af":e,r\u00E1hkker\u00E1vju:e,kvam:e,kvinesdal:e,kvinnherad:e,kviteseid:e,kvitsoy:e,"xn--kvitsy-fya":e,kvits\u00F8y:e,kvafjord:e,"xn--kvfjord-nxa":e,kv\u00E6fjord:e,giehtavuoatna:e,kvanangen:e,"xn--kvnangen-k0a":e,kv\u00E6nangen:e,navuotna:e,"xn--nvuotna-hwa":e,n\u00E1vuotna:e,kafjord:e,"xn--kfjord-iua":e,k\u00E5fjord:e,gaivuotna:e,"xn--givuotna-8ya":e,g\u00E1ivuotna:e,larvik:e,lavangen:e,lavagis:e,loabat:e,"xn--loabt-0qa":e,loab\u00E1t:e,lebesby:e,davvesiida:e,leikanger:e,leirfjord:e,leka:e,leksvik:e,lenvik:e,leangaviika:e,"xn--leagaviika-52b":e,lea\u014Bgaviika:e,lesja:e,levanger:e,lier:e,lierne:e,lillehammer:e,lillesand:e,lindesnes:e,lindas:e,"xn--linds-pra":e,lind\u00E5s:e,lom:e,loppa:e,lahppi:e,"xn--lhppi-xqa":e,l\u00E1hppi:e,lund:e,lunner:e,luroy:e,"xn--lury-ira":e,lur\u00F8y:e,luster:e,lyngdal:e,lyngen:e,ivgu:e,lardal:e,lerdal:e,"xn--lrdal-sra":e,l\u00E6rdal:e,lodingen:e,"xn--ldingen-q1a":e,l\u00F8dingen:e,lorenskog:e,"xn--lrenskog-54a":e,l\u00F8renskog:e,loten:e,"xn--lten-gra":e,l\u00F8ten:e,malvik:e,masoy:e,"xn--msy-ula0h":e,m\u00E5s\u00F8y:e,muosat:e,"xn--muost-0qa":e,muos\u00E1t:e,mandal:e,marker:e,marnardal:e,masfjorden:e,meland:e,meldal:e,melhus:e,meloy:e,"xn--mely-ira":e,mel\u00F8y:e,meraker:e,"xn--merker-kua":e,mer\u00E5ker:e,moareke:e,"xn--moreke-jua":e,mo\u00E5reke: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\u00E5lselv:e,malatvuopmi:e,"xn--mlatvuopmi-s4a":e,m\u00E1latvuopmi:e,namdalseid:e,aejrie:e,namsos:e,namsskogan:e,naamesjevuemie:e,"xn--nmesjevuemie-tcba":e,n\u00E5\u00E5mesjevuemie:e,laakesvuemie:e,nannestad:e,narvik:e,narviika:e,naustdal:e,"nedre-eiker":e,akershus:Bt,buskerud:Bt,nesna:e,nesodden:e,nesseby:e,unjarga:e,"xn--unjrga-rta":e,unj\u00E1rga: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\u00E1rga:e,"nordre-land":e,nordreisa:e,raisa:e,"xn--risa-5na":e,r\u00E1isa:e,"nore-og-uvdal":e,notodden:e,naroy:e,"xn--nry-yla5g":e,n\u00E6r\u00F8y:e,notteroy:e,"xn--nttery-byae":e,n\u00F8tter\u00F8y:e,odda:e,oksnes:e,"xn--ksnes-uua":e,\u00F8ksnes:e,oppdal:e,oppegard:e,"xn--oppegrd-ixa":e,oppeg\u00E5rd:e,orkdal:e,orland:e,"xn--rland-uua":e,\u00F8rland:e,orskog:e,"xn--rskog-uua":e,\u00F8rskog:e,orsta:e,"xn--rsta-fra":e,\u00F8rsta:e,hedmark:{$:0,succ:{os:e,valer:e,"xn--vler-qoa":e,v\u00E5ler:e}},hordaland:{$:0,succ:{os:e}},osen:e,osteroy:e,"xn--ostery-fya":e,oster\u00F8y:e,"ostre-toten":e,"xn--stre-toten-zcb":e,"\xF8stre-toten":e,overhalla:e,"ovre-eiker":e,"xn--vre-eiker-k8a":e,"\xF8vre-eiker":e,oyer:e,"xn--yer-zna":e,\u00F8yer:e,oygarden:e,"xn--ygarden-p1a":e,\u00F8ygarden:e,"oystre-slidre":e,"xn--ystre-slidre-ujb":e,"\xF8ystre-slidre":e,porsanger:e,porsangu:e,"xn--porsgu-sta26f":e,pors\u00E1\u014Bgu:e,porsgrunn:e,radoy:e,"xn--rady-ira":e,rad\u00F8y:e,rakkestad:e,rana:e,ruovat:e,randaberg:e,rauma:e,rendalen:e,rennebu:e,rennesoy:e,"xn--rennesy-v1a":e,rennes\u00F8y:e,rindal:e,ringebu:e,ringerike:e,ringsaker:e,rissa:e,risor:e,"xn--risr-ira":e,ris\u00F8r:e,roan:e,rollag:e,rygge:e,ralingen:e,"xn--rlingen-mxa":e,r\u00E6lingen:e,rodoy:e,"xn--rdy-0nab":e,r\u00F8d\u00F8y:e,romskog:e,"xn--rmskog-bya":e,r\u00F8mskog:e,roros:e,"xn--rros-gra":e,r\u00F8ros:e,rost:e,"xn--rst-0na":e,r\u00F8st:e,royken:e,"xn--ryken-vua":e,r\u00F8yken:e,royrvik:e,"xn--ryrvik-bya":e,r\u00F8yrvik:e,rade:e,"xn--rde-ula":e,r\u00E5de:e,salangen:e,siellak:e,saltdal:e,salat:e,"xn--slt-elab":e,s\u00E1l\u00E1t:e,"xn--slat-5na":e,s\u00E1lat:e,samnanger:e,vestfold:{$:0,succ:{sande:e}},sandefjord:e,sandnes:e,sandoy:e,"xn--sandy-yua":e,sand\u00F8y: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\u00F8y:e,skierva:e,"xn--skierv-uta":e,skierv\u00E1:e,skjak:e,"xn--skjk-soa":e,skj\u00E5k:e,skodje:e,skanland:e,"xn--sknland-fxa":e,sk\u00E5nland:e,skanit:e,"xn--sknit-yqa":e,sk\u00E1nit:e,smola:e,"xn--smla-hra":e,sm\u00F8la:e,snillfjord:e,snasa:e,"xn--snsa-roa":e,sn\u00E5sa:e,snoasa:e,snaase:e,"xn--snase-nra":e,sn\u00E5ase: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\u00F8rdal: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\u00F8gne:e,somna:e,"xn--smna-gra":e,s\u00F8mna:e,"sondre-land":e,"xn--sndre-land-0cb":e,"s\xF8ndre-land":e,"sor-aurdal":e,"xn--sr-aurdal-l8a":e,"s\xF8r-aurdal":e,"sor-fron":e,"xn--sr-fron-q1a":e,"s\xF8r-fron":e,"sor-odal":e,"xn--sr-odal-q1a":e,"s\xF8r-odal":e,"sor-varanger":e,"xn--sr-varanger-ggb":e,"s\xF8r-varanger":e,"matta-varjjat":e,"xn--mtta-vrjjat-k7af":e,"m\xE1tta-v\xE1rjjat":e,sorfold:e,"xn--srfold-bya":e,s\u00F8rfold:e,sorreisa:e,"xn--srreisa-q1a":e,s\u00F8rreisa:e,sorum:e,"xn--srum-gra":e,s\u00F8rum:e,tana:e,deatnu:e,time:e,tingvoll:e,tinn:e,tjeldsund:e,dielddanuorri:e,tjome:e,"xn--tjme-hra":e,tj\u00F8me:e,tokke:e,tolga:e,torsken:e,tranoy:e,"xn--trany-yua":e,tran\u00F8y:e,tromso:e,"xn--troms-zua":e,troms\u00F8:e,tromsa:e,romsa:e,trondheim:e,troandin:e,trysil:e,trana:e,"xn--trna-woa":e,tr\u00E6na:e,trogstad:e,"xn--trgstad-r1a":e,tr\u00F8gstad:e,tvedestrand:e,tydal:e,tynset:e,tysfjord:e,divtasvuodna:e,divttasvuotna:e,tysnes:e,tysvar:e,"xn--tysvr-vra":e,tysv\u00E6r:e,tonsberg:e,"xn--tnsberg-q1a":e,t\u00F8nsberg:e,ullensaker:e,ullensvang:e,ulvik:e,utsira:e,vadso:e,"xn--vads-jra":e,vads\u00F8:e,cahcesuolo:e,"xn--hcesuolo-7ya35b":e,\u010D\u00E1hcesuolo:e,vaksdal:e,valle:e,vang:e,vanylven:e,vardo:e,"xn--vard-jra":e,vard\u00F8:e,varggat:e,"xn--vrggt-xqad":e,v\u00E1rgg\u00E1t:e,vefsn:e,vaapste:e,vega:e,vegarshei:e,"xn--vegrshei-c0a":e,veg\u00E5rshei:e,vennesla:e,verdal:e,verran:e,vestby:e,vestnes:e,"vestre-slidre":e,"vestre-toten":e,vestvagoy:e,"xn--vestvgy-ixa6o":e,vestv\u00E5g\u00F8y:e,vevelstad:e,vik:e,vikna:e,vindafjord:e,volda:e,voss:e,varoy:e,"xn--vry-yla5g":e,v\u00E6r\u00F8y:e,vagan:e,"xn--vgan-qoa":e,v\u00E5gan:e,voagat:e,vagsoy:e,"xn--vgsy-qoa0j":e,v\u00E5gs\u00F8y:e,vaga:e,"xn--vg-yiab":e,v\u00E5g\u00E5:e,ostfold:{$:0,succ:{valer:e}},"xn--stfold-9xa":{$:0,succ:{"xn--vler-qoa":e}},\u00F8stfold:{$:0,succ:{v\u00E5ler:e}},co:t,blogspot:t}},np:B,nr:Fr,nu:{$:1,succ:{merseine:t,mine:t,shacknet:t,nom:t,uwu:t,enterprisecloud:t}},nz:{$:1,succ:{ac:e,co:R,cri:e,geek:e,gen:e,govt:e,health:e,iwi:e,kiwi:e,maori:e,mil:e,"xn--mori-qsa":e,m\u0101ori:e,net:e,org:e,parliament:e,school:e,nym:t}},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:t,amune:{$:0,succ:{tele:t}},pimienta:t,poivron:t,potager:t,sweetpepper:t,ae:t,us:t,certmgr:t,cdn77:{$:0,succ:{c:t,rsc:t}},"cdn77-secure":{$:0,succ:{origin:{$:0,succ:{ssl:t}}}},cloudns:t,duckdns:t,tunk:t,dyndns:{$:2,succ:{go:t,home:t}},blogdns:t,blogsite:t,boldlygoingnowhere:t,dnsalias:t,dnsdojo:t,doesntexist:t,dontexist:t,doomdns:t,dvrdns:t,dynalias:t,endofinternet:t,endoftheinternet:t,"from-me":t,"game-host":t,gotdns:t,"hobby-site":t,homedns:t,homeftp:t,homelinux:t,homeunix:t,"is-a-bruinsfan":t,"is-a-candidate":t,"is-a-celticsfan":t,"is-a-chef":t,"is-a-geek":t,"is-a-knight":t,"is-a-linux-user":t,"is-a-patsfan":t,"is-a-soxfan":t,"is-found":t,"is-lost":t,"is-saved":t,"is-very-bad":t,"is-very-evil":t,"is-very-good":t,"is-very-nice":t,"is-very-sweet":t,"isa-geek":t,"kicks-ass":t,misconfused:t,podzone:t,readmyblog:t,selfip:t,sellsyourhome:t,servebbs:t,serveftp:t,servegame:t,"stuff-4-sale":t,webhop:t,ddnss:t,accesscam:t,camdvr:t,freeddns:t,mywire:t,webredirect:t,eu:{$:2,succ:{al:t,asso:t,at:t,au:t,be:t,bg:t,ca:t,cd:t,ch:t,cn:t,cy:t,cz:t,de:t,dk:t,edu:t,ee:t,es:t,fi:t,fr:t,gr:t,hr:t,hu:t,ie:t,il:t,in:t,int:t,is:t,it:t,jp:t,kr:t,lt:t,lu:t,lv:t,mc:t,me:t,mk:t,mt:t,my:t,net:t,ng:t,nl:t,no:t,nz:t,paris:t,pl:t,pt:t,"q-a":t,ro:t,ru:t,se:t,si:t,sk:t,tr:t,uk:t,us:t}},twmail:t,fedorainfracloud:t,fedorapeople:t,fedoraproject:{$:0,succ:{cloud:t,os:de,stg:{$:0,succ:{os:de}}}},freedesktop:t,hepforge:t,"in-dsl":t,"in-vpn":t,js:t,uklugs:t,barsy:t,mayfirst:t,"mozilla-iot":t,bmoattachments:t,dynserv:t,"now-dns":t,"cable-modem":t,collegefan:t,couchpotatofries:t,mlbfan:t,mysecuritycamera:t,nflfan:t,"read-books":t,ufcfan:t,hopto:t,myftp:t,"no-ip":t,zapto:t,pubtls:t,"my-firewall":t,myfirewall:t,spdns:t,dsmynas:t,familyds:t,edugit:t,tuxfamily:t,diskstation:t,hk:t,wmflabs:t,toolforge:t,wmcloud:t,za:t}},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:t,nym:t}},pf:{$:1,succ:{com:e,org:e,edu:e}},pg:B,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:t,krasnik:t,leczna:t,lubartow:t,lublin:t,poniatowa:t,swidnik:t,co:t,art:t,gliwice:t,krakow:t,poznan:t,wroc:t,zakopane:t,gda:t,gdansk:t,gdynia:t,med:t,sopot:t}},pm:{$:1,succ:{own:t}},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:t,dnstrace:{$:0,succ:{bci:t}},barsy:t}},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:t,nym:t}},pw:{$:1,succ:{co:e,ne:e,or:e,ed:e,go:e,belau:e,cloudns:t,x443:t,nom:t}},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:t,nom:t}},re:{$:1,succ:{asso:e,com:e,nom:e,blogspot:t}},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,shop:t,blogspot:t,nym:t}},rs:{$:1,succ:{ac:e,co:e,edu:e,gov:e,in:e,org:e,blogspot:t,ua:t,nom:t,ox:t}},ru:{$:1,succ:{ac:t,edu:t,gov:t,int:t,mil:t,test:t,adygeya:t,bashkiria:t,bir:t,cbg:t,com:t,dagestan:t,grozny:t,kalmykia:t,kustanai:t,marine:t,mordovia:t,msk:t,mytis:t,nalchik:t,nov:t,pyatigorsk:t,spb:t,vladikavkaz:t,vladimir:t,blogspot:t,regruhosting:yn,myjino:{$:2,succ:{hosting:P,landing:P,spectrum:P,vps:P}},cldmail:{$:0,succ:{hb:t}},net:t,org:t,pp:t,ras:t}},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:W,sc:W,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,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:t,blogspot:t,conf:t}},sg:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,per:e,blogspot:t}},sh:{$:1,succ:{com:e,net:e,gov:e,org:e,mil:e,hashbang:t,platform:{$:0,succ:{bc:t,ent:t,eu:t,us:t}},now:t,vxl:t,wedeploy:t}},si:{$:1,succ:{gitpage:t,blogspot:t,nom:t}},sj:e,sk:Wn,sl:W,sm:e,sn:{$:1,succ:{art:e,com:e,edu:e,gouv:e,org:e,perso:e,univ:e,blogspot:t}},so:{$:1,succ:{com:e,edu:e,gov:e,me:e,net:e,org:e,sch:t}},sr:e,ss:{$:1,succ:{biz:e,com:e,edu:e,gov:e,net:e,org:e}},st:{$:1,succ:{co:e,com:e,consulado:e,edu:e,embaixada:e,gov:e,mil:e,net:e,org:e,principe:e,saotome:e,store:e,nom:t,noho:t}},su:{$:1,succ:{abkhazia:t,adygeya:t,aktyubinsk:t,arkhangelsk:t,armenia:t,ashgabad:t,azerbaijan:t,balashov:t,bashkiria:t,bryansk:t,bukhara:t,chimkent:t,dagestan:t,"east-kazakhstan":t,exnet:t,georgia:t,grozny:t,ivanovo:t,jambyl:t,kalmykia:t,kaluga:t,karacol:t,karaganda:t,karelia:t,khakassia:t,krasnodar:t,kurgan:t,kustanai:t,lenug:t,mangyshlak:t,mordovia:t,msk:t,murmansk:t,nalchik:t,navoi:t,"north-kazakhstan":t,nov:t,obninsk:t,penza:t,pokrovsk:t,sochi:t,spb:t,tashkent:t,termez:t,togliatti:t,troitsk:t,tselinograd:t,tula:t,tuva:t,vladikavkaz:t,vladimir:t,vologda:t,nym:t}},sv:{$:1,succ:{com:e,edu:e,gob:e,org:e,red:e}},sx:{$:1,succ:{gov:e,nym:t}},sy:D,sz:{$:1,succ:{co:e,ac:e,org:e}},tc:{$:1,succ:{ch:t,me:t,we:t}},td:R,tel:e,tf:e,tg:e,th:{$:1,succ:{ac:e,co:e,go:e,in:e,mi:e,net:e,or:e,online:t,shop:t}},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,nom:t}},tk:e,tl:O,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,intl:e,nat:e,net:e,org:e,info:e,perso:e,tourism:e,edunet:e,rnrt:e,rns:e,rnu:e,mincom:e,agrinet:e,defense:e,turen:e}},to:{$:1,succ:{611:t,com:e,gov:e,net:e,org:e,edu:e,mil:e,oya:t,vpnplus:t,quickconnect:{$:0,succ:{direct:t}},nyan:t}},tr:{$:1,succ:{av:e,bbs:e,bel:e,biz:e,com:R,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:O}},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:t,"better-than":t,"on-the-web":t,"worse-than":t}},tw:{$:1,succ:{edu:e,gov:e,mil:e,com:{$:1,succ:{mymailer:t}},net:e,org:e,idv:e,game:e,ebiz:e,club:e,"xn--zf0ao64a":e,\u7DB2\u8DEF:e,"xn--uc0atv":e,\u7D44\u7E54:e,"xn--czrw28b":e,\u5546\u696D:e,url:t,blogspot:t,nym:t}},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:t,inf:t,ltd:t,biz:t,co:t,pp:t,v:t}},ug:{$:1,succ:{co:e,or:e,ac:e,sc:e,go:e,ne:e,com:e,org:e,blogspot:t,nom:t}},uk:{$:1,succ:{ac:e,co:{$:1,succ:{bytemark:{$:0,succ:{dh:t,vm:t}},blogspot:t,layershift:Ce,barsy:t,barsyonline:t,"nh-serv":t,"no-ip":t,wellbeingzone:t,gwiddle:t}},gov:{$:1,succ:{service:t,homeoffice:t}},ltd:e,me:e,net:e,nhs:e,org:{$:1,succ:{glug:t,lug:t,lugs:t}},plc:e,police:e,sch:B,conn:t,copro:t,barsy:t}},us:{$:1,succ:{dni:e,fed:e,isa:e,kids:e,nsn:e,ak:be,al:be,ar:be,as:be,az:be,ca:be,co:be,ct:be,dc:be,de:{$:1,succ:{k12:e,cc:e,lib:t}},fl:be,ga:be,gu:be,hi:tn,ia:be,id:be,il:be,in:be,ks:be,ky:be,la:be,ma:{$:1,succ:{k12:{$:1,succ:{pvt:e,chtr:e,paroch:e}},cc:e,lib:e}},md:be,me:be,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:be,mo:be,ms:be,mt:be,nc:be,nd:tn,ne:be,nh:be,nj:be,nm:be,nv:be,ny:be,oh:be,ok:be,or:be,pa:be,pr:be,ri:tn,sc:be,sd:tn,tn:be,tx:be,ut:be,vi:be,vt:be,va:be,wa:be,wi:be,wv:{$:1,succ:{cc:e}},wy:be,cloudns:t,drud:t,"is-by":t,"land-4-sale":t,"stuff-4-sale":t,graphox:t,freeddns:t,golffan:t,noip:t,pointto:t,platterp:t}},uy:{$:1,succ:{com:R,edu:e,gub:e,mil:e,net:e,org:e,nom:t}},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:t}},"0e":t,nom:t}},ve:{$:1,succ:{arts:e,co:e,com:e,e12:e,edu:e,firm:e,gob:e,gov:e,info:e,int:e,mil:e,net:e,org:e,rec:e,store:e,tec:e,web:e}},vg:{$:1,succ:{nom:t,at:t}},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:t}},vu:{$:1,succ:{com:e,edu:e,net:e,org:e,blog:t,dev:t,me:t,cn:t}},wf:e,ws:{$:1,succ:{com:e,net:e,org:e,gov:e,edu:e,advisor:P,cloud66:t,dyndns:t,mypets:t}},yt:e,"xn--mgbaam7a8h":e,\u0627\u0645\u0627\u0631\u0627\u062A:e,"xn--y9a3aq":e,\u0570\u0561\u0575:e,"xn--54b7fta0cc":e,\u09AC\u09BE\u0982\u09B2\u09BE:e,"xn--90ae":e,\u0431\u0433:e,"xn--90ais":e,\u0431\u0435\u043B:e,"xn--fiqs8s":e,\u4E2D\u56FD:e,"xn--fiqz9s":e,\u4E2D\u570B:e,"xn--lgbbat1ad8j":e,\u0627\u0644\u062C\u0632\u0627\u0626\u0631:e,"xn--wgbh1c":e,\u0645\u0635\u0631:e,"xn--e1a4c":e,\u0435\u044E:e,"xn--qxa6a":e,\u03B5\u03C5:e,"xn--mgbah1a3hjkrd":e,\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627:e,"xn--node":e,\u10D2\u10D4:e,"xn--qxam":e,\u03B5\u03BB:e,"xn--j6w193g":{$:1,succ:{"xn--55qx5d":e,"xn--wcvs22d":e,"xn--mxtq1m":e,"xn--gmqw5a":e,"xn--od0alg":e,"xn--uc0atv":e}},\u9999\u6E2F:{$:1,succ:{\u516C\u53F8:e,\u6559\u80B2:e,\u653F\u5E9C:e,\u500B\u4EBA:e,\u7DB2\u7D61:e,\u7D44\u7E54:e}},"xn--2scrj9c":e,\u0CAD\u0CBE\u0CB0\u0CA4:e,"xn--3hcrj9c":e,\u0B2D\u0B3E\u0B30\u0B24:e,"xn--45br5cyl":e,\u09AD\u09BE\u09F0\u09A4:e,"xn--h2breg3eve":e,\u092D\u093E\u0930\u0924\u092E\u094D:e,"xn--h2brj9c8c":e,\u092D\u093E\u0930\u094B\u0924:e,"xn--mgbgu82a":e,\u0680\u0627\u0631\u062A:e,"xn--rvc1e0am3e":e,\u0D2D\u0D3E\u0D30\u0D24\u0D02:e,"xn--h2brj9c":e,\u092D\u093E\u0930\u0924:e,"xn--mgbbh1a":e,\u0628\u0627\u0631\u062A:e,"xn--mgbbh1a71e":e,\u0628\u06BE\u0627\u0631\u062A:e,"xn--fpcrj9c3d":e,\u0C2D\u0C3E\u0C30\u0C24\u0C4D:e,"xn--gecrj9c":e,\u0AAD\u0ABE\u0AB0\u0AA4:e,"xn--s9brj9c":e,\u0A2D\u0A3E\u0A30\u0A24:e,"xn--45brj9c":e,\u09AD\u09BE\u09B0\u09A4:e,"xn--xkc2dl3a5ee0h":e,\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE:e,"xn--mgba3a4f16a":e,\u0627\u06CC\u0631\u0627\u0646:e,"xn--mgba3a4fra":e,\u0627\u064A\u0631\u0627\u0646:e,"xn--mgbtx2b":e,\u0639\u0631\u0627\u0642:e,"xn--mgbayh7gpa":e,\u0627\u0644\u0627\u0631\u062F\u0646:e,"xn--3e0b707e":e,\uD55C\uAD6D:e,"xn--80ao21a":e,\u049B\u0430\u0437:e,"xn--fzc2c9e2c":e,\u0DBD\u0D82\u0D9A\u0DCF:e,"xn--xkc2al3hye2a":e,\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8:e,"xn--mgbc0a9azcg":e,\u0627\u0644\u0645\u063A\u0631\u0628:e,"xn--d1alf":e,\u043C\u043A\u0434:e,"xn--l1acc":e,\u043C\u043E\u043D:e,"xn--mix891f":e,\u6FB3\u9580:e,"xn--mix082f":e,\u6FB3\u95E8:e,"xn--mgbx4cd0ab":e,\u0645\u0644\u064A\u0633\u064A\u0627:e,"xn--mgb9awbf":e,\u0639\u0645\u0627\u0646:e,"xn--mgbai9azgqp6j":e,\u067E\u0627\u06A9\u0633\u062A\u0627\u0646:e,"xn--mgbai9a5eva00b":e,\u067E\u0627\u0643\u0633\u062A\u0627\u0646:e,"xn--ygbi2ammx":e,\u0641\u0644\u0633\u0637\u064A\u0646:e,"xn--90a3ac":{$:1,succ:{"xn--o1ac":e,"xn--c1avg":e,"xn--90azh":e,"xn--d1at":e,"xn--o1ach":e,"xn--80au":e}},\u0441\u0440\u0431:{$:1,succ:{\u043F\u0440:e,\u043E\u0440\u0433:e,\u043E\u0431\u0440:e,\u043E\u0434:e,\u0443\u043F\u0440:e,\u0430\u043A:e}},"xn--p1ai":e,\u0440\u0444:e,"xn--wgbl6a":e,\u0642\u0637\u0631:e,"xn--mgberp4a5d4ar":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629:e,"xn--mgberp4a5d4a87g":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629:e,"xn--mgbqly7c0a67fbc":e,\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3:e,"xn--mgbqly7cvafr":e,\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647:e,"xn--mgbpl2fh":e,\u0633\u0648\u062F\u0627\u0646:e,"xn--yfro4i67o":e,\u65B0\u52A0\u5761:e,"xn--clchc0ea0b2g2a9gcd":e,\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD:e,"xn--ogbpf8fl":e,\u0633\u0648\u0631\u064A\u0629:e,"xn--mgbtf8fl":e,\u0633\u0648\u0631\u064A\u0627:e,"xn--o3cw4h":{$:1,succ:{"xn--12c1fe0br":e,"xn--12co0c3b4eva":e,"xn--h3cuzk1di":e,"xn--o3cyx2a":e,"xn--m3ch0j3a":e,"xn--12cfi8ixb8l":e}},\u0E44\u0E17\u0E22:{$:1,succ:{\u0E28\u0E36\u0E01\u0E29\u0E32:e,\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08:e,\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25:e,\u0E17\u0E2B\u0E32\u0E23:e,\u0E40\u0E19\u0E47\u0E15:e,\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23:e}},"xn--pgbs0dh":e,\u062A\u0648\u0646\u0633:e,"xn--kpry57d":e,\u53F0\u7063:e,"xn--kprw13d":e,\u53F0\u6E7E:e,"xn--nnx388a":e,\u81FA\u7063:e,"xn--j1amh":e,\u0443\u043A\u0440:e,"xn--mgb2ddes":e,\u0627\u0644\u064A\u0645\u0646:e,xxx:e,ye:B,za:{$:0,succ:{ac:e,agric:e,alt:e,co:R,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:t}},accenture:e,accountant:e,accountants:e,aco:e,actor:e,adac:e,ads:e,adult:e,aeg:e,aetna:e,afamilycompany: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:{wnext:t,run:{$:2,succ:{a:t}},web:t,hasura:t,loginline:t,netlify:t,telebit:t,vercel:t}},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:e,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,budapest:e,bugatti:e,build:e,builders:e,business:q,buy:e,buzz:e,bzh:e,cab:e,cafe:e,cal:e,call:e,calvinklein:e,cam:e,camera:e,camp:e,cancerresearch: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:t}}}},case:e,caseih:e,cash:e,casino:e,catering:e,catholic:e,cba:e,cbn:e,cbre:e,cbs:e,ceb: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:Q,cityeats:e,claims:e,cleaning:e,click:e,clinic:e,clinique:e,clothing:e,cloud:{$:1,succ:{banzai:P,statics:P,jele:t,linkyard:t,magentosite:P,perspecta:t,vapor:t,"on-rancher":P,sensiosite:P,trafficplex:t,urown:t,voorloper:t}},club:{$:1,succ:{cloudns:t,jele:t,barsy:t,pony:t}},clubmed:e,coach:e,codes:{$:1,succ:{owo:P}},coffee:e,college:e,cologne:e,comcast:e,commbank:e,community:{$:1,succ:{ravendb:t,myforum:t}},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:{de:t}},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,csc: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:t}},dev:{$:1,succ:{lcl:P,stg:P,workers:t,curv:t,fly:t,iserv:t,loginline:t,"platter-app":t,vercel:t,webhare:P}},dhl:e,diamonds:e,diet:e,digital:{$:1,succ:{cloudapps:{$:2,succ:{london:t}}}},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,duck:e,dunlop:e,dupont:e,durban:e,dvag:e,dvr:e,earth:{$:1,succ:{dapps:{$:0,succ:{"*":t,bzz:P}}}},eat:e,eco:e,edeka:e,education:q,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:P}},etisalat:e,eurovision:e,eus:{$:1,succ:{party:_e}},events:q,exchange:e,expert:e,exposed:e,express:e,extraspace:e,fage:e,fail:e,fairwinds:e,faith:Se,family:e,fan:e,fans:e,farm:{$:1,succ:{storj:t}},farmers:e,fashion:{$:1,succ:{of:t,on:t}},fast:e,fedex:e,feedback:e,ferrari:e,ferrero:e,fiat:e,fidelity:e,fido:e,film:e,final:e,finance:e,financial:q,fire:e,firestone:e,firmdale:e,fish:e,fishing:e,fit:{$:1,succ:{ptplus:t}},fitness:e,flickr:e,flights:e,flir:e,florist:e,flowers:e,fly:e,foo:e,food:e,foodnetwork:e,football:{$:1,succ:{of:t}},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,fujixerox: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:t}},gea:e,gent:e,genting:e,george:e,ggee:e,gift:e,gifts:e,gives:e,giving:e,glade: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:t}},google:e,gop:e,got:e,grainger:e,graphics:e,gratis:e,green:e,gripe:e,grocery:e,group:{$:1,succ:{discourse:t}},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:e,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:t,freesite:t,fastvps:t,myfast:t,jele:t,mircloud:t,pcloud:t,half:t}},hosting:{$:1,succ:{opencraft:t}},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:Q,institute:e,insurance:e,insure:e,intel:e,international:e,intuit:e,investments:e,ipiranga:e,irish:e,ismaili:e,ist:e,istanbul:e,itau:e,itv:e,iveco:e,jaguar:e,java:e,jcb:e,jcp: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,kim:e,kinder:e,kindle:e,kitchen:e,kiwi:e,koeln:e,komatsu:e,kosher:e,kpmg:e,kpn:e,krd:{$:1,succ:{co:t,edu:t}},kred:e,kuokgroup:e,kyoto:e,lacaixa:e,lamborghini:e,lamer:e,lancaster:e,lancia:e,land:{$:1,succ:{static:{$:2,succ:{dev:t,sites:t}}}},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,linde:e,link:{$:1,succ:{cyon:t,mypep:t,dweb:P}},lipsy:e,live:e,living:e,lixil:e,llc:e,llp:e,loan:e,loans:e,locker:e,locus:e,loft:e,lol:e,london:{$:1,succ:{in:t,of:t}},lotte:e,lotto:e,love:e,lpl:e,lplfinancial:e,ltd:e,ltda:e,lundbeck:e,lupin:e,luxe:e,luxury:e,macys:e,madrid:e,maif:e,maison:e,makeup:e,man:e,management:{$:1,succ:{router:t}},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:e,meet:e,melbourne:e,meme:e,memorial:e,men:Mt,menu:Ft,merckmsd:e,metlife: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:{$:1,succ:{and:t,for:t}},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,mutual:e,nab:e,nagoya:e,nationwide:e,natura:e,navy:e,nba:e,nec:e,netbank:e,netflix:e,network:{$:1,succ:{alces:P,co:t,arvo:t,azimuth:t}},neustar:e,new:e,newholland:e,news:e,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,off:e,office:e,okinawa:e,olayan:e,olayangroup:e,oldnavy:e,ollo:e,omega:e,one:{$:1,succ:{onred:{$:2,succ:{staging:t}},for:t,homelink:t}},ong:e,onl:e,online:Ft,onyourside:e,ooo:e,open:e,oracle:e,orange:e,organic:e,origins:e,osaka:e,otsuka:e,ott:e,ovh:{$:1,succ:{nerdpol:t}},page:{$:1,succ:{pdns:t,plesk:t,prvcy:t}},panasonic:e,paris:e,pars:e,partners:e,parts:e,party:Se,passagens:e,pay:e,pccw:e,pet:e,pfizer:e,pharmacy:e,phd:e,philips:e,phone:e,photo:e,photography:e,photos:e,physio:e,pics:e,pictet:e,pictures:{$:1,succ:{1337:t}},pid:e,pin:e,ping:e,pink:e,pioneer:e,pizza:e,place:q,play:e,playstation:e,plumbing:e,plus:e,pnc:e,pohl:e,poker:e,politie:e,porn:{$:1,succ:{indie:t}},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:Ft,pwc:e,qpon:e,quebec:e,quest:e,qvc:e,racing:e,radio:e,raid: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:Se,reviews:e,rexroth:e,rich:e,richardli:e,ricoh:e,ril:e,rio:e,rip:{$:1,succ:{clan:t}},rmit:e,rocher:e,rocks:{$:1,succ:{myddns:t,"lima-city":t,webspace:t}},rodeo:e,rogers:e,room:e,rsvp:e,rugby:e,ruhr:e,run:{$:1,succ:{hs:t,development:t,ravendb:t,repl:t}},rwe:e,ryukyu:e,saarland:e,safe:e,safety:e,sakura:e,sale:Mt,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:Q,schule:e,schwarz:e,science:Se,scjohnson:e,scot:{$:1,succ:{gov:t}},search:e,seat:e,secure:e,security:e,seek:e,select:e,sener:e,services:{$:1,succ:{loginline:t}},ses:e,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:Ft,shopping:e,shouji:e,show:e,showtime:e,shriram:e,silk:e,sina:e,singles:e,site:{$:1,succ:{cloudera:t,cyon:t,fastvps:t,jele:t,lelux:t,loginline:t,barsy:t,opensocial:t,platformsh:P,byen:t,mintere:t}},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:e,song:e,sony:e,soy:e,spa:e,space:{$:1,succ:{myfast:t,linkitools:t,uber:t,xs4all:t}},sport:e,spot:e,spreadbetting:e,srl:e,stada:e,staples:e,star:e,statebank:e,statefarm:e,stc:e,stcgroup:e,stockholm:e,storage:e,store:{$:1,succ:{shopware:t}},stream:e,studio:e,study:e,style:e,sucks:e,supplies:e,supply:e,support:Ft,surf:e,surgery:e,suzuki:e,swatch:e,swiftcover:e,swiss:e,sydney:e,systems:{$:1,succ:{knightpoint:t}},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:t,jelastic:t}},tech:e,technology:q,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:e,tokyo:e,tools:e,top:{$:1,succ:{"now-dns":t,ntdll:t}},toray:e,toshiba:e,total:e,tours:e,town:e,toyota:e,toys:e,trade:Se,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:e,wed:e,wedding:e,weibo:e,weir:e,whoswho:e,wien:e,wiki:e,williamhill:e,win:e,windows:e,wine:e,winners:e,wme:e,wolterskluwer:e,woodside:e,work:{$:1,succ:{of:t,to:t}},works:e,world:e,wow:e,wtc:e,wtf:e,xbox:e,xerox:e,xfinity:e,xihuan:e,xin:e,"xn--11b4c3d":e,\u0915\u0949\u092E:e,"xn--1ck2e1b":e,\u30BB\u30FC\u30EB:e,"xn--1qqw23a":e,\u4F5B\u5C71:e,"xn--30rr7y":e,\u6148\u5584:e,"xn--3bst00m":e,\u96C6\u56E2:e,"xn--3ds443g":e,\u5728\u7EBF:e,"xn--3oq18vl8pn36a":e,\u5927\u4F17\u6C7D\u8F66:e,"xn--3pxu8k":e,\u70B9\u770B:e,"xn--42c2d9a":e,\u0E04\u0E2D\u0E21:e,"xn--45q11c":e,\u516B\u5366:e,"xn--4gbrim":e,\u0645\u0648\u0642\u0639:e,"xn--55qw42g":e,\u516C\u76CA:e,"xn--55qx5d":e,\u516C\u53F8:e,"xn--5su34j936bgsg":e,\u9999\u683C\u91CC\u62C9:e,"xn--5tzm5g":e,\u7F51\u7AD9:e,"xn--6frz82g":e,\u79FB\u52A8:e,"xn--6qq986b3xl":e,\u6211\u7231\u4F60:e,"xn--80adxhks":e,\u043C\u043E\u0441\u043A\u0432\u0430:e,"xn--80aqecdr1a":e,\u043A\u0430\u0442\u043E\u043B\u0438\u043A:e,"xn--80asehdb":e,\u043E\u043D\u043B\u0430\u0439\u043D:e,"xn--80aswg":e,\u0441\u0430\u0439\u0442:e,"xn--8y0a063a":e,\u8054\u901A:e,"xn--9dbq2a":e,\u05E7\u05D5\u05DD:e,"xn--9et52u":e,\u65F6\u5C1A:e,"xn--9krt00a":e,\u5FAE\u535A:e,"xn--b4w605ferd":e,\u6DE1\u9A6C\u9521:e,"xn--bck1b9a5dre4c":e,\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3:e,"xn--c1avg":e,\u043E\u0440\u0433:e,"xn--c2br7g":e,\u0928\u0947\u091F:e,"xn--cck2b3b":e,\u30B9\u30C8\u30A2:e,"xn--cckwcxetd":e,\u30A2\u30DE\u30BE\u30F3:e,"xn--cg4bki":e,\uC0BC\uC131:e,"xn--czr694b":e,\u5546\u6807:e,"xn--czrs0t":e,\u5546\u5E97:e,"xn--czru2d":e,\u5546\u57CE:e,"xn--d1acj3b":e,\u0434\u0435\u0442\u0438:e,"xn--eckvdtc9d":e,\u30DD\u30A4\u30F3\u30C8:e,"xn--efvy88h":e,\u65B0\u95FB:e,"xn--fct429k":e,\u5BB6\u96FB:e,"xn--fhbei":e,\u0643\u0648\u0645:e,"xn--fiq228c5hs":e,\u4E2D\u6587\u7F51:e,"xn--fiq64b":e,\u4E2D\u4FE1:e,"xn--fjq720a":e,\u5A31\u4E50:e,"xn--flw351e":e,\u8C37\u6B4C:e,"xn--fzys8d69uvgm":e,\u96FB\u8A0A\u76C8\u79D1:e,"xn--g2xx48c":e,\u8D2D\u7269:e,"xn--gckr3f0f":e,\u30AF\u30E9\u30A6\u30C9:e,"xn--gk3at1e":e,\u901A\u8CA9:e,"xn--hxt814e":e,\u7F51\u5E97:e,"xn--i1b6b1a6a2e":e,\u0938\u0902\u0917\u0920\u0928:e,"xn--imr513n":e,\u9910\u5385:e,"xn--io0a7i":e,\u7F51\u7EDC:e,"xn--j1aef":e,\u043A\u043E\u043C:e,"xn--jlq480n2rg":e,\u4E9A\u9A6C\u900A:e,"xn--jlq61u9w7b":e,\u8BFA\u57FA\u4E9A:e,"xn--jvr189m":e,\u98DF\u54C1:e,"xn--kcrx77d1x4a":e,\u98DE\u5229\u6D66:e,"xn--kput3i":e,\u624B\u673A:e,"xn--mgba3a3ejt":e,\u0627\u0631\u0627\u0645\u0643\u0648:e,"xn--mgba7c0bbn0a":e,\u0627\u0644\u0639\u0644\u064A\u0627\u0646:e,"xn--mgbaakc7dvf":e,\u0627\u062A\u0635\u0627\u0644\u0627\u062A:e,"xn--mgbab2bd":e,\u0628\u0627\u0632\u0627\u0631:e,"xn--mgbca7dzdo":e,\u0627\u0628\u0648\u0638\u0628\u064A:e,"xn--mgbi4ecexp":e,\u0643\u0627\u062B\u0648\u0644\u064A\u0643:e,"xn--mgbt3dhd":e,\u0647\u0645\u0631\u0627\u0647:e,"xn--mk1bu44c":e,\uB2F7\uCEF4:e,"xn--mxtq1m":e,\u653F\u5E9C:e,"xn--ngbc5azd":e,\u0634\u0628\u0643\u0629:e,"xn--ngbe9e0a":e,\u0628\u064A\u062A\u0643:e,"xn--ngbrx":e,\u0639\u0631\u0628:e,"xn--nqv7f":e,\u673A\u6784:e,"xn--nqv7fs00ema":e,\u7EC4\u7EC7\u673A\u6784:e,"xn--nyqy26a":e,\u5065\u5EB7:e,"xn--otu796d":e,\u62DB\u8058:e,"xn--p1acf":e,\u0440\u0443\u0441:e,"xn--pssy2u":e,\u5927\u62FF:e,"xn--q9jyb4c":e,\u307F\u3093\u306A:e,"xn--qcka1pmc":e,\u30B0\u30FC\u30B0\u30EB:e,"xn--rhqv96g":e,\u4E16\u754C:e,"xn--rovu88b":e,\u66F8\u7C4D:e,"xn--ses554g":e,\u7F51\u5740:e,"xn--t60b56a":e,\uB2F7\uB137:e,"xn--tckwe":e,\u30B3\u30E0:e,"xn--tiq49xqyj":e,\u5929\u4E3B\u6559:e,"xn--unup4y":e,\u6E38\u620F:e,"xn--vermgensberater-ctb":e,verm\u00F6gensberater:e,"xn--vermgensberatung-pwb":e,verm\u00F6gensberatung:e,"xn--vhquv":e,\u4F01\u4E1A:e,"xn--vuq861b":e,\u4FE1\u606F:e,"xn--w4r85el8fhu5dnra":e,\u5609\u91CC\u5927\u9152\u5E97:e,"xn--w4rs40l":e,\u5609\u91CC:e,"xn--xhq521b":e,\u5E7F\u4E1C:e,"xn--zfr164b":e,\u653F\u52A1:e,xyz:{$:1,succ:{blogsite:t,fhapp:t,crafting:t,zapto:t,telebit:P}},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:t,hs:t,triton:P,lima:t}},zuerich:e}}}();function Ru(e,D,t,R){let O=null,P=D;for(;P!==void 0&&(P.$&R&&(O={index:t+1,isIcann:P.$===1,isPrivate:P.$===2}),t!==-1);){let B=P.succ;P=B&&(B[e[t]]||B["*"]),t-=1}return O}function ei(e,D,t){if(gl(e,D,t)===!0)return;let R=e.split("."),O=(D.allowPrivateDomains===!0?2:0)|(D.allowIcannDomains===!0?1:0),P=Ru(R,ml,R.length-1,O);if(P!==null){t.isIcann=P.isIcann,t.isPrivate=P.isPrivate,t.publicSuffix=R.slice(P.index+1).join(".");return}let B=Ru(R,hl,R.length-1,O);if(B!==null){t.isIcann=B.isIcann,t.isPrivate=B.isPrivate,t.publicSuffix=R.slice(B.index).join(".");return}t.isIcann=!1,t.isPrivate=!1,t.publicSuffix=R[R.length-1]}let or=xu();function ti(e,D={}){return Za(e,5,ei,D,xu())}function yl(e,D={}){return ku(or),Za(e,0,ei,D,or).hostname}function bl(e,D={}){return ku(or),Za(e,2,ei,D,or).publicSuffix}var Ke=function(){function e(D,t){if(!D)throw new SyntaxError("Modifier $domain cannot be empty");for(var R=[],O=[],P=D.toLowerCase().split(t),B=0;B0?O:null,this.permittedDomains=R.length>0?R:null}return e.isDomainOrSubdomainOfAny=function(D,t){for(var R=0;R0&&e[q-1]===t;ie?(O&&B.splice(B.length-1,1),B.push(Q)):W(),se&&W()}else se?(B.push(Q),W()):B.push(Q)}return R||(P=P.filter(function(ce){return!!ce})),P}function Su(e,D,t){if(e.length-D=0&&(O===0||e[O-1]!=="\\")){var B=R.pop();B?B!==P&&(R.push(B),R.push(P)):R.push(P)}}return!1}function At(e){if(e.length===0)return 0;for(var D=5381,t=0;t>>0}function ai(e,D,t){if(t===void 0&&(t=0),e.length<=t)return-1;for(var R=t;R-1)return R}return-1}function Mn(e,D,t){return e&&e.split(D).join(t)}function Tu(e,D){if(!e||!D)return!e&&!D;if(e.length!==D.length)return!1;for(var t=0;t2&&arguments[2]!==void 0?arguments[2]:!1,d=JSON.stringify(n),o=n.args?"[".concat(n.args.map(function(v){return JSON.stringify(v)}),"]"):void 0,g=o?"".concat(d,", ").concat(o):d;return u?`(function(source, args){ +`.concat(r,` +})(`).concat(g,");"):"(".concat(r,")(").concat(g,");")}function R(n){return`function(source, args){ +`.concat(n,` +}`)}var O=function(r){return Object.keys(r).length===0&&!r.prototype},P=function(r,u){var d=Object.getOwnPropertyDescriptor(r,u);return d&&d.configurable?d:null};function B(n,r,u){var d=Object.getOwnPropertyDescriptor(n,r);return d&&!d.configurable?!1:(Object.defineProperty(n,r,u),!0)}function W(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof RegExp)}var q=function(r){var u=Number.isNaN||window.isNaN;return u(r)},Q=function(r){var u=Number.isFinite||window.isFinite;return u(r)},se=function(r){var u=parseInt(r,10),d=q(u)?null:u;return d};function ie(n,r){return n=Math.ceil(n),r=Math.floor(r),Math.floor(Math.random()*(r-n+1)+n)}var ce=function(r,u,d){return r.split(u).join(d)},pe=function(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},de=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",u=".?",d="/";if(r==="")return new RegExp(u);var o=r.lastIndexOf(d),g=r.substring(o+1),v=r.substring(0,o+1),h=function(i){if(!i)return!1;try{return new RegExp("",i),!0}catch{return!1}},m=function(i,a){return i.startsWith(d)&&i.endsWith(d)&&!i.endsWith("\\/")&&h(a)?a:""},y=m(v,g);if(r.startsWith(d)&&r.endsWith(d)||y){var f=y?v:r;return new RegExp(f.slice(1,-1),y)}var l=r.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(l)},Ce=function(r){var u="/",d=pe(r);r[0]===u&&r[r.length-1]===u&&(d=r.slice(1,-1));var o;try{o=new RegExp(d),o=!0}catch{o=!1}return o},_e=function(r,u){var d=r.search(u);return r.substring(0,d)},Se=function(r,u){if(!r)return r;var d=r.indexOf(u);return d<0?"":r.substring(d+u.length)},Ne=function(r,u){if(!r||!u)return r;var d=r.indexOf(u);return d<0?r:r.substring(0,d)},dt=function(r){return(r[0]==="'"&&r[r.length-1]==="'"||r[0]==='"'&&r[r.length-1]==='"')&&(r=r.substring(1,r.length-1)),r=r.replace(/\'/g,'"'),"'".concat(r,"'")},Fr=function(r){var u=r.indexOf("("),d=r.lastIndexOf(")");return r.substring(u+1,d)},Wn=function(r){var u="undefined",d=u;if(r===null)d="null";else if(r instanceof Object){var o="iceServers",g="urls";Object.prototype.hasOwnProperty.call(r,o)&&r[o]&&Object.prototype.hasOwnProperty.call(r[o][0],g)&&r[o][0][g]&&(d=r[o][0][g].toString())}return d},Mt=function(r){var u="!",d=r;return r!=null&&r.startsWith(u)&&(d=r.slice(1)),Ce(d)},Ft=function(r){var u="!",d=r;r!=null&&r.startsWith(u)&&(d=r.slice(1));var o=parseFloat(d);return!q(o)&&Q(o)},Ze=function(r){var u="!",d=r?r?.startsWith(u):!1,o=d?r.slice(1):r,g=de(o);return{isInvertedMatch:d,matchRegexp:g,matchValue:o}},yn=function(r){var u="!",d=r?.startsWith(u),o=d?r.slice(1):r,g=parseInt(o,10),v=q(g)?null:g;return{isInvertedDelayMatch:d,delayMatch:v}},Fe=function n(r){return!r||typeof r!="object"?String(r):O(r)?"{}":Object.entries(r).map(function(u){var d=u[0],o=u[1],g=o;return o instanceof Object&&(g="{ ".concat(n(o)," }")),"".concat(d,':"').concat(g,'"')}).join(" ")},Bt=function(r){var u;return typeof r>"u"?u="undefined":typeof r=="object"?r===null?u="null":u=Fe(r):u=String(r),u};function be(n){for(var r="",u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+=~",d=u.length,o=0;oo){var g=d;d=o,o=g}var v=500*1e3;if(o>v)return null;var h=ie(d,o);return r=be(h),r}function Hn(n){if(n!=="undefined"){if(n==="false")return!1;if(n==="true")return!0;if(n==="null")return null;if(n==="NaN")return NaN;if(n.startsWith("/")&&n.endsWith("/"))return de(n);var r=32767,u=Number(n);if(!q(u)){if(Math.abs(u)>r)throw new Error("number values bigger than 32767 are not allowed");return u}var d="'".concat(n,"' value type can't be inferred");try{var o=JSON.parse(n);if(o instanceof Object||typeof o=="string")return o}catch(g){d+=": ".concat(g)}throw new TypeError(d)}}function Id(n,r,u,d){for(var o=u||Object.keys(r)[0],g=0;go&&(v=o),v},Fi=function(r){var u=[];r.forEach(function(g){return u.push(g)});for(var d=[];u.length;){var o=u.pop();Array.isArray(o)?o.forEach(function(g){return u.push(g)}):d.push(o)}return d.reverse()},Bd=function(r){return!!r},Ci=function(r){for(var u=[],d=0;d2&&arguments[2]!==void 0?arguments[2]:!1,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,g=r.name,v=r.verbose;if(!(!d&&!v)){var h=console.log;if(!o){h("".concat(g,":"),u);return}h("".concat(g,": ").concat(u))}},z=function(r){if(r.verbose===!0){try{var u=console.log.bind(console),d=console.trace.bind(console),o=r.ruleText||"";if(r.domainName){var g="#%#//",v="##+js",h;r.ruleText.includes(g)?h=r.ruleText.indexOf(g):r.ruleText.includes(v)&&(h=r.ruleText.indexOf(v));var m=r.ruleText.slice(h);o="".concat(r.domainName).concat(m)}u("".concat(o," trace start")),d&&d(),u("".concat(o," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(r)}},xi=function(r,u,d){return r.setAttribute(u,d)},bn=function(r,u,d,o){var g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:xi,v;try{v=document.querySelectorAll(u)}catch{J(r,'Failed to find elements matching selector "'.concat(u,'"'));return}if(!(!v||v.length===0))try{v.forEach(function(h){return g(h,d,o)}),z(r)}catch{J(r,"Failed to set [".concat(d,'="').concat(o,'"] to each of selected elements.'))}},fs=function(r){if(!r)return[];for(var u="=",d=" ",o="'",g='"',v="\\",h=[],m=0;m3&&arguments[3]!==void 0?arguments[3]:"",g=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,v=";";if(!g&&"".concat(u).includes(v)||r.includes(v))return null;var h=g?encodeURIComponent(u):u,m="".concat(r,"=").concat(h),y=Vn(d);return y&&(m+="; ".concat(y)),o&&(m+="; domain=".concat(o)),m},Or=function(r){if(!r)return null;var u=new Set(["true","t","false","f","yes","y","no","n","ok","on","off","accept","accepted","notaccepted","reject","rejected","allow","allowed","disallow","deny","enable","enabled","disable","disabled","necessary","required"]),d;if(u.has(r.toLowerCase()))d=r;else if(/^\d+$/.test(r)){if(d=parseFloat(r),q(d)||Math.abs(d)<0||Math.abs(d)>32767)return null}else return null;return d},Un=function(r){var u="=",d=";",o=r.split(d),g={};return o.forEach(function(v){var h,m="",y=v.indexOf(u);y===-1?h=v.trim():(h=v.slice(0,y).trim(),m=v.slice(y+1)),g[h]=m||null}),g},Wt=function(r,u,d){return r.split(";").some(function(o){var g=o.indexOf("=");if(g===-1)return!1;var v=o.slice(0,g).trim(),h=o.slice(g+1).trim();return u===v&&d===h})},jr=function(r){var u="1year",d="1day",o=1e3,g=365*24*60*60,v=24*60*60,h;if(r===u)h=g;else if(r===d)h=v;else if(h=Number.parseInt(r,10),Number.isNaN(h))return null;return h*o},G=function(){},ki=function(){return G},Ct=function(){return null},rt=function(){return!0},Ht=function(){return!1};function Re(){return this}var ut=function(){return""},He=function(){return[]},Ri=function(){return{}},Si=function(){throw new Error},Pr=function(){return Promise.resolve(void 0)},ps=function(){return Promise.resolve(null)},Ti=function(){return Promise.reject()},Vt=function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"{}",u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"basic";if(!(typeof Response>"u")){var o=new Response(r,{status:200,statusText:"OK"});return d==="opaque"?Object.defineProperties(o,{body:{value:null},status:{value:0},statusText:{value:""},url:{value:""},type:{value:d}}):Object.defineProperties(o,{url:{value:u},type:{value:d}}),Promise.resolve(o)}},ft=function(r,u){var d="inlineScript",o="injectedScript",g="",v=function(a){return a.includes(d)},h=function(a){return a.includes(o)};if(!(v(r)||h(r)))return!1;var m=window.location.href,y=m.indexOf("#");y!==-1&&(m=m.slice(0,y));var f=u.split(` +`).slice(2).map(function(i){return i.trim()}),l=f.map(function(i){var a,c=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(i);if(c){var p,E,A=c[2];if((p=A)!==null&&p!==void 0&&p.startsWith("(")&&(A=A.slice(1)),(E=A)!==null&&E!==void 0&&E.startsWith(g)){var b;A=o;var F=c[1]!==void 0?c[1].slice(0,-1):i.slice(0,c.index).trim();(b=F)!==null&&b!==void 0&&b.startsWith("at")&&(F=F.slice(2).trim()),a="".concat(F," ").concat(A).trim()}else a=A}else a=i;return a});if(l){for(var s=0;s1&&arguments[1]!==void 0?arguments[1]:document.documentElement,u=" >>> ",d=n.indexOf(u);if(d===-1)return r.querySelector(n);var o=n.slice(0,d).trim(),g=r.querySelector(o);if(!g||!g.shadowRoot)return null;var v=n.slice(d+u.length).trim();return Oi(v,g.shadowRoot)}var xt=function(r){return r instanceof Function||typeof r=="string"},ji=function(r){var u=Math.floor(parseInt(r,10));return typeof u=="number"&&!q(u)?u:r},Ir=function(r){var u=r.callback,d=r.delay,o=r.matchCallback,g=r.matchDelay;if(!xt(u)||!Mt(o)||g&&!Ft(g))return!1;var v=Ze(o),h=v.isInvertedMatch,m=v.matchRegexp,y=yn(g),f=y.isInvertedDelayMatch,l=y.delayMatch,s=ji(d),i=!1,a=String(u);return l===null?i=m.test(a)!==h:o?i=m.test(a)!==h&&s===l!==f:i=s===l!==f,i},vs=function(r){var u;if(!r)u=G;else if(r==="trueFunc")u=rt;else if(r.includes("=")){var d=r.startsWith("{")&&r.endsWith("}");if(d){var o=r.slice(1,-1),g=Ne(o,"="),v=Se(o,"=");v==="noopFunc"&&(u={},u[g]=G)}}return u},gs=function(r){var u=function(m){return m.Object="data",m.Iframe="src",m}({}),d=r.replacement,o=r.url,g=r.delay,v;d==="obj"?v="object":v="iframe";var h=document.createElement(v);return h instanceof HTMLObjectElement?h[u.Object]=o:h instanceof HTMLIFrameElement&&(h[u.Iframe]=o),h.style.setProperty("height","1px","important"),h.style.setProperty("position","fixed","important"),h.style.setProperty("top","-1px","important"),h.style.setProperty("width","1px","important"),document.body.appendChild(h),setTimeout(function(){return h.remove()},g*1e3),h},ms=function(r){var u=function(o,g){return g&&g==="closed"?!1:typeof r=="function"?G:g&&o[g]};return u};function pt(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],o=r.indexOf(".");if(o===-1){if(r==="*"||r==="[]")for(var g in n)Object.prototype.hasOwnProperty.call(n,g)&&d.push({base:n,prop:g});else d.push({base:n,prop:r});return d}var v=r.slice(0,o),h=v==="[]"&&Array.isArray(n)||v==="*"&&n instanceof Object;if(h){var m=r.slice(o+1),y=Object.keys(n);y.forEach(function(l){var s=n[l];pt(s,m,u,d)})}Array.isArray(n)&&n.forEach(function(l){var s=l;s!==void 0&&pt(s,r,u,d)});var f=n[v];return r=r.slice(o+1),f!==void 0&&pt(f,r,u,d),d}var vt=function(){var r=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),u=r?.value;if(r&&typeof r.value=="function")return u;throw new Error("RegExp.prototype.test is not a function")},Ve=function(r,u){if(!r||r===""||ft(r,u))return!0;var d=de(r),o=u.split(` +`).slice(2).map(function(g){return g.trim()}).join(` +`);return vt().call(d,o)};function Dn(n,r,u,d,o,g){if(!r)return!1;var v=g.nativeStringify,h;if(u.length===0&&d.length>0){var m=v(r),y=de(d.join("")),f=y.test(m);if(f)return J(n,"".concat(window.location.hostname,` +`).concat(v(r,null,2),` +Stack trace: +`).concat(new Error().stack),!0),r&&typeof r=="object"&&J(n,r,!0,!1),h=!1,h}if(o&&!Ve(o,new Error().stack||""))return h=!1,h;for(var l=[".*.","*.",".*",".[].","[].",".[]"],s=function(){var p=d[i],E=p.split(".").pop(),A=l.some(function(k){return p.includes(k)}),b=pt(r,p,A);if(!b.length)return h=!1,{v:h};h=!A;for(var F=0;F1&&arguments[1]!==void 0?arguments[1]:{body:"{}"},o={};r==null||(u=r.headers)===null||u===void 0||u.forEach(function(v,h){o[h]=v});var g=new Response(d.body,{status:r.status,statusText:r.statusText,headers:o});return Object.defineProperties(g,{url:{value:r.url},type:{value:d.type||r.type}}),g},Nr=function(r,u){var d=r.bodyUsed,o=r.headers,g=r.ok,v=r.redirected,h=r.status,m=r.statusText,y=r.type,f=r.url,l=new Response(u,{status:h,statusText:m,headers:o});return Object.defineProperties(l,{url:{value:f},type:{value:y},ok:{value:g},bodyUsed:{value:d},redirected:{value:v}}),l},gt=function(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]},Mr=function(r){var u=gt(),d=u.map(function(o){var g=r[o];return[o,g]});return Object.fromEntries(d)},En=function(r,u){var d={},o=r[0],g,v;if(o instanceof Request){var h=u.call(o),m=Mr(h);g=m.url,v=m}else g=o,v=r[1];if(d.url=g,v instanceof Object){var y=Object.keys(v);y.forEach(function(f){d[f]=v[f]})}return d},mt=function(r,u,d,o,g){return{method:r,url:u,async:d,user:o,password:g}},kt=function(r){var u=" ",d=":",o=function(m){return gt().includes(m)},g={},v=r.split(u);return v.forEach(function(h){var m=h.indexOf(d),y=h.slice(0,m);if(o(y)){var f=h.slice(m+1);g[y]=f}else g.url=h}),g},Rt=function(r){return Object.values(r).every(function(u){return Ce(u)})},St=function(r){var u={},d=Object.keys(r);return d.forEach(function(o){u[o]=de(r[o])}),u},wn=function(r,u,d,o){try{u.setItem(d,o)}catch(v){var g="Unable to set sessionStorage item due to: ".concat(v.message);J(r,g)}},Br=function(r,u,d){try{if(d.startsWith("/")&&(d.endsWith("/")||d.endsWith("/i"))&&Ce(d)){var o=de(d),g=Object.keys(u);g.forEach(function(h){o.test(h)&&u.removeItem(h)})}else u.removeItem(d)}catch(h){var v="Unable to remove storage item due to: ".concat(h.message);J(r,v)}},Lr=function(r){if(typeof r!="string")throw new Error("Invalid value");var u=new Set(["undefined","false","true","null","","yes","no","on","off"]),d;if(u.has(r.toLowerCase()))d=r;else if(r==="emptyArr")d="[]";else if(r==="emptyObj")d="{}";else if(/^\d+$/.test(r)){if(d=parseFloat(r),q(d))throw new Error("Invalid value");if(Math.abs(d)>32767)throw new Error("Invalid value")}else if(r==="$remove$")d="$remove$";else throw new Error("Invalid value");return d};function Me(){return Math.random().toString(36).slice(2,9)}function $e(n){var r=window.onerror;return function(d){if(typeof d=="string"&&d.includes(n))return!0;if(r instanceof Function){for(var o=arguments.length,g=new Array(o>1?o-1:0),v=1;v1?r-1:0),d=1;d1&&arguments[1]!==void 0?arguments[1]:!1,d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],o=20,g=new MutationObserver(ht(m,o)),v=function(){d.length>0?g.observe(document.documentElement,{childList:!0,subtree:!0,attributes:u,attributeFilter:d}):g.observe(document.documentElement,{childList:!0,subtree:!0,attributes:u})},h=function(){g.disconnect()};function m(){h(),r(),v()}v()},Pi=function(r){for(var u=[],d=0;d1&&arguments[1]!==void 0?arguments[1]:{subtree:!0,childList:!0},d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,o=new MutationObserver(function(g,v){v.disconnect(),r(g,v),v.observe(document.documentElement,u)});o.observe(document.documentElement,u),typeof d=="number"&&setTimeout(function(){return o.disconnect()},d)},Hr=function(r){var u=" ",d="asap",o="complete",g="stay",v=[g,d,o],h=r.trim().split(u).filter(function(m){return v.includes(m)});return{ASAP:d,COMPLETE:o,STAY:g,hasFlag(m){return h.includes(m)}}},Fn=function(r){var u="$now$",d="$currentDate$",o=r;return r===u?o=Date.now().toString():r===d&&(o=Date()),o},bs=function(r,u,d){var o=function(h,m,y){var f=Reflect.apply(h,m,y);return m&&m.matches(u||"*")&&d(f),f},g={apply:o};r.Element.prototype.attachShadow=new Proxy(r.Element.prototype.attachShadow,g)},Vr=function(r,u){var d=document.querySelectorAll(r),o=Ci(d);u(o)},Ur=function(r,u){var d=Pi(r);u(d)},qr=function(r,u,d){var o=r.nodeName,g=r.textContent,v=o.toLowerCase();return g!==null&&g!==""&&(u instanceof RegExp?u.test(v):u===v)&&(d instanceof RegExp?d.test(g):g.includes(d))},zr=function(r,u,d,o){var g=u.textContent;g&&(u.textContent=g.replace(d,o),z(r))},Xr=function(r,u){var d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,o="/",g=!(r.startsWith(o)&&r.endsWith(o)),v=g?r:"*",h=g?r:de(r),m=u.startsWith(o)?de(u):u,y;return d&&(y=d.startsWith(o)?de(d):d),{selector:v,nodeNameMatch:h,textContentMatch:m,patternMatch:y}};function Gr(n,r){return typeof n=="function"?!1:q(n)?q(r):n===null||typeof n>"u"||typeof n=="number"||typeof n=="boolean"?n===r:typeof n=="string"?typeof r=="string"||r instanceof RegExp?Ds(n,r):!1:Array.isArray(n)&&Array.isArray(r)?ws(n,r):W(n)&&W(r)?Es(n,r):!1}function Ds(n,r){return typeof r=="string"?r===""?n===r:n.includes(r):r instanceof RegExp?r.test(n):!1}function Es(n,r){for(var u=Object.keys(r),d=0;d2&&arguments[2]!==void 0?arguments[2]:"",d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:NaN;if(r){var o=1e4,g=20,v=150,h="cookie:",m="localStorage:",y=",",f=";",l=/(,\s*){1}(?=!?cookie:|!?localStorage:)/,s=function(Z){return new Promise(function(Y){return setTimeout(Y,Z)})},i;if(d){i=parseInt(d,10);var a=!Number.isNaN(i)||i0){var k=Un(E.join(f)),w=Un(document.cookie),S=Object.keys(w);if(S.length===0)return;var j=Object.keys(k).every(function(X){var Z=k[X]?de(k[X]):null,Y=de(X);return S.some(function(oe){var te=Y.test(oe);return te?Z?Z.test(w[oe]):!0:!1})}),C=j!==b;if(!C)return}if(A.length>0){var T=A.every(function(X){var Z=window.localStorage.getItem(X);return Z||Z===""}),_=T!==F;if(!_)return}var I=r.split(y).map(function(X){return X.trim()}),L=function(Z){return{element:Z||null,clicked:!1}},N=Array(I.length).fill(L()),$=async function(){for(var Z=0;Z=1&&await s(v),!Y.element)break;Y.clicked||(Y.element.click(),Y.clicked=!0)}var oe=N.every(function(te){return te.clicked===!0});oe&&z(n)},M=function(Z,Y){var oe=L(Z);N[Y]=oe,p&&$()},V=function(Z,Y){var oe=[];I.forEach(function(ne,K){if(ne){var re=Oi(ne);re&&(M(re,K),oe.push(ne))}}),I=I.map(function(ne){return oe.includes(ne)?null:ne});var te=I.every(function(ne){return ne===null});te&&Y.disconnect()},U=new MutationObserver(ht(V,g));U.observe(document.documentElement,{attributes:!0,childList:!0,subtree:!0}),i&&setTimeout(function(){$(),p=!0},i),setTimeout(function(){return U.disconnect()},o)}}_i.names=["trusted-click-element"],_i.injections=[z,de,Un,ht,J,Ze,Oi];function Ii(n,r){if(r){var u=Me(),d=function(){throw z(n),new ReferenceError(u)},o=function g(v,h){var m=ke(v,h),y=m.base,f=m.prop,l=m.chain;if(l){var s=function(a){y=a,a instanceof Object&&g(a,l)};Object.defineProperty(v,f,{get:function(){return y},set:s});return}B(y,f,{get:d,set:function(){}})};o(window,r),window.onerror=$e(u).bind()}}Ii.names=["abort-on-property-read","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"],Ii.injections=[Me,B,ke,$e,z,O];function Ni(n,r){if(r){var u=Me(),d=function(){throw z(n),new ReferenceError(u)},o=function g(v,h){var m=ke(v,h),y=m.base,f=m.prop,l=m.chain;if(l){var s=function(a){y=a,a instanceof Object&&g(a,l)};Object.defineProperty(v,f,{get:function(){return y},set:s});return}B(y,f,{set:d})};o(window,r),window.onerror=$e(u).bind()}}Ni.names=["abort-on-property-write","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"],Ni.injections=[Me,B,ke,$e,z,O];function Mi(n,r,u){var d=typeof r>"u"&&typeof u>"u",o=function(h,m,y){var f=y[0],l=y[1],s=!1;return d?(z(n),J(n,"setTimeout(".concat(String(f),", ").concat(l,")"),!0)):s=Ir({callback:f,delay:l,matchCallback:r,matchDelay:u}),s&&(z(n),y[0]=G),h.apply(m,y)},g={apply:o};window.setTimeout=new Proxy(window.setTimeout,g)}Mi.names=["prevent-setTimeout","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"],Mi.injections=[z,G,Ir,J,Ze,yn,de,q,xt,Mt,pe,Ce,Q,Ft,ji];function Bi(n,r,u){var d=typeof r>"u"&&typeof u>"u",o=function(h,m,y){var f=y[0],l=y[1],s=!1;return d?(z(n),J(n,"setInterval(".concat(String(f),", ").concat(l,")"),!0)):s=Ir({callback:f,delay:l,matchCallback:r,matchDelay:u}),s&&(z(n),y[0]=G),h.apply(m,y)},g={apply:o};window.setInterval=new Proxy(window.setInterval,g)}Bi.names=["prevent-setInterval","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"],Bi.injections=[z,G,Ir,J,de,q,Ze,yn,xt,Mt,Ce,pe,Q,Ft,ji];function Li(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"*",u=arguments.length>2?arguments[2]:void 0,d=arguments.length>3?arguments[3]:void 0,o=window.open,g=r!=="0"&&r!=="1",v=function(y){r=Number(r)>0;for(var f=arguments.length,l=new Array(f>1?f-1:0),s=1;s1?l-1:0),i=1;i0?", ".concat(s.join(", ")):"",c="".concat(y).concat(a);J(n,c,!0),z(n)}var p=!1;if(r==="*")p=!0;else if(Mt(r)){var E=Ze(r),A=E.isInvertedMatch,b=E.matchRegexp;p=b.test(y)!==A}else J(n,"Invalid parameter: ".concat(r)),p=!1;if(p){var F=parseInt(u,10),x;if(q(F))x=Ct();else{var k={replacement:d,url:y,delay:F},w=gs(k),S=w.contentWindow;if(typeof S=="object"&&S!==null)Object.defineProperty(S,"closed",{value:!1}),Object.defineProperty(S,"opener",{value:window}),Object.defineProperty(S,"frameElement",{value:null});else{var j=w.contentWindow&&w.contentWindow.get;Object.defineProperty(w,"contentWindow",{get:ms(j)}),S=w.contentWindow}x=S}return z(n),x}return o.apply(window,[y,...s])};window.open=g?h:v,window.open.toString=o.toString.bind(o)}Li.names=["prevent-window-open","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"],Li.injections=[z,Ce,pe,Mt,de,q,Ze,vs,gs,ms,Ct,J,G,rt,Ne,Se];function $i(n,r,u){var d=de(u),o=Me(),g="data:text/javascript;base64,",v=function(){if("currentScript"in document)return document.currentScript;var l=document.getElementsByTagName("script");return l[l.length-1]},h=v(),m=function(){var l,s=v();if(s){var i=s.textContent;try{var a=Object.getOwnPropertyDescriptor(Node.prototype,"textContent").get;i=a.call(s)}catch{}if(i.length===0&&typeof s.src<"u"&&(l=s.src)!==null&&l!==void 0&&l.startsWith(g)){var c=s.src.slice(g.length);i=window.atob(c)}if(s instanceof HTMLScriptElement&&i.length>0&&s!==h&&d.test(i))throw z(n),new ReferenceError(o)}},y=function f(l,s){var i=ke(l,s),a=i.base,c=i.prop,p=i.chain;if(!(a instanceof Object)&&a===null){var E=s.split("."),A=E.indexOf(c),b=E[A-1],F="The scriptlet had been executed before the ".concat(b," was loaded.");J(n,F);return}if(p){var x=function(C){a=C,C instanceof Object&&f(C,p)};Object.defineProperty(l,c,{get:function(){return a},set:x});return}var k=a[c],w=Object.getOwnPropertyDescriptor(a,c);(!(w instanceof Object)||!(w.get instanceof Function))&&(k=a[c],w=void 0);var S=Object.assign($r(),{currentValue:k,get(){return this.isAbortingSuspended||this.isolateCallback(m),w instanceof Object?w.get.call(a):this.currentValue},set(j){this.isAbortingSuspended||this.isolateCallback(m),w instanceof Object?w.set.call(a,j):this.currentValue=j}});B(a,c,{get(){return S.get.call(S)},set(j){S.set.call(S,j)}})};y(window,r),window.onerror=$e(o).bind()}$i.names=["abort-current-inline-script","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"],$i.injections=[Me,B,ke,de,$e,z,J,O,$r];function Wi(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,v=["set-constant.js","ubo-set-constant.js","set.js","ubo-set.js","ubo-set-constant","ubo-set"];if(v.includes(n.name)&&(d.length!==1&&!se(d)&&(o=d),d=void 0),!(!r||!Ve(d,new Error().stack))){var h=!1,m=He(),y=Ri(),f;if(u==="undefined")f=void 0;else if(u==="false")f=!1;else if(u==="true")f=!0;else if(u==="null")f=null;else if(u==="emptyArr")f=m;else if(u==="emptyObj")f=y;else if(u==="noopFunc")f=G;else if(u==="noopCallbackFunc")f=ki;else if(u==="trueFunc")f=rt;else if(u==="falseFunc")f=Ht;else if(u==="throwFunc")f=Si;else if(u==="noopPromiseResolve")f=Vt;else if(u==="noopPromiseReject")f=Ti;else if(/^\d+$/.test(u)){if(f=parseFloat(u),q(f)||Math.abs(f)>32767)return}else if(u==="-1")f=-1;else if(u==="")f="";else if(u==="yes")f="yes";else if(u==="no")f="no";else return;var l=["asFunction","asCallback","asResolved","asRejected"];if(l.includes(o)){var s={asFunction(E){return function(){return E}},asCallback(E){return function(){return function(){return E}}},asResolved(E){return Promise.resolve(E)},asRejected(E){return Promise.reject(E)}};f=s[o](f)}var i=!1,a=function(A){return i||(i=A!==void 0&&f!==void 0&&typeof A!=typeof f&&A!==null,i)},c=function(A,b,F,x){if(!x.init(A[b]))return!1;var k=Object.getOwnPropertyDescriptor(A,b),w;if(k instanceof Object){if(!k.configurable){var S="Property '".concat(b,"' is not configurable");return J(n,S),!1}A[b]&&(A[b]=f),k.set instanceof Function&&(w=k.set)}return Object.defineProperty(A,b,{configurable:F,get(){return x.get()},set(j){if(w!==void 0&&w(j),j instanceof Object){var C=r.split(".").slice(1);g&&!h&&(h=!0,j=new Proxy(j,{get:function(_,I,L){return C.reduce(function(N,$,M,V){var U=N?.[$];return M===V.length-1&&U!==f&&(N[$]=f),U||N},_),Reflect.get(_,I,L)}}))}x.set(j)}}),!0},p=function E(A,b){var F=ke(A,b),x=F.base,k=F.prop,w=F.chain,S={factValue:void 0,init(_){return this.factValue=_,!0},get(){return this.factValue},set(_){this.factValue!==_&&(this.factValue=_,_ instanceof Object&&E(_,w))}},j={init(_){return!a(_)},get(){return f},set(_){a(_)&&(f=_)}};if(!w){var C=c(x,k,!1,j);C&&z(n);return}if(x!==void 0&&x[k]===null){c(x,k,!0,S);return}(x instanceof Object||typeof x=="object")&&O(x)&&c(x,k,!0,S);var T=A[k];(T instanceof Object||typeof T=="object"&&T!==null)&&E(T,w),c(x,k,!0,S)};p(window,r)}}Wi.names=["set-constant","set-constant.js","ubo-set-constant.js","set.js","ubo-set.js","ubo-set-constant","ubo-set","abp-override-property-read"],Wi.injections=[z,J,se,He,Ri,G,ki,rt,Ht,Si,Ti,Vt,ke,Ve,q,O,ft,vt,B,de];function Hi(n,r){var u=de(r),d=function(v,h){var m="".concat(v,"="),y="; domain=".concat(h),f="; domain=.".concat(h),l="; path=/",s="; expires=Thu, 01 Jan 1970 00:00:00 GMT";document.cookie=m+s,document.cookie=m+y+s,document.cookie=m+f+s,document.cookie=m+l+s,document.cookie=m+y+l+s,document.cookie=m+f+l+s,z(n)},o=function(){document.cookie.split(";").forEach(function(v){var h=v.indexOf("=");if(h!==-1){var m=v.slice(0,h).trim();if(u.test(m))for(var y=document.location.hostname.split("."),f=0;f<=y.length-1;f+=1){var l=y.slice(f).join(".");l&&d(m,l)}}})};o(),window.addEventListener("beforeunload",o)}Hi.names=["remove-cookie","cookie-remover.js","ubo-cookie-remover.js","ubo-cookie-remover","remove-cookie.js","ubo-remove-cookie.js","ubo-remove-cookie","abp-cookie-remover"],Hi.injections=[de,z];function Vi(n,r,u){var d=de(r),o=de(u),g=window.EventTarget.prototype.addEventListener;function v(m,y){var f,l=!1;if(xr(m)&&kr(y)&&(l=d.test(m.toString())&&o.test(Rr(y))),l){z(n);return}var s=this;this&&((f=this.constructor)===null||f===void 0?void 0:f.name)==="Window"&&this!==window&&(s=window);for(var i=arguments.length,a=new Array(i>2?i-2:0),c=2;c1?f-1:0),s=1;s>4","sessionStorage","clientWidth","localStorage","Math","random"]],g=function(y){if(typeof y!="string")return!1;for(var f=0;f=.8)return!0}return!1},v=window.eval,h=function(y){if(!g(y))return v(y);z(n);var f=document.body;f&&f.style.removeProperty("visibility");var l=document.getElementById("babasbmsgx");l&&l.parentNode.removeChild(l)};window.eval=h.bind(window)}Yr.names=["prevent-bab"],Yr.injections=[z];function Ui(n){var r="";if(window.RTCPeerConnection?r="RTCPeerConnection":window.webkitRTCPeerConnection&&(r="webkitRTCPeerConnection"),r!==""){var u=function(g){var v="Document tried to create an RTCPeerConnection: ".concat(Wn(g));J(n,v),z(n)};u.prototype={close:G,createDataChannel:G,createOffer:G,setRemoteDescription:G};var d=window[r];window[r]=u,d.prototype&&(d.prototype.createDataChannel=function(o,g){return{close:G,send:G}}.bind(null))}}Ui.names=["nowebrtc","nowebrtc.js","ubo-nowebrtc.js","ubo-nowebrtc"],Ui.injections=[z,G,J,Wn];function qi(n){var r=window.EventTarget.prototype.addEventListener;function u(o,g){var v;if(xr(o)&&kr(g)){var h='addEventListener("'.concat(o,'", ').concat(Rr(g),")");J(n,h,!0),z(n)}else{var m=`Invalid event type or listener passed to addEventListener: + type: `.concat(Bt(o),` + listener: `).concat(Bt(g));J(n,m,!0)}var y=this;this&&((v=this.constructor)===null||v===void 0?void 0:v.name)==="Window"&&this!==window&&(y=window);for(var f=arguments.length,l=new Array(f>2?f-2:0),s=2;s0&&f!==v&&d.test(l)){z(n);debugger}}},m=function y(f,l){var s=ke(f,l),i=s.base,a=s.prop,c=s.chain;if(!(i instanceof Object)&&i===null){var p=l.split("."),E=p.indexOf(a),A=p[E-1],b="The scriptlet had been executed before the ".concat(A," was loaded.");J(b,n.verbose);return}if(c){var F=function(w){i=w,w instanceof Object&&y(w,c)};Object.defineProperty(f,a,{get:function(){return i},set:F});return}var x=i[a];B(i,a,{set:function(w){h(),x=w},get:function(){return h(),x}})};m(window,r),window.onerror=$e(o).bind()}Ji.names=["debug-current-inline-script"],Ji.injections=[Me,B,ke,de,$e,z,J,O];function Qi(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"asap stay";if(r){r=r.split(/\s*\|\s*/),u||(u="[".concat(r.join("],["),"]"));var o=function(){var m=[];try{m=[].slice.call(document.querySelectorAll(u))}catch{J(n,"Invalid selector arg: '".concat(u,"'"))}var y=!1;m.forEach(function(f){r.forEach(function(l){f.removeAttribute(l),y=!0})}),y&&z(n)},g=Hr(d),v=function(){o(),g.hasFlag(g.STAY)&&qe(o,!0)};g.hasFlag(g.ASAP)&&(document.readyState==="loading"?window.addEventListener("DOMContentLoaded",o,{once:!0}):o()),document.readyState!=="complete"&&g.hasFlag(g.COMPLETE)?window.addEventListener("load",v,{once:!0}):g.hasFlag(g.STAY)&&(d.includes(" ")||o(),qe(o,!0))}}Qi.names=["remove-attr","remove-attr.js","ubo-remove-attr.js","ra.js","ubo-ra.js","ubo-remove-attr","ubo-ra"],Qi.injections=[z,qe,Hr,J,ht];function Zi(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(!r||!u)){var o=["true","false"],g=d.startsWith("[")&&d.endsWith("]"),v=d.length===0||!q(parseInt(d,10))&&parseInt(d,10)>0&&parseInt(d,10)<32767||o.includes(d.toLowerCase());if(!g&&!v){J(n,"Invalid attribute value provided: '".concat(Bt(d),"'"));return}var h;g&&(h=function(y,f,l){var s=y.getAttribute(l.slice(1,-1));s===null&&J(n,"No element attribute found to copy value from: ".concat(l)),y.setAttribute(f,s)}),bn(n,r,u,d,h),qe(function(){return bn(n,r,u,d,h)},!0)}}Zi.names=["set-attr","set-attr.js","ubo-set-attr.js","ubo-set-attr"],Zi.injections=[bn,qe,q,Bt,xi,J,ht,z];function eo(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"asap stay";if(r){r=r.split(/\s*\|\s*/);var o=[];u||(o=r.map(function(y){return".".concat(y)}));var g=function(){var f=new Set;if(u){var l=[];try{l=[].slice.call(document.querySelectorAll(u))}catch{J(n,"Invalid selector arg: '".concat(u,"'"))}l.forEach(function(i){return f.add(i)})}else o.length>0&&o.forEach(function(i){for(var a=document.querySelectorAll(i),c=0;c2?l-2:0),i=2;i2?l-2:0),i=2;i3&&arguments[3]!==void 0?arguments[3]:"",o=Ye(r),g=Ye(u),v={nativeStringify:window.JSON.stringify},h=JSON.parse,m=function(){for(var s=arguments.length,i=new Array(s),a=0;a"u"||(Response.prototype.json=f)}io.names=["json-prune","json-prune.js","ubo-json-prune.js","ubo-json-prune","abp-json-prune"],io.injections=[z,Ve,pt,J,Dn,st,Ye,de,vt,ft];function oo(n,r){var u=window.requestAnimationFrame,d=typeof r>"u",o=Ze(r),g=o.isInvertedMatch,v=o.matchRegexp,h=function(y){var f=!1;if(d?(z(n),J(n,"requestAnimationFrame(".concat(String(y),")"),!0)):xt(y)&&Ce(r)&&(f=v.test(y.toString())!==g),f)return z(n),u(G);for(var l=arguments.length,s=new Array(l>1?l-1:0),i=1;i3&&arguments[3]!==void 0?arguments[3]:"/",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",g=Or(u);if(g===null){J(n,"Invalid cookie value: '".concat(g,"'"));return}if(!Lt(d)){J(n,"Invalid cookie path: '".concat(d,"'"));return}if(!document.location.origin.includes(o)){J(n,"Cookie domain not matched by origin: '".concat(o,"'"));return}var v=$t(r,g,d,o);if(!v){J(n,"Invalid cookie name or value");return}z(n),document.cookie=v}uo.names=["set-cookie","set-cookie.js","ubo-set-cookie.js","ubo-set-cookie"],uo.injections=[z,J,q,Wt,Or,$t,Lt,Vn];function so(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"/",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!Wt(document.cookie,r,u)){var g=Or(u);if(g===null){J(n,"Invalid cookie value: '".concat(u,"'"));return}if(!Lt(d)){J(n,"Invalid cookie path: '".concat(d,"'"));return}if(!document.location.origin.includes(o)){J(n,"Cookie domain not matched by origin: '".concat(o,"'"));return}var v=$t(r,g,d,o);if(!v){J(n,"Invalid cookie name or value");return}document.cookie=v,z(n),Wt(document.cookie,r,u)&&window.location.reload()}}so.names=["set-cookie-reload","set-cookie-reload.js","ubo-set-cookie-reload.js","ubo-set-cookie-reload"],so.injections=[z,J,q,Wt,Or,$t,Lt,Vn];function co(n,r,u){if(Element.prototype.attachShadow){var d=function(v){var h="display:none!important;";v.style.cssText=h},o=function(){for(var v=u?document.querySelectorAll(u):qn(document.documentElement),h=function(){var y=!1,f=_r(r,v),l=f.targets,s=f.innerHosts;l.forEach(function(i){d(i),y=!0}),y&&z(n),v=s};v.length!==0;)h()};o(),qe(o,!0)}}co.names=["hide-in-shadow-dom"],co.injections=[z,qe,qn,_r,Fi,ht];function lo(n,r,u){if(Element.prototype.attachShadow){var d=function(v){v.remove()},o=function(){for(var v=u?document.querySelectorAll(u):qn(document.documentElement),h=function(){var y=!1,f=_r(r,v),l=f.targets,s=f.innerHosts;l.forEach(function(i){d(i),y=!0}),y&&z(n),v=s};v.length!==0;)h()};o(),qe(o,!0)}}lo.names=["remove-in-shadow-dom"],lo.injections=[z,qe,qn,_r,Fi,ht];function fo(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"emptyObj",d=arguments.length>3?arguments[3]:void 0;if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var o=Request.prototype.clone,g;if(u===""||u==="emptyObj")g="{}";else if(u==="emptyArr")g="[]";else if(u==="emptyStr")g="";else{J(n,"Invalid responseBody parameter: '".concat(u,"'"));return}var v=typeof d<"u",h=function(s){var i=["basic","cors","opaque"];return i.includes(s)};if(v&&!h(d)){J(n,"Invalid responseType parameter: '".concat(d,"'"));return}var m=function(s){try{var i=s.mode;if(i===void 0||i==="cors"||i==="no-cors"){var a=new URL(s.url);return a.origin===document.location.origin?"basic":i==="no-cors"?"opaque":"cors"}}catch(c){J(n,"Could not determine response type: ".concat(c))}},y=async function(s,i,a){var c=!1,p=En(a,o);if(typeof r>"u")return J(n,"fetch( ".concat(Fe(p)," )"),!0),z(n),Reflect.apply(s,i,a);if(c=Ue(n,r,p),c){z(n);var E;try{E=d||m(p);var A=await Reflect.apply(s,i,a);return A.ok?hs(A,{body:g,type:E}):Vt(g,p.url,E)}catch{return Vt(g,p.url,E)}}return Reflect.apply(s,i,a)},f={apply:y};fetch=new Proxy(fetch,f)}}fo.names=["prevent-fetch","no-fetch-if.js","ubo-no-fetch-if.js","ubo-no-fetch-if"],fo.injections=[z,En,Fe,Ue,J,Vt,hs,de,Ce,pe,O,Mr,gt,kt,Rt,St];function po(n,r,u){if(typeof r>"u"){J(n,"Item key should be specified.");return}var d;try{d=Lr(u)}catch{J(n,"Invalid storage item value: '".concat(u,"'"));return}var o=window,g=o.localStorage;d==="$remove$"?Br(n,g,r):wn(n,g,r,d),z(n)}po.names=["set-local-storage-item","set-local-storage-item.js","ubo-set-local-storage-item.js","ubo-set-local-storage-item"],po.injections=[z,J,q,wn,Br,Lr,Ce,de,pe];function vo(n,r,u){if(typeof r>"u"){J(n,"Item key should be specified.");return}var d;try{d=Lr(u)}catch{J(n,"Invalid storage item value: '".concat(u,"'"));return}var o=window,g=o.sessionStorage;d==="$remove$"?Br(n,g,r):wn(n,g,r,d),z(n)}vo.names=["set-session-storage-item","set-session-storage-item.js","ubo-set-session-storage-item.js","ubo-set-session-storage-item"],vo.injections=[z,J,q,wn,Br,Lr,Ce,de,pe];function go(n,r,u){if(!(!r||!u)){var d=Me(),o=function(){throw z(n),new ReferenceError(d)},g=function v(h,m){var y=ke(h,m),f=y.base,l=y.prop,s=y.chain;if(s){var i=function(p){f=p,p instanceof Object&&v(p,s)};Object.defineProperty(h,l,{get:function(){return f},set:i});return}if(!u.match(/^(inlineScript|injectedScript)$/)&&!Ce(u)){J(n,"Invalid parameter: ".concat(u));return}var a=Object.assign($r(),{value:f[l],get(){return!this.isAbortingSuspended&&this.isolateCallback(Ve,u,new Error().stack)&&o(),this.value},set(c){!this.isAbortingSuspended&&this.isolateCallback(Ve,u,new Error().stack)&&o(),this.value=c}});B(f,l,{get(){return a.get.call(a)},set(c){a.set.call(a,c)}})};g(window,r),window.onerror=$e(d).bind()}}go.names=["abort-on-stack-trace","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"],go.injections=[Me,B,ke,$e,z,Ce,pe,Ve,$r,J,de,O,vt,ft];function mo(n,r){if(r){var u=function(g){var v=g.split(` +`).slice(2).map(function(y){return y.replace(/ {4}at /,"")}),h=v.map(function(y){var f,l,s=/\(([^\)]+)\)/,i=/(.*?@)(\S+)(:\d+):\d+\)?$/;return y.match(s)?(f=y.split(" ").slice(0,-1).join(" "),l=y.match(s)[1]):y.match(i)?(f=y.split("@").slice(0,-1).join(" "),l=y.match(i)[2]):(f="function name is not available",l=y),[f,l]}),m={};return h.forEach(function(y){m[y[0]]=y[1]}),m},d=function o(g,v){var h=ke(g,v),m=h.base,y=h.prop,f=h.chain;if(f){var l=function(a){m=a,a instanceof Object&&o(a,f)};Object.defineProperty(g,y,{get:function(){return m},set:l});return}var s=m[y];B(m,y,{get(){return z(n),J(n,"Get ".concat(y),!0),console.table(u(new Error().stack)),s},set(i){z(n),J(n,"Set ".concat(y),!0),console.table(u(new Error().stack)),s=i}})};d(window,r)}}mo.names=["log-on-stack-trace"],mo.injections=[ke,B,z,J,O];function ho(n,r,u){if(!(typeof Proxy>"u")){var d=window.XMLHttpRequest.prototype.open,o=window.XMLHttpRequest.prototype.send,g=window.XMLHttpRequest.prototype.getResponseHeader,v=window.XMLHttpRequest.prototype.getAllResponseHeaders,h,m="",y="",f=function(b,F,x){if(h=mt.apply(null,x),typeof r>"u"?(J(n,"xhr( ".concat(Fe(h)," )"),!0),z(n)):Ue(n,r,h)&&(F.shouldBePrevented=!0,F.xhrData=h),F.shouldBePrevented){F.collectedHeaders=[];var k=function(j,C,T){return C.collectedHeaders.push(T),Reflect.apply(j,C,T)},w={apply:k};F.setRequestHeader=new Proxy(F.setRequestHeader,w)}return Reflect.apply(b,F,x)},l=function(b,F,x){if(!F.shouldBePrevented)return Reflect.apply(b,F,x);if(F.responseType==="blob"&&(m=new Blob),F.responseType==="arraybuffer"&&(m=new ArrayBuffer),u){var k=tn(u);k?y=k:J(n,"Invalid randomize parameter: '".concat(u,"'"))}var w=new XMLHttpRequest;w.addEventListener("readystatechange",function(){if(w.readyState===4){var S=w.readyState,j=w.responseURL,C=w.responseXML,T=w.statusText;Object.defineProperties(F,{readyState:{value:S,writable:!1},statusText:{value:T,writable:!1},responseURL:{value:j||F.xhrData.url,writable:!1},responseXML:{value:C,writable:!1},status:{value:200,writable:!1},response:{value:m,writable:!1},responseText:{value:y,writable:!1}}),setTimeout(function(){var _=new Event("readystatechange");F.dispatchEvent(_);var I=new Event("load");F.dispatchEvent(I);var L=new Event("loadend");F.dispatchEvent(L)},1),z(n)}}),d.apply(w,[F.xhrData.method,F.xhrData.url]),F.collectedHeaders.forEach(function(S){var j=S[0],C=S[1];w.setRequestHeader(j,C)});try{o.call(w,x)}catch{return Reflect.apply(b,F,x)}},s=function(b,F,x){if(!F.shouldBePrevented)return g.apply(F,x);if(!F.collectedHeaders.length)return null;var k=x[0].toLowerCase(),w=F.collectedHeaders.find(function(S){var j=S[0].toLowerCase();return j===k});return w?w[1]:null},i=function(b,F){if(!F.shouldBePrevented)return v.call(F);if(!F.collectedHeaders.length)return"";var x=F.collectedHeaders.map(function(k){var w=k[0],S=k[1];return"".concat(w.toLowerCase(),": ").concat(S)}).join(`\r +`);return x},a={apply:f},c={apply:l},p={apply:s},E={apply:i};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,a),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,c),XMLHttpRequest.prototype.getResponseHeader=new Proxy(XMLHttpRequest.prototype.getResponseHeader,p),XMLHttpRequest.prototype.getAllResponseHeaders=new Proxy(XMLHttpRequest.prototype.getAllResponseHeaders,E)}}ho.names=["prevent-xhr","no-xhr-if.js","ubo-no-xhr-if.js","ubo-no-xhr-if"],ho.injections=[z,Fe,tn,Ue,mt,J,de,Ce,pe,O,se,Q,q,kt,Rt,St,gt,ie,be];function yo(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";if(typeof window.close!="function"){var u="window.close() is not a function so 'close-window' scriptlet is unavailable";J(n,u);return}var d=function(){try{z(n),window.close()}catch(h){J(n,h)}},o=function(){var h=function(){dispatchEvent(new Event("adguard:scriptlet-close-window"))};window.addEventListener("adguard:subscribed-to-close-window",h,{once:!0}),setTimeout(function(){window.removeEventListener("adguard:subscribed-to-close-window",h,{once:!0})},5e3)},g=function(){if(r==="")return!0;var h=de(r),m="".concat(window.location.pathname).concat(window.location.search);return h.test(m)};g()&&(d(),navigator.userAgent.includes("Chrome")&&o())}yo.names=["close-window","window-close-if.js","ubo-window-close-if.js","ubo-window-close-if","close-window.js","ubo-close-window.js","ubo-close-window"],yo.injections=[z,de,J];function bo(n,r){var u=function(){var v=[];try{v=document.querySelectorAll('meta[http-equiv="refresh" i][content]')}catch{try{v=document.querySelectorAll('meta[http-equiv="refresh"][content]')}catch(m){J(n,m)}}return Array.from(v)},d=function(v){var h=v.map(function(y){var f=y.getAttribute("content");if(f.length===0)return null;var l,s=f.indexOf(";");if(s!==-1){var i=f.substring(0,s);l=se(i)}else l=se(f);return l}).filter(function(y){return y!==null});if(!h.length)return null;var m=h.reduce(function(y,f){return Math.min(y,f)});return m},o=function(){var v=u();if(v.length!==0){var h=se(r);if(h===null&&(h=d(v)),h!==null){var m=h*1e3;setTimeout(function(){window.stop(),z(n)},m)}}};document.readyState==="loading"?document.addEventListener("DOMContentLoaded",o,{once:!0}):o()}bo.names=["prevent-refresh","prevent-refresh.js","refresh-defuser.js","refresh-defuser","ubo-prevent-refresh.js","ubo-prevent-refresh","ubo-refresh-defuser.js","ubo-refresh-defuser"],bo.injections=[z,se,J,q];function Do(n,r,u){if(!(typeof Proxy>"u"||typeof Reflect>"u")){var d={script:"data:text/javascript;base64,KCk9Pnt9",img:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",iframe:"data:text/html;base64, PGRpdj48L2Rpdj4=",link:"data:text/plain;base64,"},o;if(r==="script")o=HTMLScriptElement;else if(r==="img")o=HTMLImageElement;else if(r==="iframe")o=HTMLIFrameElement;else if(r==="link")o=HTMLLinkElement;else return;var g=window.trustedTypes&&typeof window.trustedTypes.createPolicy=="function",v;g&&(v=window.trustedTypes.createPolicy("AGPolicy",{createScriptURL:function(b){return b}}));var h=r==="link"?"href":"src",m="onerror",y=de(u),f=function(b){return b.setAttribute(n.name,"matched")},l=function(b,F,x){if(!x[0]||!x[1])return Reflect.apply(b,F,x);var k=F.nodeName.toLowerCase(),w=x[0].toLowerCase(),S=x[1],j=w===h&&r.toLowerCase()===k&&d[k]&&y.test(S);return j?(z(n),f(F),Reflect.apply(b,F,[w,d[k]])):Reflect.apply(b,F,x)},s={apply:l};o.prototype.setAttribute=new Proxy(Element.prototype.setAttribute,s);var i=P(o.prototype,h);if(i){Object.defineProperty(o.prototype,h,{enumerable:!0,configurable:!0,get(){return i.get.call(this)},set(A){var b=this.nodeName.toLowerCase(),F=r.toLowerCase()===b&&d[b]&&y.test(A);if(!F)return i.set.call(this,A),!0;if(v&&A instanceof TrustedScriptURL){var x=v.createScriptURL(A);i.set.call(this,x),z(n);return}f(this),i.set.call(this,d[b]),z(n)}});var a=P(HTMLElement.prototype,m);if(a){Object.defineProperty(HTMLElement.prototype,m,{enumerable:!0,configurable:!0,get(){return a.get.call(this)},set(A){var b=this.getAttribute(n.name)==="matched";return b?(a.set.call(this,G),!0):(a.set.call(this,A),!0)}});var c=function(b,F,x){if(!x[0]||!x[1]||!F)return Reflect.apply(b,F,x);var k=x[0],w=typeof F.getAttribute=="function"&&F.getAttribute(n.name)==="matched"&&k==="error";return w?Reflect.apply(b,F,[k,G]):Reflect.apply(b,F,x)},p={apply:c};EventTarget.prototype.addEventListener=new Proxy(EventTarget.prototype.addEventListener,p);var E=function(b,F){window.addEventListener("error",function(x){if(!(!x.target||!x.target.nodeName||x.target.nodeName.toLowerCase()!==b||!x.target.src||!F.test(x.target.src))){if(z(n),typeof x.target.onload=="function"){x.target.onerror=x.target.onload;return}x.target.onerror=G}},!0)};E(r,y)}}}}Do.names=["prevent-element-src-loading"],Do.injections=[z,de,P,G];function Eo(n){var r="browsingTopics";Document instanceof Object&&(!Object.prototype.hasOwnProperty.call(Document.prototype,r)||!(Document.prototype[r]instanceof Function)||(Document.prototype[r]=function(){return Vt("[]")},z(n)))}Eo.names=["no-topics"],Eo.injections=[z,Vt];function wo(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof Proxy>"u")){if(r===""&&u!==""){var o="Pattern argument should not be empty string.";J(n,o);return}var g=r===""&&u==="",v=window.XMLHttpRequest.prototype.open,h=window.XMLHttpRequest.prototype.send,m,y=function(a,c,p){if(m=mt.apply(null,p),g){var E="xhr( ".concat(Fe(m)," )");return J(n,E,!0),z(n),Reflect.apply(a,c,p)}if(Ue(n,d,m)&&(c.shouldBePrevented=!0,c.headersReceived=!!c.headersReceived),c.shouldBePrevented&&!c.headersReceived){c.headersReceived=!0,c.collectedHeaders=[];var A=function(x,k,w){return k.collectedHeaders.push(w),Reflect.apply(x,k,w)},b={apply:A};c.setRequestHeader=new Proxy(c.setRequestHeader,b)}return Reflect.apply(a,c,p)},f=function(a,c,p){if(!c.shouldBePrevented)return Reflect.apply(a,c,p);var E=new XMLHttpRequest;E.addEventListener("readystatechange",function(){if(E.readyState===4){var A=E.readyState,b=E.response,F=E.responseText,x=E.responseURL,k=E.responseXML,w=E.status,S=E.statusText,j=F||b;if(typeof j=="string"){var C=r==="*"?/(\n|.)*/:de(r),T=j.replace(C,u);Object.defineProperties(c,{readyState:{value:A,writable:!1},responseURL:{value:x,writable:!1},responseXML:{value:k,writable:!1},status:{value:w,writable:!1},statusText:{value:S,writable:!1},response:{value:T,writable:!1},responseText:{value:T,writable:!1}}),setTimeout(function(){var _=new Event("readystatechange");c.dispatchEvent(_);var I=new Event("load");c.dispatchEvent(I);var L=new Event("loadend");c.dispatchEvent(L)},1),z(n)}}}),v.apply(E,[m.method,m.url]),c.collectedHeaders.forEach(function(A){var b=A[0],F=A[1];E.setRequestHeader(b,F)}),c.collectedHeaders=[];try{h.call(E,p)}catch{return Reflect.apply(a,c,p)}},l={apply:y},s={apply:f};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,l),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,s)}}wo.names=["trusted-replace-xhr-response"],wo.injections=[z,J,de,Fe,Ue,mt,St,gt,Rt,kt,Ce,pe,O];function Ao(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof Reflect>"u"||typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var o=!1,g=de(d),v="xpath(",h=r&&r.startsWith(v),m=function(j){var C=[];try{for(var T=r.slice(v.length,-1),_=j.evaluate(T,j,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null),I=0;I<_.snapshotLength;I+=1)C.push(_.snapshotItem(I))}catch(N){var L="Invalid XPath parameter: ".concat(r,` +`).concat(N);J(n,L)}return C},y=function(j){j.forEach(function(C){C.nodeType===1?C.remove():C.nodeType===2&&C.ownerElement.removeAttribute(C.nodeName)})},f=function(j){if(typeof j=="string"){var C=j.trim();if(C.startsWith("<")&&C.endsWith(">"))return!0}return!1},l=function(j){var C=new DOMParser,T=C.parseFromString(j,"text/xml");return T},s=function(j,C){if(!f(j))return!1;var T=l(j);return h?m(T):!!T.querySelector(C)},i=function(j){if(!f(j))return o=!1,j;var C=l(j),T=C.querySelector("parsererror");if(T)return j;if(u!==""&&C.querySelector(u)===null)return o=!1,j;var _=h?m(C):C.querySelectorAll(r);if(!_.length)return o=!1,j;h?y(_):_.forEach(function(L){L.remove()});var I=new XMLSerializer;return j=I.serializeToString(C),j},a=window.XMLHttpRequest.prototype.open,c=window.XMLHttpRequest.prototype.send,p,E=function(j,C,T){if(p=mt.apply(null,T),Ue(n,d,p)&&(C.shouldBePruned=!0),C.shouldBePruned){C.collectedHeaders=[];var _=function(N,$,M){return $.collectedHeaders.push(M),Reflect.apply(N,$,M)},I={apply:_};C.setRequestHeader=new Proxy(C.setRequestHeader,I)}return Reflect.apply(j,C,T)},A=function(j,C,T){var _=["","text"];if(!C.shouldBePruned||!_.includes(C.responseType))return Reflect.apply(j,C,T);var I=new XMLHttpRequest;I.addEventListener("readystatechange",function(){if(I.readyState===4){var L=I.readyState,N=I.response,$=I.responseText,M=I.responseURL,V=I.responseXML,U=I.status,X=I.statusText,Z=$||N;if(typeof Z=="string"){if(r)o=s(N,r);else if(f(N)){var Y="XMLHttpRequest.open() URL: ".concat(M,` +response: `).concat(N);J(n,Y),J(n,l(N),!0,!1)}var oe=o?i(N):N;Object.defineProperties(C,{readyState:{value:L,writable:!1},responseURL:{value:M,writable:!1},responseXML:{value:V,writable:!1},status:{value:U,writable:!1},statusText:{value:X,writable:!1},response:{value:oe,writable:!1},responseText:{value:oe,writable:!1}}),setTimeout(function(){var te=new Event("readystatechange");C.dispatchEvent(te);var ne=new Event("load");C.dispatchEvent(ne);var K=new Event("loadend");C.dispatchEvent(K)},1),z(n)}}}),a.apply(I,[p.method,p.url]),C.collectedHeaders.forEach(function(L){var N=L[0],$=L[1];I.setRequestHeader(N,$)}),C.collectedHeaders=[];try{c.call(I,T)}catch{return Reflect.apply(j,C,T)}},b={apply:E},F={apply:A};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,b),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,F);var x=window.fetch,k=async function(j,C,T){var _=T[0]instanceof Request?T[0].url:T[0];if(typeof _!="string"||_.length===0)return Reflect.apply(j,C,T);if(g.test(_)){var I=await x(...T),L=I.clone(),N=await I.text();if(o=s(N,r),!o){var $="fetch URL: ".concat(_,` +response text: `).concat(N);return J(n,$),J(n,l(N),!0,!1),L}var M=i(N);return o?(z(n),new Response(M,{status:I.status,statusText:I.statusText,headers:I.headers})):L}return Reflect.apply(j,C,T)},w={apply:k};window.fetch=new Proxy(window.fetch,w)}}Ao.names=["xml-prune","xml-prune.js","ubo-xml-prune.js","ubo-xml-prune"],Ao.injections=[z,J,de,mt,Fe,Ue,St,gt,Rt,kt,Ce,pe,O];function Fo(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";if(!(typeof Reflect>"u"||typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var d=!1,o=de(u),g="#",v={ASSET:"#EXT-X-ASSET:",CUE:"#EXT-X-CUE:",CUE_IN:"#EXT-X-CUE-IN",DISCONTINUITY:"#EXT-X-DISCONTINUITY",EXTINF:"#EXTINF",EXTM3U:"#EXTM3U",SCTE35:"#EXT-X-SCTE35:"},h={AD:"-AD-",VAST:"-VAST-",VMAP_AD:"-VMAP-AD-",VMAP_AD_BREAK:"#EXT-X-VMAP-AD-BREAK:"},m=["#EXT-X-TARGETDURATION","#EXT-X-MEDIA-SEQUENCE","#EXT-X-DISCONTINUITY-SEQUENCE","#EXT-X-ENDLIST","#EXT-X-PLAYLIST-TYPE","#EXT-X-I-FRAMES-ONLY","#EXT-X-MEDIA","#EXT-X-STREAM-INF","#EXT-X-I-FRAME-STREAM-INF","#EXT-X-SESSION-DATA","#EXT-X-SESSION-KEY","#EXT-X-INDEPENDENT-SEGMENTS","#EXT-X-START"],y=function(L){return m.some(function(N){return L.startsWith(N)})},f=function I(L,N){var $=L.slice(),M=N;if($[M].includes(v.EXTINF)&&($[M]=void 0,M+=1,$[M].includes(v.DISCONTINUITY))){$[M]=void 0,M+=1;var V=I($,M);$=V.array,M=V.index}return{array:$,index:M}},l=function(L){for(var N=L.slice(),$=0;$"u"||($=s($,M,V),typeof $<"u"&&($=a($,M,V))),$}).filter(function($){return!!$}).join(` +`))},b=window.XMLHttpRequest.prototype.open,F=window.XMLHttpRequest.prototype.send,x,k=function(L,N,$){if(x=mt.apply(null,$),Ue(n,u,x)&&(N.shouldBePruned=!0),N.shouldBePruned){N.collectedHeaders=[];var M=function(X,Z,Y){return Z.collectedHeaders.push(Y),Reflect.apply(X,Z,Y)},V={apply:M};N.setRequestHeader=new Proxy(N.setRequestHeader,V)}return Reflect.apply(L,N,$)},w=function(L,N,$){var M=["","text"];if(!N.shouldBePruned||!M.includes(N.responseType))return Reflect.apply(L,N,$);var V=new XMLHttpRequest;V.addEventListener("readystatechange",function(){if(V.readyState===4){var U=V.readyState,X=V.response,Z=V.responseText,Y=V.responseURL,oe=V.responseXML,te=V.status,ne=V.statusText,K=Z||X;if(typeof K=="string"){if(r)d=E(X,i);else if(p(X)){var re="XMLHttpRequest.open() URL: ".concat(Y,` +response: `).concat(X);J(n,re)}var ue=d?A(X):X;Object.defineProperties(N,{readyState:{value:U,writable:!1},responseURL:{value:Y,writable:!1},responseXML:{value:oe,writable:!1},status:{value:te,writable:!1},statusText:{value:ne,writable:!1},response:{value:ue,writable:!1},responseText:{value:ue,writable:!1}}),setTimeout(function(){var le=new Event("readystatechange");N.dispatchEvent(le);var ee=new Event("load");N.dispatchEvent(ee);var ae=new Event("loadend");N.dispatchEvent(ae)},1),z(n)}}}),b.apply(V,[x.method,x.url]),N.collectedHeaders.forEach(function(U){var X=U[0],Z=U[1];V.setRequestHeader(X,Z)}),N.collectedHeaders=[];try{F.call(V,$)}catch{return Reflect.apply(L,N,$)}},S={apply:k},j={apply:w};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,S),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,j);var C=window.fetch,T=async function(L,N,$){var M=$[0]instanceof Request?$[0].url:$[0];if(typeof M!="string"||M.length===0)return Reflect.apply(L,N,$);if(o.test(M)){var V=await C(...$),U=V.clone(),X=await V.text();if(!r&&p(X)){var Z="fetch URL: ".concat(M,` +response text: `).concat(X);return J(n,Z),U}if(E(X,i)){var Y=A(X);return z(n),new Response(Y,{status:V.status,statusText:V.statusText,headers:V.headers})}return U}return Reflect.apply(L,N,$)},_={apply:T};window.fetch=new Proxy(window.fetch,_)}}Fo.names=["m3u-prune","m3u-prune.js","ubo-m3u-prune.js","ubo-m3u-prune"],Fo.injections=[z,de,J,mt,Fe,Ue,St,gt,Rt,kt,Ce,pe,O];function Co(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"/",g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"";if(typeof r>"u"){J(n,"Cookie name should be specified");return}if(typeof u>"u"){J(n,"Cookie value should be specified");return}var v=Fn(u);if(!Lt(o)){J(n,"Invalid cookie path: '".concat(o,"'"));return}if(!document.location.origin.includes(g)){J(n,"Cookie domain not matched by origin: '".concat(g,"'"));return}var h=$t(r,v,o,g,!1);if(!h){J(n,"Invalid cookie name or value");return}if(d){var m=jr(d);if(!m){J(n,"Invalid offsetExpiresSec value: ".concat(d));return}var y=Date.now()+m;h+="; expires=".concat(new Date(y).toUTCString())}document.cookie=h,z(n)}Co.names=["trusted-set-cookie"],Co.injections=[z,J,q,Wt,$t,Lt,jr,Fn,Vn];function xo(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"/",g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"";if(typeof r>"u"){J(n,"Cookie name should be specified");return}if(typeof u>"u"){J(n,"Cookie value should be specified");return}if(!Wt(document.cookie,r,u)){var v=Fn(u);if(!Lt(o)){J(n,"Invalid cookie path: '".concat(o,"'"));return}if(!document.location.origin.includes(g)){J(n,"Cookie domain not matched by origin: '".concat(g,"'"));return}var h=$t(r,v,o,g,!1);if(!h){J(n,"Invalid cookie name or value");return}if(d){var m=jr(d);if(!m){J(n,"Invalid offsetExpiresSec value: ".concat(d));return}var y=Date.now()+m;h+="; expires=".concat(new Date(y).toUTCString())}document.cookie=h,z(n);var f=Un(document.cookie)[r];Wt(document.cookie,r,f)&&window.location.reload()}}xo.names=["trusted-set-cookie-reload"],xo.injections=[z,J,q,Wt,$t,Lt,jr,Fn,Un,Vn];function ko(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){if(r===""&&u!==""){J(n,"Pattern argument should not be empty string");return}var o=r===""&&u==="",g=Request.prototype.clone,v=fetch,h=!1,m,y=function(s,i,a){return m=En(a,g),o?(J(n,"fetch( ".concat(Fe(m)," )"),!0),z(n),Reflect.apply(s,i,a)):(h=Ue(n,d,m),h?v.apply(null,a).then(function(c){return c.text().then(function(p){var E=r==="*"?/(\n|.)*/:de(r),A=p.replace(E,u),b=Nr(c,A);return z(n),b}).catch(function(){var p=Fe(m),E="Response body can't be converted to text: ".concat(p);return J(n,E),Reflect.apply(s,i,a)})}).catch(function(){return Reflect.apply(s,i,a)}):Reflect.apply(s,i,a))},f={apply:y};fetch=new Proxy(fetch,f)}}ko.names=["trusted-replace-fetch-response"],ko.injections=[z,J,En,Fe,Ue,Nr,de,Ce,pe,O,Mr,gt,kt,Rt,St];function Ro(n,r,u){if(typeof r>"u"){J(n,"Item key should be specified");return}if(typeof u>"u"){J(n,"Item value should be specified");return}var d=Fn(u),o=window,g=o.localStorage;wn(n,g,r,d),z(n)}Ro.names=["trusted-set-local-storage-item"],Ro.injections=[z,J,q,wn,Fn];function So(n,r,u,d){if(!(!r||!Ve(d,new Error().stack))){var o;try{o=Hn(u)}catch(y){J(n,y);return}var g=!1,v=function(f){return g||(g=f!==void 0&&o!==void 0&&typeof f!=typeof o&&f!==null,g)},h=function(f,l,s,i){if(!i.init(f[l]))return!1;var a=Object.getOwnPropertyDescriptor(f,l),c;if(a instanceof Object){if(!a.configurable){var p="Property '".concat(l,"' is not configurable");return J(n,p),!1}f[l]=o,a.set instanceof Function&&(c=a.set)}return Object.defineProperty(f,l,{configurable:s,get(){return i.get()},set(E){c!==void 0&&c(E),i.set(E)}}),!0},m=function y(f,l){var s=ke(f,l),i=s.base,a=s.prop,c=s.chain,p={factValue:void 0,init(F){return this.factValue=F,!0},get(){return this.factValue},set(F){this.factValue!==F&&(this.factValue=F,F instanceof Object&&y(F,c))}},E={init(F){return!v(F)},get(){return o},set(F){v(F)&&(o=F)}};if(!c){var A=h(i,a,!1,E);A&&z(n);return}if(i!==void 0&&i[a]===null){h(i,a,!0,p);return}(i instanceof Object||typeof i=="object")&&O(i)&&h(i,a,!0,p);var b=f[a];(b instanceof Object||typeof b=="object"&&b!==null)&&y(b,c),h(i,a,!0,p)};m(window,r)}}So.names=["trusted-set-constant"],So.injections=[z,Hn,J,He,Ri,G,ki,rt,Ht,Si,Ti,Vt,ke,B,de,Ve,q,O,vt,ft];function To(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";if(!(!Element.prototype.attachShadow||typeof Proxy>"u"||typeof Reflect>"u")){if(r.match(/(url|image-set)\(.*\)/i)){J(n,'"url()" function is not allowed for css rules');return}var d=function(g){try{var v=new CSSStyleSheet;try{v.insertRule(r)}catch(m){J(n,"Unable to apply the rule '".concat(r,`' due to: +'`).concat(m.message,"'"));return}g.adoptedStyleSheets=[...g.adoptedStyleSheets,v]}catch{var h=document.createElement("style");h.innerText=r,g.appendChild(h)}z(n)};bs(window,u,d)}}To.names=["inject-css-in-shadow-dom"],To.injections=[z,J,bs];function Oo(n,r,u){var d=Xr(r,u),o=d.selector,g=d.nodeNameMatch,v=d.textContentMatch,h=function(y){return y.forEach(function(f){var l=qr(f,g,v);if(l){var s=/^[\s\S]*$/,i="";zr(n,f,s,i)}})};document.documentElement&&Vr(o,h),An(function(m){return Ur(m,h)})}Oo.names=["remove-node-text","remove-node-text.js","ubo-remove-node-text.js","rmnt.js","ubo-rmnt.js","ubo-remove-node-text","ubo-rmnt"],Oo.injections=[An,Vr,Ur,zr,qr,Xr,z,Ci,Pi,de];function jo(n,r,u,d,o){var g=["replace-node-text.js","rpnt.js","sed.js"];if(g.includes(n.name)){o=d,d=u;for(var v=arguments.length,h=new Array(v>5?v-5:0),m=5;m4&&arguments[4]!==void 0?arguments[4]:"";if(r){var g={nativeStringify:window.JSON.stringify},v=ke(window,r),h=v.base,m=v.prop;if(!h||!m||typeof h[m]!="function"){var y="".concat(r," is not a function");J(n,y);return}var f=Ye(u),l=Ye(d),s=function(c,p,E){var A=E[0];return typeof A=="object"&&(A=st(n,A,f,l,o,g),E[0]=A),Reflect.apply(c,p,E)},i={apply:s};h[m]=new Proxy(h[m],i)}}_o.names=["trusted-prune-inbound-object"],_o.injections=[z,Ve,ke,pt,J,Dn,st,Ye,de,vt,ft,O];function Io(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";!r||!u||(bn(n,r,u,d),qe(function(){return bn(n,r,u,d)},!0))}Io.names=["trusted-set-attr"],Io.injections=[bn,qe,q,xi,J,ht,z];function No(n,r,u,d){if(!r)return;var o=["spoof-css.js","ubo-spoof-css.js","ubo-spoof-css"];function g(b){if(!b.includes("-"))return b;var F=b.split("-"),x=F[0],k=F[1];return"".concat(x).concat(k[0].toUpperCase()).concat(k.slice(1))}var v=!!(u==="debug"&&d),h=new Map;if(o.includes(n.name)){var m=n.args,y=[],f=m.at(-2);f==="debug"?y=m.slice(1,-2):y=m.slice(1);for(var l=0;l3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",g=arguments.length>5&&arguments[5]!==void 0?arguments[5]:NaN;if(!(!r||!u)){var v="trusted-create-element-window";if(window.name!==v){var h=function(i,a){J(n,"".concat(i," due to ").concat(Wr(a)))},m;try{m=document.createElement(u),m.textContent=o}catch(s){h("Cannot create element with tag name '".concat(u,"'"),s);return}var y=[];try{y=fs(d)}catch(s){h("Cannot parse attributePairs param: '".concat(d,"'"),s);return}y.forEach(function(s){try{m.setAttribute(s.name,s.value)}catch(i){h("Cannot set attribute '".concat(s.name,"' with value '").concat(s.value,"'"),i)}});var f,l=function(i,a,c){var p;try{p=document.querySelector(i)}catch(E){return h("Cannot find parent element by selector '".concat(i,"'"),E),!1}if(!p)return J(n,"No parent element found by selector: '".concat(i,"'")),!1;try{p.append(a),a instanceof HTMLIFrameElement&&a.contentWindow&&(a.contentWindow.name=v),z(n)}catch(E){return h("Cannot append child to parent by selector '".concat(i,"'"),E),!1}return q(c)||(f=setTimeout(function(){a.remove(),clearTimeout(f)},c)),!0};l(r,m,g)||An(function(s,i){l(r,m,g)&&i.disconnect()})}}}Bo.names=["trusted-create-element"],Bo.injections=[z,J,An,q,fs,Wr];function Lo(n,r){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"text";if(!r){J(n,"Selector is required.");return}var d=/^(?:[\0- \x7F-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u088F-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDC\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\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-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87B-\uD87D\uD87F\uD889-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\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\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\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-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF3A-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD888[\uDFB0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+/,o=/(?:[\0- \x7F-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u088F-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDC\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\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-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87B-\uD87D\uD87F\uD889-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\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\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\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-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF3A-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD888[\uDFB0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+$/,g=function(l,s){if(s==="text")return l.textContent?l.textContent.replace(d,"").replace(o,""):"";if(s.startsWith("?"))try{var i=new URL(l.href,document.location.href);return i.searchParams.get(s.slice(1))||""}catch{return J(n,"Cannot retrieve the parameter '".concat(s.slice(1),"' from the URL '").concat(l.href)),""}return s.startsWith("[")&&s.endsWith("]")&&l.getAttribute(s.slice(1,-1))||""},v=function(l){if(!l)return null;try{var s=new URL(l,document.location.href),i=s.href,a=s.protocol;return a!=="http:"&&a!=="https:"?(J(n,'Protocol not allowed: "'.concat(a,'", from URL: "').concat(i,'"')),null):i}catch{return null}},h=function(l){return l.nodeName.toLowerCase()==="a"&&l.hasAttribute("href")},m=function(l){var s;try{s=document.querySelectorAll(l)}catch{J(n,'Invalid selector "'.concat(l,'"'));return}s.forEach(function(i){try{if(!h(i))return;var a=g(i,u),c=v(a);if(!c){J(n,"Invalid URL: ".concat(a));return}var p=i.href;i.setAttribute("href",c),c!==p&&J(n,'Sanitized "'.concat(p,'" to "').concat(c,'".'))}catch{J(n,"Failed to sanitize ".concat(i,"."))}}),z(n)},y=function(){m(r),qe(function(){return m(r)},!0)};document.readyState==="loading"?window.addEventListener("DOMContentLoaded",y,{once:!0}):y()}Lo.names=["href-sanitizer","href-sanitizer.js","ubo-href-sanitizer.js","ubo-href-sanitizer"],Lo.injections=[qe,z,J,ht];function $o(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var g=Ye(r),v=Ye(u),h=window.JSON.stringify,m=window.Request.prototype.clone,y=window.Response.prototype.clone,f=window.fetch,l=async function(a,c,p){var E=En(p,m);if(!Ue(n,d,E))return Reflect.apply(a,c,p);var A,b;try{A=await f.apply(null,p),b=y.call(A)}catch{return J(n,"Could not make an original fetch request: ".concat(E.url)),Reflect.apply(a,c,p)}var F;try{F=await A.json()}catch{var x="Response body can't be converted to json: ".concat(Fe(E));return J(n,x),b}var k=st(n,F,g,v,o,{nativeStringify:h,nativeRequestClone:m,nativeResponseClone:y,nativeFetch:f}),w=Nr(A,h(k));return z(n),w},s={apply:l};window.fetch=new Proxy(window.fetch,s)}}$o.names=["json-prune-fetch-response","json-prune-fetch-response.js","ubo-json-prune-fetch-response.js","ubo-json-prune-fetch-response"],$o.injections=[z,J,En,Fe,Ue,st,Ye,Nr,Dn,Ve,de,Ce,pe,O,Mr,gt,kt,Rt,St,pt,ft,vt];function Wo(n){if(Document instanceof Object){for(var r={joinAdInterestGroup:Pr,runAdAuction:ps,leaveAdInterestGroup:Pr,clearOriginJoinedAdInterestGroups:Pr,createAuctionNonce:ut,updateAdInterestGroups:G},u=0,d=Object.keys(r);u3&&arguments[3]!==void 0?arguments[3]:"abort",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!r||!u)return;var g=" ",v=d==="abort"?ys():function(){},h;try{h=u.split("|").map(function(E){return E===g?E:Hn(E)})}catch(E){J(n,"Could not parse the signature matcher: ".concat(Wr(E)));return}var m=ke,y=m(window,r),f=y.base,l=y.chain,s=y.prop;if(typeof l<"u"){J(n,"Could not reach the end of the prop chain: ".concat(r));return}var i=f[s];if(!i||typeof i!="function"){J(n,"Could not retrieve the method: ".concat(r));return}function a(E,A){return A.every(function(b,F){if(b===g)return!0;var x=E[F];return Gr(x,b)})}var c=!1;function p(E,A,b){if(c||(c=!0,o&&!Ve(o,new Error().stack||"")))return Reflect.apply(E,A,b);var F=a(b,h);return c=!1,F?(z(n),v()):Reflect.apply(E,A,b)}f[s]=new Proxy(i,{apply:p})}Ho.names=["trusted-suppress-native-method"],Ho.injections=[z,J,ke,Hn,Gr,ys,Ve,Wr,ft,vt,de,q,Me,$e,O,W,Ds,ws,Es];function Vo(n,r,u){var d=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!(typeof Proxy>"u")){var g=!r&&!u,v=Ye(r),h=Ye(u),m=window.JSON.parse,y=window.JSON.stringify,f=window.XMLHttpRequest.prototype.open,l=window.XMLHttpRequest.prototype.send,s=function(F,x,k){return x.collectedHeaders.push(k),Reflect.apply(F,x,k)},i={apply:s},a,c=function(F,x,k){return a=mt.apply(null,k),(Ue(n,d,a)||g)&&(x.xhrShouldBePruned=!0,x.headersReceived=!!x.headersReceived),x.xhrShouldBePruned&&!x.headersReceived&&(x.headersReceived=!0,x.collectedHeaders=[],x.setRequestHeader=new Proxy(x.setRequestHeader,i)),Reflect.apply(F,x,k)},p=function(F,x,k){var w=new Error().stack||"";if(!x.xhrShouldBePruned||o&&!Ve(o,w))return Reflect.apply(F,x,k);var S=new XMLHttpRequest;S.addEventListener("readystatechange",function(){if(S.readyState===4){var j=S.readyState,C=S.response,T=S.responseText,_=S.responseURL,I=S.responseXML,L=S.status,N=S.statusText,$=T||C;if(!(typeof $!="string"&&typeof $!="object")){var M;if(typeof $=="string")try{var V=m($);if(g)J(n,"".concat(window.location.hostname,` +`).concat(y(V,null,2),` +Stack trace: +`).concat(w),!0),J(n,V,!0,!1),M=$;else{M=st(n,V,v,h,o="",{nativeStringify:y});try{var U=x.responseType;switch(U){case"":case"text":M=y(M);break;case"arraybuffer":M=new TextEncoder().encode(y(M)).buffer;break;case"blob":M=new Blob([y(M)]);break;default:break}}catch{var X="Response body cannot be converted to reponse type: '".concat($,"'");J(n,X),M=$}}}catch{var Z="Response body cannot be converted to json: '".concat($,"'");J(n,Z),M=$}Object.defineProperties(x,{readyState:{value:j,writable:!1},responseURL:{value:_,writable:!1},responseXML:{value:I,writable:!1},status:{value:L,writable:!1},statusText:{value:N,writable:!1},response:{value:M,writable:!1},responseText:{value:M,writable:!1}}),setTimeout(function(){var Y=new Event("readystatechange");x.dispatchEvent(Y);var oe=new Event("load");x.dispatchEvent(oe);var te=new Event("loadend");x.dispatchEvent(te)},1),z(n)}}}),f.apply(S,[a.method,a.url,!!a.async]),x.collectedHeaders.forEach(function(j){S.setRequestHeader(j[0],j[1])}),x.collectedHeaders=[];try{l.call(S,k)}catch{return Reflect.apply(F,x,k)}},E={apply:c},A={apply:p};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,E),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,A)}}Vo.names=["json-prune-xhr-response","json-prune-xhr-response.js","ubo-json-prune-xhr-response.js","ubo-json-prune-xhr-response"],Vo.injections=[z,J,de,st,Ye,Fe,Ue,mt,Dn,Ve,St,gt,Rt,kt,Ce,pe,O,pt,ft,vt];function ea(n){var r={fetchBids(u,d){typeof d=="function"&&d([])},init:G,setDisplayBids:G,targetingKeys:G};window.apstag=r,z(n)}ea.names=["amazon-apstag","ubo-amazon_apstag.js","amazon_apstag.js"],ea.injections=[z,G];function ta(n){function r(){}r.prototype.filter=function(){return new r},r.prototype.subscribe=G;function u(){}u.prototype.first=function(){return new r},u.prototype.filter=function(){return new r},u.prototype.subscribe=G;var d={isConsentRequired:Ht,getUserConsentStatusForPurpose:rt,getUserConsentStatus:rt,getUserStatus:G,getRequiredPurposes:He,getUserConsentStatusForVendor:rt,Purposes:{Cookies:"cookies"},notice:{configure:G,hide:G,isVisible:Ht,show:G,showDataProcessing:rt},isUserConsentStatusPartial:Ht,on(){return{actions:{},emitter:{},services:{},store:{}}},shouldConsentBeCollected:Ht,getUserConsentStatusForAll:G,getObservableOnUserConsentStatusForVendor(){return new u}};window.Didomi=d;var o={didomiExperimentId:"",didomiExperimentUserGroup:"",didomiGDPRApplies:1,didomiIABConsent:"",didomiPurposesConsent:"",didomiPurposesConsentDenied:"",didomiPurposesConsentUnknown:"",didomiVendorsConsent:"",didomiVendorsConsentDenied:"",didomiVendorsConsentUnknown:"",didomiVendorsRawConsent:"",didomiVendorsRawConsentDenied:"",didomiVendorsRawConsentUnknown:""};window.didomiState=o;var g={eventStatus:"tcloaded",gdprApplies:!1,listenerId:G,vendor:{consents:[]},purpose:{consents:[]}},v=function(f,l,s){typeof s!="function"||f==="removeEventListener"||s(g,!0)};window.__tcfapi=v;var h={stub:!0,push:G};window.didomiEventListeners=h;var m={stub:!0,push(y){typeof y=="function"&&(document.readyState!=="complete"?window.addEventListener("load",function(){setTimeout(y(window.Didomi))}):setTimeout(y(window.Didomi)))}};window.didomiOnReady=window.didomiOnReady||m,Array.isArray(window.didomiOnReady)&&window.didomiOnReady.forEach(function(y){if(typeof y=="function")try{setTimeout(y(window.Didomi))}catch{}}),z(n)}ta.names=["didomi-loader"],ta.injections=[z,G,He,rt,Ht];function na(n){for(var r="",u=0;u<8;u+=1)r+=(Math.random()*65536+4096).toString(16).slice(-4);var d=function(){};d.get=function(o,g){g||(g=o),setTimeout(function(){g&&g(r,[])},1)},d.prototype={get:d.get},window.Fingerprint2=d,z(n)}na.names=["fingerprintjs2","ubo-fingerprint2.js","fingerprint2.js"],na.injections=[z];function ra(n){var r=function(){for(var d="",o=0;o<8;o+=1)d+=(Math.random()*65536+4096).toString(16).slice(-4);return d}(),u=function(){};u.prototype={load(){return Promise.resolve(new u)},get(){return Promise.resolve({visitorId:r})},hashComponents:ut},window.FingerprintJS=new u,z(n)}ra.names=["fingerprintjs3","ubo-fingerprint3.js","fingerprint3.js"],ra.injections=[z,ut];function aa(n){var r=function(){};r.prototype={setVideoObject:G,newProgram:G,programEvent:G,newAd:G,adEvent:G},window.GemiusPlayer=r,z(n)}aa.names=["gemius"],aa.injections=[z,G];function ia(n){var r,u=function(){},d=u.prototype;d.get=G,d.set=G,d.send=G;var o=window.GoogleAnalyticsObject||"ga",g=(r=window[o])===null||r===void 0?void 0:r.q;function v(i){var a=arguments.length;if(a!==0){var c=arguments[a-1],p;c instanceof Object&&c!==null&&typeof c.hitCallback=="function"?p=c.hitCallback:typeof c=="function"&&(p=function(){c(v.create())});try{setTimeout(p,1)}catch{}}}if(v.create=function(){return new u},v.getByName=function(){return new u},v.getAll=function(){return[new u]},v.remove=G,v.loaded=!0,window[o]=v,Array.isArray(g)){var h=function(a){v(...a)};g.push=h,g.forEach(h)}var m=window,y=m.dataLayer,f=m.google_optimize;if(y instanceof Object){y.hide instanceof Object&&typeof y.hide.end=="function"&&y.hide.end();var l=function(a,c){a&&typeof a[c]=="function"&&setTimeout(a[c])};if(typeof y.push=="function"&&(y.push=function(i){if(i instanceof Object){l(i,"eventCallback");for(var a in i)l(i[a],"event_callback");!i.hasOwnProperty("eventCallback")&&!i.hasOwnProperty("eventCallback")&&[].push.call(window.dataLayer,i)}return Array.isArray(i)&&i.forEach(function(c){l(c,"callback")}),G}),f instanceof Object&&typeof f.get=="function"){var s={get:G};window.google_optimize=s}z(n)}}ia.names=["google-analytics","ubo-google-analytics_analytics.js","google-analytics_analytics.js","googletagmanager-gtm","ubo-googletagmanager_gtm.js","googletagmanager_gtm.js"],ia.injections=[z,G,Ct,He];function oa(n){function r(){}r.prototype.Na=G,r.prototype.O=G,r.prototype.Sa=G,r.prototype.Ta=G,r.prototype.Va=G,r.prototype._createAsyncTracker=G,r.prototype._getAsyncTracker=G,r.prototype._getPlugin=G,r.prototype.push=function(m){if(typeof m=="function"){m();return}Array.isArray(m)!==!1&&(typeof m[0]=="string"&&/(^|\.)_link$/.test(m[0])&&typeof m[1]=="string"&&window.location.assign(m[1]),m[0]==="_set"&&m[1]==="hitCallback"&&typeof m[2]=="function"&&m[2]())};var u=new r,d=window._gaq||[];if(Array.isArray(d))for(;d[0];)u.push(d.shift());window._gaq=u.qf=u;function o(){}var g=["_addIgnoredOrganic","_addIgnoredRef","_addItem","_addOrganic","_addTrans","_clearIgnoredOrganic","_clearIgnoredRef","_clearOrganic","_cookiePathCopy","_deleteCustomVar","_getName","_setAccount","_getAccount","_getClientInfo","_getDetectFlash","_getDetectTitle","_getLinkerUrl","_getLocalGifPath","_getServiceMode","_getVersion","_getVisitorCustomVar","_initData","_link","_linkByPost","_setAllowAnchor","_setAllowHash","_setAllowLinker","_setCampContentKey","_setCampMediumKey","_setCampNameKey","_setCampNOKey","_setCampSourceKey","_setCampTermKey","_setCampaignCookieTimeout","_setCampaignTrack","_setClientInfo","_setCookiePath","_setCookiePersistence","_setCookieTimeout","_setCustomVar","_setDetectFlash","_setDetectTitle","_setDomainName","_setLocalGifPath","_setLocalRemoteServerMode","_setLocalServerMode","_setReferrerOverride","_setRemoteServerMode","_setSampleRate","_setSessionTimeout","_setSiteSpeedSampleRate","_setSessionCookieTimeout","_setVar","_setVisitorCookieTimeout","_trackEvent","_trackPageLoadTime","_trackPageview","_trackSocial","_trackTiming","_trackTrans","_visitCode"],v=g.reduce(function(m,y){return m[y]=G,m},{});v._getLinkerUrl=function(m){return m},v._link=function(m){if(typeof m=="string")try{window.location.assign(m)}catch(y){J(n,y)}},o.prototype._anonymizeIP=G,o.prototype._createTracker=G,o.prototype._forceSSL=G,o.prototype._getPlugin=G,o.prototype._getTracker=function(){return v},o.prototype._getTrackerByName=function(){return v},o.prototype._getTrackers=G,o.prototype.aa=G,o.prototype.ab=G,o.prototype.hb=G,o.prototype.la=G,o.prototype.oa=G,o.prototype.pa=G,o.prototype.u=G;var h=new o;window._gat=h,z(n)}oa.names=["google-analytics-ga","ubo-google-analytics_ga.js","google-analytics_ga.js"],oa.injections=[z,G,J];function ua(n){var r,u="3.453.0",d={},o=function(T){var _=document.createElement("div");_.style.setProperty("display","none","important"),_.style.setProperty("visibility","collapse","important"),T&&T.appendChild(_)};o.prototype.destroy=G,o.prototype.initialize=G;var g=function(){};g.CompanionBackfillMode={ALWAYS:"always",ON_MASTER_AD:"on_master_ad"},g.VpaidMode={DISABLED:0,ENABLED:1,INSECURE:2},g.prototype={c:!0,f:{},i:!1,l:"",p:"",r:0,t:"",v:"",getCompanionBackfill:G,getDisableCustomPlaybackForIOS10Plus(){return this.i},getDisabledFlashAds:function(){return!0},getFeatureFlags(){return this.f},getLocale(){return this.l},getNumRedirects(){return this.r},getPlayerType(){return this.t},getPlayerVersion(){return this.v},getPpid(){return this.p},getVpaidMode(){return this.C},isCookiesEnabled(){return this.c},isVpaidAdapter(){return this.M},setCompanionBackfill:G,setAutoPlayAdBreaks(C){this.K=C},setCookiesEnabled(C){this.c=!!C},setDisableCustomPlaybackForIOS10Plus(C){this.i=!!C},setDisableFlashAds:G,setFeatureFlags(C){this.f=!!C},setIsVpaidAdapter(C){this.M=C},setLocale(C){this.l=!!C},setNumRedirects(C){this.r=!!C},setPageCorrelator(C){this.R=C},setPlayerType(C){this.t=!!C},setPlayerVersion(C){this.v=!!C},setPpid(C){this.p=!!C},setVpaidMode(C){this.C=C},setSessionId:G,setStreamCorrelator:G,setVpaidAllowed:G,CompanionBackfillMode:{ALWAYS:"always",ON_MASTER_AD:"on_master_ad"},VpaidMode:{DISABLED:0,ENABLED:1,INSECURE:2}};var v=function(){this.listeners=new Map,this._dispatch=function(T){var _=this.listeners.get(T.type);_=_?_.values():[];for(var I=0,L=Array.from(_);I"u"&&(this.length=0,this.length+=1),c!==null&&c instanceof Object&&c.constructor.name==="Object")for(var p=0,E=Object.keys(c);p0&&(f=y===2&&m[0].nodeName.toLowerCase()==="iframe"&&m[0].id.includes(o)&&m[1].nodeName.toLowerCase()==="iframe"&&m[1].id.includes(g)),!f){r[h].setAttribute(d,"done");var l=document.createElement("iframe");l.id="".concat(o).concat(h),l.style=u,r[h].appendChild(l);var s=document.createElement("iframe");l.contentWindow.document.body.appendChild(s);var i=document.createElement("iframe");i.id="".concat(g).concat(h),i.style=u,r[h].appendChild(i);var a=document.createElement("iframe");i.contentWindow.document.body.appendChild(a),v=!0}}v&&z(n)}sa.names=["googlesyndication-adsbygoogle","ubo-googlesyndication_adsbygoogle.js","googlesyndication_adsbygoogle.js"],sa.injections=[z];function ca(n){var r=new Map,u=new Map,d=new Map,o=new Map,g=new Map,v=new Map,h=function(T,_){return g.has(T)||g.set(T,new Set),g.get(T).add(_),this},m=function(T,_){return g.has(T)?g.get(T).delete(_):!1},y=function(T,_){return new Promise(function(I){requestAnimationFrame(function(){for(var L=[0,0],N=g.get(T)||[],$=Array.from(N),M=0;M<$.length;M+=1)$[M]({isEmpty:!0,size:L,slot:_});I()})})},f=function(T){for(var _=document.getElementById(T.getSlotElementId());_!=null&&_.lastChild;)_.lastChild.remove()},l=function(T){var _,I="google_ads_iframe_".concat(T.getId());(_=document.getElementById(I))===null||_===void 0||_.remove();var L=document.getElementById(T.getSlotElementId());if(L){var N=document.createElement("iframe");N.id=I,N.srcdoc="",N.style="position:absolute; width:0; height:0; left:0; right:0; z-index:-1; border:0",N.setAttribute("width",0),N.setAttribute("height",0),N.setAttribute("data-load-complete",!0),N.setAttribute("data-google-container-id",!0),N.setAttribute("sandbox",""),L.appendChild(N)}},s=function(T){if(T){var _=T.getSlotElementId();if(document.getElementById(_)){var I=document.getElementById(_);I&&I.appendChild(document.createElement("div")),f(T),l(T),y("slotRenderEnded",T),y("slotRequested",T),y("slotResponseReceived",T),y("slotOnload",T),y("impressionViewable",T)}}},i={addEventListener:h,removeEventListener:m,enableSyncLoading:G,setRefreshUnfilledSlots:G,getSlots:He},a={addEventListener:h,removeEventListener:m,setContent:G};function c(){}c.prototype.display=G,c.prototype.get=Ct,c.prototype.set=Re,c.prototype.setClickUrl=Re,c.prototype.setTagForChildDirectedTreatment=Re,c.prototype.setTargeting=Re,c.prototype.updateTargetingFromMap=Re;function p(){}p.prototype.addSize=Re,p.prototype.build=Ct;var E=function(T){if(typeof T=="string")return[T];try{return Array.prototype.flat.call(T)}catch{}return[]},A=function(T,_){if(typeof _=="object")for(var I in _)Object.prototype.hasOwnProperty.call(_,I)&&T.set(I,E(_[I]))},b=function(T,_,I){if(u.has(I)){var L;return(L=document.getElementById(I))===null||L===void 0||L.remove(),u.get(I)}var N=new Map,$=new Map,M=new Set,V={advertiserId:void 0,campaignId:void 0,creativeId:void 0,creativeTemplateId:void 0,lineItemId:void 0},U=[{getHeight:function(){return 2},getWidth:function(){return 2}}],X=(d.get(T)||0)+1;d.set(T,X);var Z="".concat(T,"_").concat(X),Y="",oe=null,te=new Set,ne={addService(K){return te.add(K),ne},clearCategoryExclusions:Re,clearTargeting(K){K===void 0?$.clear():$.delete(K)},defineSizeMapping(K){return o.set(I,K),this},get:function(re){return N.get(re)},getAdUnitPath:function(){return T},getAttributeKeys:function(){return Array.from(N.keys())},getCategoryExclusions:function(){return Array.from(M)},getClickUrl:function(){return Y},getCollapseEmptyDiv:function(){return oe},getContentUrl:function(){return""},getDivStartsCollapsed:function(){return null},getDomId:function(){return I},getEscapedQemQueryId:function(){return""},getFirstLook:function(){return 0},getId:function(){return Z},getHtml:function(){return""},getName:function(){return Z},getOutOfPage:function(){return!1},getResponseInformation:function(){return V},getServices:function(){return Array.from(te)},getSizes:function(){return U},getSlotElementId:function(){return I},getSlotId:function(){return ne},getTargeting:function(re){return $.get(re)||v.get(re)||[]},getTargetingKeys:function(){return Array.from(new Set(Array.of(...v.keys(),...$.keys())))},getTargetingMap:function(){return Object.assign(Object.fromEntries(v.entries()),Object.fromEntries($.entries()))},set(K,re){return N.set(K,re),ne},setCategoryExclusion(K){return M.add(K),ne},setClickUrl(K){return Y=K,ne},setCollapseEmptyDiv(K){return oe=!!K,ne},setSafeFrameConfig:Re,setTagForChildDirectedTreatment:Re,setTargeting(K,re){return $.set(K,E(re)),ne},toString:function(){return Z},updateTargetingFromMap(K){return A($,K),ne}};return r.set(T,ne),u.set(I,ne),o.set(I,_),ne},F={addEventListener:h,removeEventListener:m,clear:G,clearCategoryExclusions:Re,clearTagForChildDirectedTreatment:Re,clearTargeting(C){C===void 0?v.clear():v.delete(C)},collapseEmptyDivs:G,defineOutOfPagePassback(){return new c},definePassback(){return new c},disableInitialLoad:G,display:G,enableAsyncRendering:G,enableLazyLoad:G,enableSingleRequest:G,enableSyncRendering:G,enableVideoAds:G,get:Ct,getAttributeKeys:He,getTargeting:He,getTargetingKeys:He,getSlots:He,isInitialLoadDisabled:rt,refresh:G,set:Re,setCategoryExclusion:Re,setCentering:G,setCookieOptions:Re,setForceSafeFrame:Re,setLocation:Re,setPrivacySettings:Re,setPublisherProvidedId:Re,setRequestNonPersonalizedAds:Re,setSafeFrameConfig:Re,setTagForChildDirectedTreatment:Re,setTargeting:Re,setVideoContent:Re,updateCorrelator:G},x=window,k=x.googletag,w=k===void 0?{}:k,S=w.cmd,j=S===void 0?[]:S;for(w.apiReady=!0,w.cmd=[],w.cmd.push=function(C){try{C()}catch{}return 1},w.companionAds=function(){return i},w.content=function(){return a},w.defineOutOfPageSlot=b,w.defineSlot=b,w.destroySlots=function(){r.clear(),u.clear()},w.disablePublisherConsole=G,w.display=function(C){var T;C!=null&&C.getSlotElementId?T=C.getSlotElementId():C!=null&&C.nodeType?T=C.id:T=String(C),s(u.get(T))},w.enableServices=G,w.getVersion=ut,w.pubads=function(){return F},w.pubadsReady=!0,w.setAdIframeTitle=G,w.sizeMapping=function(){return new p},window.googletag=w;j.length!==0;)w.cmd.push(j.shift());z(n)}ca.names=["googletagservices-gpt","ubo-googletagservices_gpt.js","googletagservices_gpt.js"],ca.injections=[z,G,Re,Ct,He,ut,rt];function la(n){var r=function(){};r.prototype.setDoNotTrack=G,r.prototype.setDomains=G,r.prototype.setCustomDimension=G,r.prototype.trackPageView=G;var u=function(){};u.prototype.addListener=G;var d={getTracker:r,getAsyncTracker:u};window.Piwik=d,z(n)}la.names=["matomo"],la.injections=[z,G];function da(n){var r=function(E,A){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},F=b.callback,x=b.ctx;typeof F=="function"&&(F=x!==void 0?F.bind(x):F,setTimeout(function(){return F()}))},u=G,d=r,o=r,g=function(E,A){A&&setTimeout(A(null))},v=r,h=r,m=G,y=function(E,A,b,F,x){r(null,null,{callback:F,ctx:x})},f=G,l=G,s=G,i={addFileExtension:u,extLink:d,file:o,getClientID:g,hit:v,notBounce:h,params:m,reachGoal:y,setUserID:f,userParams:l,destruct:s};function a(p,E){for(var A=arguments.length,b=new Array(A>2?A-2:0),F=2;F"u"?(window.ym=a,a.a=[]):window.ym&&window.ym.a&&(a.a=window.ym.a,window.ym=a,window.ym.a.forEach(function(p){var E=p[0];c(E)})),z(n)}da.names=["metrika-yandex-tag"],da.injections=[z,G];function fa(n){var r="yandex_metrika_callbacks",u=function(){var g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},v=g.callback,h=g.ctx;typeof v=="function"&&(v=h!==void 0?v.bind(h):v,setTimeout(function(){return v()}))};function d(){}d.counters=He,d.prototype.addFileExtension=G,d.prototype.getClientID=G,d.prototype.setUserID=G,d.prototype.userParams=G,d.prototype.params=G,d.prototype.counters=He,d.prototype.extLink=function(o,g){u(g)},d.prototype.file=function(o,g){u(g)},d.prototype.hit=function(o,g){u(g)},d.prototype.reachGoal=function(o,g,v,h){u({callback:v,ctx:h})},d.prototype.notBounce=u,window.Ya?window.Ya.Metrika=d:window.Ya={Metrika:d},window[r]&&Array.isArray(window[r])&&window[r].forEach(function(o){typeof o=="function"&&o()}),z(n)}fa.names=["metrika-yandex-watch"],fa.injections=[z,G,He];function pa(n){window.wcs_add={},window.wcs_do=G,window.wcs={inflow:G},z(n)}pa.names=["naver-wcslog"],pa.injections=[z,G];function va(n){window.piVersion="1.0.2",window.piScriptNum=0,window.piScriptObj=[],window.checkNamespace=G,window.getPardotUrl=ut,window.piGetParameter=Ct,window.piSetCookie=G,window.piGetCookie=ut;function r(){window.pi={tracker:{visitor_id:"",visitor_id_sign:"",pi_opt_in:"",campaign_id:""}},window.piScriptNum+=1}window.piResponse=G,window.piTracker=r,r(),z(n)}va.names=["pardot-1.0"],va.injections=[z,G,ut,Ct];function ga(n){var r=function(o){if(typeof o=="function")try{o.call()}catch{}},u={addAdUnits(){},adServers:{dfp:{buildVideoUrl:ut}},adUnits:[],aliasBidder(){},cmd:[],enableAnalytics(){},getHighestCpmBids:He,libLoaded:!0,que:[],requestBids(d){if(d instanceof Object&&d.bidsBackHandler)try{d.bidsBackHandler.call()}catch{}},removeAdUnit(){},setBidderConfig(){},setConfig(){},setTargetingForGPTAsync(){}};u.cmd.push=r,u.que.push=r,window.pbjs=u,z(n)}ga.names=["prebid"],ga.injections=[z,G,ut,He];function ma(n){window.COMSCORE={purge(){window._comscore=[]},beacon(){}},z(n)}ma.names=["scorecardresearch-beacon","ubo-scorecardresearch_beacon.js","scorecardresearch_beacon.js"],ma.injections=[z];var Fs=Object.freeze({__proto__:null,AmazonApstag:ea,DidomiLoader:ta,Fingerprintjs2:na,Fingerprintjs3:ra,Gemius:aa,GoogleAnalytics:ia,GoogleAnalyticsGa:oa,GoogleIma3:ua,GoogleSyndicationAdsByGoogle:sa,GoogleTagServicesGpt:ca,Matomo:la,NaverWcslog:pa,Pardot:va,Prebid:ga,ScoreCardResearchBeacon:ma,abortCurrentInlineScript:$i,abortOnPropertyRead:Ii,abortOnPropertyWrite:Ni,abortOnStackTrace:go,adjustSetInterval:no,adjustSetTimeout:ro,callNoThrow:Mo,debugCurrentInlineScript:Ji,debugOnPropertyRead:Yi,debugOnPropertyWrite:Ki,dirString:ao,disableNewtabLinks:to,evalDataPrune:Po,forceWindowClose:yo,hideInShadowDom:co,hrefSanitizer:Lo,injectCssInShadowDom:To,jsonPrune:io,jsonPruneFetchResponse:$o,jsonPruneXhrResponse:Vo,log:As,logAddEventListener:qi,logEval:zi,logOnStacktrace:mo,m3uPrune:Fo,metrikaYandexTag:da,metrikaYandexWatch:fa,noProtectedAudience:Wo,noTopics:Eo,noeval:Kr,nowebrtc:Ui,preventAddEventListener:Vi,preventAdfly:Gi,preventBab:Yr,preventElementSrcLoading:Do,preventEvalIf:Xi,preventFab:Jr,preventFetch:fo,preventPopadsNet:Zr,preventRefresh:bo,preventRequestAnimationFrame:oo,preventSetInterval:Bi,preventSetTimeout:Mi,preventWindowOpen:Li,preventXHR:ho,removeAttr:Qi,removeClass:eo,removeCookie:Hi,removeInShadowDom:lo,removeNodeText:Oo,setAttr:Zi,setConstant:Wi,setCookie:uo,setCookieReload:so,setLocalStorageItem:po,setPopadsDummy:Qr,setSessionStorageItem:vo,spoofCSS:No,trustedClickElement:_i,trustedCreateElement:Bo,trustedPruneInboundObject:_o,trustedReplaceFetchResponse:ko,trustedReplaceNodeText:jo,trustedReplaceXhrResponse:wo,trustedSetAttr:Io,trustedSetConstant:So,trustedSetCookie:Co,trustedSetCookieReload:xo,trustedSetLocalStorageItem:Ro,trustedSuppressNativeMethod:Ho,xmlPrune:Ao}),Ld=[{adg:"1x1-transparent.gif",ubo:"1x1.gif",abp:"1x1-transparent-gif"},{adg:"2x2-transparent.png",ubo:"2x2.png",abp:"2x2-transparent-png"},{adg:"3x2-transparent.png",ubo:"3x2.png",abp:"3x2-transparent-png"},{adg:"32x32-transparent.png",ubo:"32x32.png",abp:"32x32-transparent-png"},{adg:"amazon-apstag",ubo:"amazon_apstag.js"},{adg:"ati-smarttag"},{adg:"didomi-loader"},{adg:"click2load.html",ubo:"click2load.html"},{adg:"fingerprintjs2",ubo:"fingerprint2.js"},{adg:"fingerprintjs3",ubo:"fingerprint3.js"},{adg:"google-analytics",ubo:"google-analytics_analytics.js"},{adg:"google-analytics-ga",ubo:"google-analytics_ga.js"},{adg:"googlesyndication-adsbygoogle",ubo:"googlesyndication_adsbygoogle.js"},{adg:"googlesyndication-adsbygoogle",ubo:"googlesyndication.com/adsbygoogle.js"},{adg:"googletagmanager-gtm",ubo:"google-analytics_ga.js"},{adg:"googletagmanager-gtm",ubo:"googletagmanager_gtm.js"},{adg:"googletagservices-gpt",ubo:"googletagservices_gpt.js"},{adg:"google-ima3",ubo:"google-ima.js"},{adg:"gemius"},{adg:"matomo"},{adg:"metrika-yandex-watch"},{adg:"metrika-yandex-tag"},{adg:"naver-wcslog"},{adg:"noeval",ubo:"noeval-silent.js"},{adg:"noopcss",ubo:"noop.css",abp:"blank-css"},{adg:"noopframe",ubo:"noop.html",abp:"blank-html"},{adg:"noopjs",ubo:"noop.js",abp:"blank-js"},{adg:"noopjson",ubo:"noop.json"},{adg:"nooptext",ubo:"noop.txt",abp:"blank-text"},{adg:"noopmp3-0.1s",ubo:"noop-0.1s.mp3",abp:"blank-mp3"},{adg:"noopmp4-1s",ubo:"noop-1s.mp4",abp:"blank-mp4"},{adg:"noopvmap-1.0",ubo:"noop-vmap1.0.xml"},{adg:"noopvast-2.0"},{adg:"noopvast-3.0"},{adg:"noopvast-4.0"},{adg:"prebid"},{adg:"pardot-1.0"},{adg:"prevent-bab",ubo:"nobab.js"},{adg:"prevent-bab2",ubo:"nobab2.js"},{adg:"prevent-fab-3.2.0",ubo:"nofab.js"},{adg:"prevent-fab-3.2.0",ubo:"fuckadblock.js-3.2.0"},{adg:"prevent-popads-net",ubo:"popads.js"},{adg:"scorecardresearch-beacon",ubo:"scorecardresearch_beacon.js"},{adg:"set-popads-dummy",ubo:"popads-dummy.js"},{adg:"empty",ubo:"empty"},{adg:"prebid-ads",ubo:"prebid-ads.js"}],$d="#%#",Wd="!",Hd=":",Cn=function(r){return r.startsWith(Wd)},Cs=/#@?#script:inject|#@?#\s*\+js/,Vd="##+js",Ud="##script:inject",qd="#@#+js",zd="#@#script:inject",xs="#$#",ks="#@$#",Xd=/#@?\$#.+?\s*\{.*\}\s*$/g,Gd=function(r){return!Cn(r)&&r.includes(Cr)},Yd=function(r){return(r.includes(Vd)||r.includes(Ud)||r.includes(qd)||r.includes(zd))&&Cs.test(r)&&!Cn(r)},Kd=function(r){return(r.includes(xs)||r.includes(ks))&&r.search(Xd)===-1&&!Cn(r)},Rs=function(){return Object.values(Fs)},Ss=function(r,u){var d=u||Rs();return d.find(function(o){return o.names&&(o.names.includes(r)||!r.endsWith(".js")&&o.names.includes("".concat(r,".js")))})},Jd=Rs(),Qd=function(r){return r?!!Ss(r,Jd):!1},Uo=new Map,Zd=function(r){if(r==="")return!0;if(!r)return!1;if(!Uo.has(r)){var u=Qd(r);return Uo.set(r,u),u}return Uo.get(r)},ha="redirect=",zn="redirect-rule=",ef="rewrite=abp-resource:",Ts="empty",Os=["image","media","subdocument","stylesheet","script","xmlhttprequest","other"],tf=[{NAME:"nooptext",TYPES:Os},{NAME:"noopcss",TYPES:["stylesheet"]},{NAME:"noopjs",TYPES:["script"]},{NAME:"noopframe",TYPES:["subdocument"]},{NAME:"1x1-transparent.gif",TYPES:["image"]},{NAME:"noopmp3-0.1s",TYPES:["media"]},{NAME:"noopmp4-1s",TYPES:["media"]},{NAME:"googlesyndication-adsbygoogle",TYPES:["xmlhttprequest","script"]},{NAME:"google-analytics",TYPES:["script"]},{NAME:"googletagservices-gpt",TYPES:["script"]}],ya=Ld.filter(function(n){return!!n.adg}),nf=Object.fromEntries(ya.filter(function(n){return!!n.ubo}).map(function(n){return[n.ubo,n.adg]})),rf=Object.fromEntries(ya.filter(function(n){return!!n.abp}).map(function(n){return[n.abp,n.adg]})),af=Object.fromEntries(ya.filter(function(n){return n.ubo}).map(function(n){return[n.adg,n.ubo]})),of=Object.fromEntries(ya.map(function(n){return[n.adg,"valid adg redirect"]})),ct=function(n){return n.ValidAdg="VALID_ADG",n.Adg="ADG",n.Ubo="UBO",n.Abp="ABP",n}(ct||{}),qo={[ct.ValidAdg]:{redirectMarker:ha,compatibility:of,redirectRuleMarker:zn},[ct.Adg]:{redirectMarker:ha,compatibility:af,redirectRuleMarker:zn},[ct.Ubo]:{redirectMarker:ha,compatibility:nf,redirectRuleMarker:zn},[ct.Abp]:{redirectMarker:ef,compatibility:rf}},zo=function(r){return Se(r,"$").split(",")},js=function(r,u){var d=r.find(function(v){return v.includes(u)});if(!d)return null;var o=Se(d,u),g=o.indexOf(Hd);return g>-1&&(o=o.substring(0,g)),o},Ps=function(r){var u="/((?!\\$|\\,).{1})redirect((-rule)?)=(.{0,}?)\\$(popup)?/",d=qo[ct.Adg],o=d.redirectMarker,g=d.redirectRuleMarker;return!Cn(r)&&(r.includes(o)||typeof g=="string"&&r.includes(g))&&!r.includes($d)&&!de(u).test(r)},Xn=function(r,u){var d=qo[u],o=d.redirectMarker,g=d.redirectRuleMarker,v=d.compatibility;if(r&&!Cn(r)){var h,m=g?r.indexOf(g):-1;if(m>-1)h=g;else if(m=r.indexOf(o),m>-1)h=o;else return!1;if(!h)return!1;var y=js(zo(r),h);return y?y===Object.keys(v).find(function(f){return f===y}):!1}return!1},uf=function(r){return Xn(r,ct.ValidAdg)},sf=function(r){return Ps(r)&&Xn(r,ct.Adg)},cf=function(r){return Xn(r,ct.Ubo)},lf=function(r){return Xn(r,ct.Abp)},df=function(r){var u=zo(r),d=u.filter(function(v){return Os.includes(v)}),o=d.length>0,g=u.includes("".concat(ha).concat(Ts))||u.includes("".concat(zn).concat(Ts));return g?!0:o},he={UBO_SCRIPTLET_MASK_REG:Cs,ABP_SCRIPTLET_MASK:xs,ABP_SCRIPTLET_EXCEPTION_MASK:ks,isComment:Cn,isAdgScriptletRule:Gd,isUboScriptletRule:Yd,isAbpSnippetRule:Kd,getScriptletByName:Ss,isValidScriptletName:Zd,ADG_UBO_REDIRECT_RULE_MARKER:zn,REDIRECT_RULE_TYPES:qo,ABSENT_SOURCE_TYPE_REPLACEMENT:tf,isAdgRedirectRule:Ps,isValidAdgRedirectRule:uf,isAdgRedirectCompatibleWithUbo:sf,isUboRedirectCompatibleWithAdg:cf,isAbpRedirectCompatibleWithAdg:lf,parseModifiers:zo,getRedirectName:js,hasValidContentType:df,isRedirectRuleByType:Xn,RedirectRuleType:ct};function ff(n){if(Array.isArray(n))return n}function pf(n){if(typeof Symbol<"u"&&n[Symbol.iterator]!=null||n["@@iterator"]!=null)return Array.from(n)}function _s(n,r){(r==null||r>n.length)&&(r=n.length);for(var u=0,d=new Array(r);u0&&typeof document<"u"&&document.querySelectorAll(m);var y=h?[d,o,m,h]:[d,o,m];return y},Wf=function(r){var u=Xo(r),d=u[0],o=u[1],g=u.slice(2),v=ce(o,Ko,lt),h=[d,v,...g];return h},$s=function(r){var u=_e(r,he.UBO_SCRIPTLET_MASK_REG),d=r.match(he.UBO_SCRIPTLET_MASK_REG),o=Array.isArray(d)?d[0]:null,g;o!=null&&o.includes("@")?g=Ms:g=Ns;var v=Fr(r),h=Lf(v),m="",y=h[0];if(!y){m="";var f=Yn(g,{domains:u,args:m});return[f]}y.includes(Go)?m="ubo-".concat(h[0]):m="ubo-".concat(h[0]).concat(Go),(_f.includes(m)||If.includes(m))&&(h=$f(h)),Pf.includes(m)&&(h=Wf(h));var l=h.map(function(i,a){var c=i;return a===0&&(c=m),i==="$"&&(c="$$"),i==="$remove$"&&(c="$$remove$$"),c}).map(function(i){return dt(i)}).join("".concat(lt," ")),s=Yn(g,{domains:u,args:l});return[s]},Ws=function(r){var u=/;(?=(?:(?:[^"]*"){2})*[^"]*$)/g,d=r.includes(he.ABP_SCRIPTLET_MASK)?he.ABP_SCRIPTLET_MASK:he.ABP_SCRIPTLET_EXCEPTION_MASK,o=d===he.ABP_SCRIPTLET_MASK?Ns:Ms,g=Ne(r,d),v=Se(r,d);return v.split(u).filter(Bd).map(function(h){return Bf(h).map(function(m,y){return y===0?"abp-".concat(m):m}).map(function(m){return dt(m)}).join("".concat(lt," "))}).map(function(h){return Yn(o,{domains:g,args:h})})},Hs=function(r){if(!r||!he.isAdgScriptletRule(r))return!1;var u;try{return u=ds(r),he.isValidScriptletName(u.name)}catch{return!1}},Hf={[et.Ubo]:he.isUboScriptletRule,[et.Abp]:he.isAbpSnippetRule,[et.AdgValid]:Hs,[et.AdgInvalid]:function(n){return he.isAdgScriptletRule(n)&&!Hs(n)}},Vf={[et.Ubo]:$s,[et.Abp]:Ws,[et.AdgValid]:function(n){return[n]},[et.AdgInvalid]:function(n){return console.log("Invalid AdGuard scriptlet rule: ".concat(n)),[]}},Uf=function(r){return Mf.find(function(u){return Hf[u](r)})},Vs=function(r){if(he.isComment(r))return[r];var u=Uf(r);return u?Vf[u](r):[r]},qf=function(r){var u;if(he.isAdgScriptletRule(r)){var d=ds(r),o=d.name,g=d.args,v=r.match(Is),h=Array.isArray(v)?v[0]:null,m;h!=null&&h.includes("@")?m=hf:m=mf;var y=_e(r,Is);if(!o){var f=Yn(m,{domains:y,args:""});return f}var l;o===Yo&&g[1]===Df?l=[g[0],Af]:o===Yo&&g[1]===Ef?l=[g[0],Ff]:o===Yo&&g[1]===wf?l=[g[0],Cf]:o===xf&&(g[0]===Rf||g[0]===kf)?l=[Sf]:l=g,l&&l.length>0&&(l=l.map(function(b){return b.includes(lt)?ce(b,lt,Ko):b}));var s=Object.keys(Gn),i=s.map(function(b){return Gn[b]}).map(function(b){var F=Xo(b.names),x=F[0],k=F.slice(1);return{name:x,aliases:k}}).find(function(b){return b.name===o||b.aliases.includes(o)}),a=i.aliases;if(a.length>0){var c=i.aliases.find(function(b){return b.includes(Bs)});if(c){var p=c.replace(Bs,"").replace(Go,""),E=l.length>0?"".concat(p,", ").concat(l.join("".concat(lt," "))):p,A=Yn(m,{domains:y,args:E});u=A}}}return u},zf=function(r){if(r.includes("".concat(Cr,"()")))return"";var u=Se(r,"".concat(Cr,"("));if(!u)return null;var d=u[0];if(u=u.slice(1),!u)return null;var o=Ne(u,d);return o===u?null:o},Xf=function(r){if(!r)return!1;var u=Vs(r);if(u.length===0)return!1;var d=u.every(function(o){var g=zf(o);return he.isValidScriptletName(g)});return d},Us=function(r,u,d){var o=u.redirectRuleMarker,g=u.redirectMarker,v;if(o&&(v=r.findIndex(function(h){return h.includes(o)}),v>-1))return{index:v,marker:o};if(v=r.findIndex(function(h){return h.includes(g)}),v>-1)return{index:v,marker:g};throw new Error("No redirect resource modifier found in rule: ".concat(d))},qs=function(r){var u=Ne(r,"$"),d=he.parseModifiers(r),o=Us(d,he.REDIRECT_RULE_TYPES.UBO,r),g=d.map(function(v,h){if(h===o.index){var m=he.getRedirectName([v],o.marker);if(m){var y=he.REDIRECT_RULE_TYPES.UBO.compatibility[m],f=o.marker===he.ADG_UBO_REDIRECT_RULE_MARKER?he.REDIRECT_RULE_TYPES.ADG.redirectRuleMarker:he.REDIRECT_RULE_TYPES.ADG.redirectMarker;return"".concat(f).concat(y)}}return v===yf?bf:v}).join(lt);return"".concat(u,"$").concat(g)},zs=function(r){var u=Ne(r,"$"),d=he.parseModifiers(r),o=d.map(function(g){if(g.includes(he.REDIRECT_RULE_TYPES.ABP.redirectMarker)){var v=Se(g,he.REDIRECT_RULE_TYPES.ABP.redirectMarker),h=he.REDIRECT_RULE_TYPES.ABP.compatibility[v];return"".concat(he.REDIRECT_RULE_TYPES.ADG.redirectMarker).concat(h)}return g}).join(lt);return"".concat(u,"$").concat(o)},Gf=function(r){var u;return he.isUboRedirectCompatibleWithAdg(r)?u=qs(r):he.isAbpRedirectCompatibleWithAdg(r)?u=zs(r):he.isValidAdgRedirectRule(r)&&(u=r),u},Yf=function(r){if(!he.isAdgRedirectCompatibleWithUbo(r))throw new Error("Unable to convert for uBO - unsupported redirect in rule: ".concat(r));var u=Ne(r,"$"),d=he.parseModifiers(r),o=Us(d,he.REDIRECT_RULE_TYPES.ADG,r),g=he.getRedirectName(d,o.marker);if(!g)throw new Error("Unable to convert for uBO - no valid redirect name in rule: ".concat(r));if(!he.hasValidContentType(r)){var v=he.ABSENT_SOURCE_TYPE_REPLACEMENT.find(function(y){return y.NAME===g});if(typeof v>"u")throw new Error("Unable to convert for uBO - no types to add for specific redirect in rule: ".concat(r));var h=v.TYPES;d.push(...h)}var m=d.map(function(y,f){if(f===o.index){var l=o.marker===he.ADG_UBO_REDIRECT_RULE_MARKER?he.REDIRECT_RULE_TYPES.UBO.redirectRuleMarker:he.REDIRECT_RULE_TYPES.UBO.redirectMarker,s=he.REDIRECT_RULE_TYPES.ADG.compatibility[g];return"".concat(l).concat(s)}return y}).join(lt);return"".concat(u,"$").concat(m)},Kf=function(r){var u=r.trim();return he.REDIRECT_RULE_TYPES.ADG.compatibility[u]?u:he.REDIRECT_RULE_TYPES.UBO.compatibility[u]?he.REDIRECT_RULE_TYPES.UBO.compatibility[u]:(u.startsWith(Ls)&&(u=u.slice(Ls.length).trim()),he.REDIRECT_RULE_TYPES.ABP.compatibility[u])},Xs=Yr;Xs.names=["prevent-bab","nobab.js","ubo-nobab.js","bab-defuser.js","ubo-bab-defuser.js","ubo-nobab","ubo-bab-defuser"];function Jo(n){var r={set:G},u={send:G},d={displayCart:{products:r,cart:r},updateCart:{cart:r},displayProduct:{products:r},displayPageProduct:{products:r},addProduct:{products:r},removeProduct:{products:r}},o=function(){};o.prototype={setConfig:G,setParam:G,dispatch:G,customVars:r,publisher:r,order:r,click:u,clickListener:u,internalSearch:{set:G,send:G},ecommerce:d,identifiedVisitor:{unset:G},page:{set:G,send:G},selfPromotion:{add:G,send:G},privacy:{setVisitorMode:G,getVisitorMode:G,hit:G},richMedia:{add:G,send:G,remove:G,removeAll:G}};var g={Tracker:{Tag:o}};window.ATInternet=g,z(n)}Jo.names=["ati-smarttag"],Jo.injections=[z,G];function Qo(n){var r=document.currentScript;if(r!==null){var u=r.src;if(typeof u=="string"){var d=["adclixx\\.net","adnetasia\\.com","adtrackers\\.net","bannertrack\\.net"].join("|"),o="^https?://[\\w-]+\\.(".concat(d,")/."),g=new RegExp(o);g.test(u)!==!1&&(window.nH7eXzOsG=858,z(n))}}}Qo.names=["prevent-bab2","nobab2.js"],Qo.injections=[z];function Zo(n){window.canRunAds=!0,window.isAdBlockActive=!1,z(n)}Zo.names=["prebid-ads","ubo-prebid-ads.js","prebid-ads.js"],Zo.injections=[z];var Gs=Object.freeze({__proto__:null,ATInternetSmartTag:Jo,AmazonApstag:ea,DidomiLoader:ta,Fingerprintjs2:na,Fingerprintjs3:ra,Gemius:aa,GoogleAnalytics:ia,GoogleAnalyticsGa:oa,GoogleIma3:ua,GoogleSyndicationAdsByGoogle:sa,GoogleTagServicesGpt:ca,Matomo:la,NaverWcslog:pa,Pardot:va,Prebid:ga,ScoreCardResearchBeacon:ma,metrikaYandexTag:da,metrikaYandexWatch:fa,noeval:Kr,prebidAds:Zo,preventBab:Xs,preventBab2:Qo,preventFab:Jr,preventPopadsNet:Zr,setPopadsDummy:Qr});function Kn(n){"@babel/helpers - typeof";return Kn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},Kn(n)}function Jf(n,r){if(Kn(n)!=="object"||n===null)return n;var u=n[Symbol.toPrimitive];if(u!==void 0){var d=u.call(n,r||"default");if(Kn(d)!=="object")return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(n)}function Qf(n){var r=Jf(n,"string");return Kn(r)==="symbol"?r:String(r)}function Zf(n,r,u){return r=Qf(r),r in n?Object.defineProperty(n,r,{value:u,enumerable:!0,configurable:!0,writable:!0}):n[r]=u,n}function ep(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var Te={},Jn={},at={};function Ys(n){return typeof n>"u"||n===null}function tp(n){return typeof n=="object"&&n!==null}function np(n){return Array.isArray(n)?n:Ys(n)?[]:[n]}function rp(n,r){var u,d,o,g;if(r)for(g=Object.keys(r),u=0,d=g.length;u0&&`\0\r +\x85\u2028\u2029`.indexOf(this.buffer.charAt(o-1))===-1;)if(o-=1,this.position-o>u/2-1){d=" ... ",o+=5;break}for(g="",v=this.position;vu/2-1){g=" ... ",v-=5;break}return h=this.buffer.slice(o,v),Ks.repeat(" ",r)+d+h+g+` +`+Ks.repeat(" ",r+this.position-o+d.length)+"^"},eu.prototype.toString=function(r){var u,d="";return this.name&&(d+='in "'+this.name+'" '),d+="at line "+(this.line+1)+", column "+(this.column+1),r||(u=this.getSnippet(),u&&(d+=`: +`+u)),d};var op=eu,Js=Zn,up=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],sp=["scalar","sequence","mapping"];function cp(n){var r={};return n!==null&&Object.keys(n).forEach(function(u){n[u].forEach(function(d){r[String(d)]=u})}),r}function lp(n,r){if(r=r||{},Object.keys(r).forEach(function(u){if(up.indexOf(u)===-1)throw new Js('Unknown option "'+u+'" is met in definition of "'+n+'" YAML type.')}),this.tag=n,this.kind=r.kind||null,this.resolve=r.resolve||function(){return!0},this.construct=r.construct||function(u){return u},this.instanceOf=r.instanceOf||null,this.predicate=r.predicate||null,this.represent=r.represent||null,this.defaultStyle=r.defaultStyle||null,this.styleAliases=cp(r.styleAliases||null),sp.indexOf(this.kind)===-1)throw new Js('Unknown kind "'+this.kind+'" is specified for "'+n+'" YAML type.')}var We=lp,Qs=at,ba=Zn,dp=We;function tu(n,r,u){var d=[];return n.include.forEach(function(o){u=tu(o,r,u)}),n[r].forEach(function(o){u.forEach(function(g,v){g.tag===o.tag&&g.kind===o.kind&&d.push(v)}),u.push(o)}),u.filter(function(o,g){return d.indexOf(g)===-1})}function fp(){var n={scalar:{},sequence:{},mapping:{},fallback:{}},r,u;function d(o){n[o.kind][o.tag]=n.fallback[o.tag]=o}for(r=0,u=arguments.length;r=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Zs=at,Lp=We,$p=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Wp(n){return!(n===null||!$p.test(n)||n[n.length-1]==="_")}function Hp(n){var r,u,d,o;return r=n.replace(/_/g,"").toLowerCase(),u=r[0]==="-"?-1:1,o=[],"+-".indexOf(r[0])>=0&&(r=r.slice(1)),r===".inf"?u===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:r===".nan"?NaN:r.indexOf(":")>=0?(r.split(":").forEach(function(g){o.unshift(parseFloat(g,10))}),r=0,d=1,o.forEach(function(g){r+=g*d,d*=60}),u*r):u*parseFloat(r,10)}var Vp=/^[-+]?[0-9]+e/;function Up(n,r){var u;if(isNaN(n))switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===n)switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===n)switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Zs.isNegativeZero(n))return"-0.0";return u=n.toString(10),Vp.test(u)?u.replace("e",".e"):u}function qp(n){return Object.prototype.toString.call(n)==="[object Number]"&&(n%1!==0||Zs.isNegativeZero(n))}var zp=new Lp("tag:yaml.org,2002:float",{kind:"scalar",resolve:Wp,construct:Hp,predicate:qp,represent:Up,defaultStyle:"lowercase"}),Xp=kn,ec=new Xp({include:[nu],implicit:[Fp,Sp,Bp,zp]}),Gp=kn,tc=new Gp({include:[ec]}),Yp=We,nc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),rc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Kp(n){return n===null?!1:nc.exec(n)!==null||rc.exec(n)!==null}function Jp(n){var r,u,d,o,g,v,h,m=0,y=null,f,l,s;if(r=nc.exec(n),r===null&&(r=rc.exec(n)),r===null)throw new Error("Date resolve error");if(u=+r[1],d=+r[2]-1,o=+r[3],!r[4])return new Date(Date.UTC(u,d,o));if(g=+r[4],v=+r[5],h=+r[6],r[7]){for(m=r[7].slice(0,3);m.length<3;)m+="0";m=+m}return r[9]&&(f=+r[10],l=+(r[11]||0),y=(f*60+l)*6e4,r[9]==="-"&&(y=-y)),s=new Date(Date.UTC(u,d,o,g,v,h,m)),y&&s.setTime(s.getTime()-y),s}function Qp(n){return n.toISOString()}var Zp=new Yp("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Kp,construct:Jp,instanceOf:Date,represent:Qp}),ev=We;function tv(n){return n==="<<"||n===null}var nv=new ev("tag:yaml.org,2002:merge",{kind:"scalar",resolve:tv});function ac(n){throw new Error('Could not dynamically require "'+n+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var nn;try{var rv=ac;nn=rv("buffer").Buffer}catch{}var av=We,ru=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;function iv(n){if(n===null)return!1;var r,u,d=0,o=n.length,g=ru;for(u=0;u64)){if(r<0)return!1;d+=6}return d%8===0}function ov(n){var r,u,d=n.replace(/[\r\n=]/g,""),o=d.length,g=ru,v=0,h=[];for(r=0;r>16&255),h.push(v>>8&255),h.push(v&255)),v=v<<6|g.indexOf(d.charAt(r));return u=o%4*6,u===0?(h.push(v>>16&255),h.push(v>>8&255),h.push(v&255)):u===18?(h.push(v>>10&255),h.push(v>>2&255)):u===12&&h.push(v>>4&255),nn?nn.from?nn.from(h):new nn(h):h}function uv(n){var r="",u=0,d,o,g=n.length,v=ru;for(d=0;d>18&63],r+=v[u>>12&63],r+=v[u>>6&63],r+=v[u&63]),u=(u<<8)+n[d];return o=g%3,o===0?(r+=v[u>>18&63],r+=v[u>>12&63],r+=v[u>>6&63],r+=v[u&63]):o===2?(r+=v[u>>10&63],r+=v[u>>4&63],r+=v[u<<2&63],r+=v[64]):o===1&&(r+=v[u>>2&63],r+=v[u<<4&63],r+=v[64],r+=v[64]),r}function sv(n){return nn&&nn.isBuffer(n)}var cv=new av("tag:yaml.org,2002:binary",{kind:"scalar",resolve:iv,construct:ov,predicate:sv,represent:uv}),lv=We,dv=Object.prototype.hasOwnProperty,fv=Object.prototype.toString;function pv(n){if(n===null)return!0;var r=[],u,d,o,g,v,h=n;for(u=0,d=h.length;u"u"}var jv=new kv("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Rv,construct:Sv,predicate:Ov,represent:Tv}),Pv=We;function _v(n){if(n===null||n.length===0)return!1;var r=n,u=/\/([gim]*)$/.exec(n),d="";return!(r[0]==="/"&&(u&&(d=u[1]),d.length>3||r[r.length-d.length-1]!=="/"))}function Iv(n){var r=n,u=/\/([gim]*)$/.exec(n),d="";return r[0]==="/"&&(u&&(d=u[1]),r=r.slice(1,r.length-d.length-1)),new RegExp(r,d)}function Nv(n){var r="/"+n.source+"/";return n.global&&(r+="g"),n.multiline&&(r+="m"),n.ignoreCase&&(r+="i"),r}function Mv(n){return Object.prototype.toString.call(n)==="[object RegExp]"}var Bv=new Pv("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:_v,construct:Iv,predicate:Mv,represent:Nv}),Da;try{var Lv=ac;Da=Lv("esprima")}catch{typeof window<"u"&&(Da=window.esprima)}var $v=We;function Wv(n){if(n===null)return!1;try{var r="("+n+")",u=Da.parse(r,{range:!0});return!(u.type!=="Program"||u.body.length!==1||u.body[0].type!=="ExpressionStatement"||u.body[0].expression.type!=="ArrowFunctionExpression"&&u.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Hv(n){var r="("+n+")",u=Da.parse(r,{range:!0}),d=[],o;if(u.type!=="Program"||u.body.length!==1||u.body[0].type!=="ExpressionStatement"||u.body[0].expression.type!=="ArrowFunctionExpression"&&u.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return u.body[0].expression.params.forEach(function(g){d.push(g.name)}),o=u.body[0].expression.body.range,u.body[0].expression.body.type==="BlockStatement"?new Function(d,r.slice(o[0]+1,o[1]-1)):new Function(d,"return "+r.slice(o[0],o[1]))}function Vv(n){return n.toString()}function Uv(n){return Object.prototype.toString.call(n)==="[object Function]"}var qv=new $v("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Wv,construct:Hv,predicate:Uv,represent:Vv}),ic=kn,Ea=ic.DEFAULT=new ic({include:[er],explicit:[jv,Bv,qv]}),Tt=at,oc=Zn,zv=op,uc=er,Xv=Ea,Ut=Object.prototype.hasOwnProperty,wa=1,sc=2,cc=3,Aa=4,au=1,Gv=2,lc=3,Yv=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Kv=/[\x85\u2028\u2029]/,Jv=/[,\[\]\{\}]/,dc=/^(?:!|!!|![a-z\-]+!)$/i,fc=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function pc(n){return Object.prototype.toString.call(n)}function yt(n){return n===10||n===13}function rn(n){return n===9||n===32}function Je(n){return n===9||n===32||n===10||n===13}function Rn(n){return n===44||n===91||n===93||n===123||n===125}function Qv(n){var r;return 48<=n&&n<=57?n-48:(r=n|32,97<=r&&r<=102?r-97+10:-1)}function Zv(n){return n===120?2:n===117?4:n===85?8:0}function eg(n){return 48<=n&&n<=57?n-48:-1}function vc(n){return n===48?"\0":n===97?"\x07":n===98?"\b":n===116||n===9?" ":n===110?` +`:n===118?"\v":n===102?"\f":n===114?"\r":n===101?"\x1B":n===32?" ":n===34?'"':n===47?"/":n===92?"\\":n===78?"\x85":n===95?"\xA0":n===76?"\u2028":n===80?"\u2029":""}function tg(n){return n<=65535?String.fromCharCode(n):String.fromCharCode((n-65536>>10)+55296,(n-65536&1023)+56320)}for(var gc=new Array(256),mc=new Array(256),Sn=0;Sn<256;Sn++)gc[Sn]=vc(Sn)?1:0,mc[Sn]=vc(Sn);function ng(n,r){this.input=n,this.filename=r.filename||null,this.schema=r.schema||Xv,this.onWarning=r.onWarning||null,this.legacy=r.legacy||!1,this.json=r.json||!1,this.listener=r.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=n.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function hc(n,r){return new oc(r,new zv(n.filename,n.input,n.position,n.line,n.position-n.lineStart))}function ye(n,r){throw hc(n,r)}function Fa(n,r){n.onWarning&&n.onWarning.call(null,hc(n,r))}var yc={YAML:function(r,u,d){var o,g,v;r.version!==null&&ye(r,"duplication of %YAML directive"),d.length!==1&&ye(r,"YAML directive accepts exactly one argument"),o=/^([0-9]+)\.([0-9]+)$/.exec(d[0]),o===null&&ye(r,"ill-formed argument of the YAML directive"),g=parseInt(o[1],10),v=parseInt(o[2],10),g!==1&&ye(r,"unacceptable YAML version of the document"),r.version=d[0],r.checkLineBreaks=v<2,v!==1&&v!==2&&Fa(r,"unsupported YAML version of the document")},TAG:function(r,u,d){var o,g;d.length!==2&&ye(r,"TAG directive accepts exactly two arguments"),o=d[0],g=d[1],dc.test(o)||ye(r,"ill-formed tag handle (first argument) of the TAG directive"),Ut.call(r.tagMap,o)&&ye(r,'there is a previously declared suffix for "'+o+'" tag handle'),fc.test(g)||ye(r,"ill-formed tag prefix (second argument) of the TAG directive"),r.tagMap[o]=g}};function qt(n,r,u,d){var o,g,v,h;if(r1&&(n.result+=Tt.repeat(` +`,r-1))}function rg(n,r,u){var d,o,g,v,h,m,y,f,l=n.kind,s=n.result,i;if(i=n.input.charCodeAt(n.position),Je(i)||Rn(i)||i===35||i===38||i===42||i===33||i===124||i===62||i===39||i===34||i===37||i===64||i===96||(i===63||i===45)&&(o=n.input.charCodeAt(n.position+1),Je(o)||u&&Rn(o)))return!1;for(n.kind="scalar",n.result="",g=v=n.position,h=!1;i!==0;){if(i===58){if(o=n.input.charCodeAt(n.position+1),Je(o)||u&&Rn(o))break}else if(i===35){if(d=n.input.charCodeAt(n.position-1),Je(d))break}else{if(n.position===n.lineStart&&Ca(n)||u&&Rn(i))break;if(yt(i))if(m=n.line,y=n.lineStart,f=n.lineIndent,Ie(n,!1,-1),n.lineIndent>=r){h=!0,i=n.input.charCodeAt(n.position);continue}else{n.position=v,n.line=m,n.lineStart=y,n.lineIndent=f;break}}h&&(qt(n,g,v,!1),ou(n,n.line-m),g=v=n.position,h=!1),rn(i)||(v=n.position+1),i=n.input.charCodeAt(++n.position)}return qt(n,g,v,!1),n.result?!0:(n.kind=l,n.result=s,!1)}function ag(n,r){var u,d,o;if(u=n.input.charCodeAt(n.position),u!==39)return!1;for(n.kind="scalar",n.result="",n.position++,d=o=n.position;(u=n.input.charCodeAt(n.position))!==0;)if(u===39)if(qt(n,d,n.position,!0),u=n.input.charCodeAt(++n.position),u===39)d=n.position,n.position++,o=n.position;else return!0;else yt(u)?(qt(n,d,o,!0),ou(n,Ie(n,!1,r)),d=o=n.position):n.position===n.lineStart&&Ca(n)?ye(n,"unexpected end of the document within a single quoted scalar"):(n.position++,o=n.position);ye(n,"unexpected end of the stream within a single quoted scalar")}function ig(n,r){var u,d,o,g,v,h;if(h=n.input.charCodeAt(n.position),h!==34)return!1;for(n.kind="scalar",n.result="",n.position++,u=d=n.position;(h=n.input.charCodeAt(n.position))!==0;){if(h===34)return qt(n,u,n.position,!0),n.position++,!0;if(h===92){if(qt(n,u,n.position,!0),h=n.input.charCodeAt(++n.position),yt(h))Ie(n,!1,r);else if(h<256&&gc[h])n.result+=mc[h],n.position++;else if((v=Zv(h))>0){for(o=v,g=0;o>0;o--)h=n.input.charCodeAt(++n.position),(v=Qv(h))>=0?g=(g<<4)+v:ye(n,"expected hexadecimal character");n.result+=tg(g),n.position++}else ye(n,"unknown escape sequence");u=d=n.position}else yt(h)?(qt(n,u,d,!0),ou(n,Ie(n,!1,r)),u=d=n.position):n.position===n.lineStart&&Ca(n)?ye(n,"unexpected end of the document within a double quoted scalar"):(n.position++,d=n.position)}ye(n,"unexpected end of the stream within a double quoted scalar")}function og(n,r){var u=!0,d,o=n.tag,g,v=n.anchor,h,m,y,f,l,s={},i,a,c,p;if(p=n.input.charCodeAt(n.position),p===91)m=93,l=!1,g=[];else if(p===123)m=125,l=!0,g={};else return!1;for(n.anchor!==null&&(n.anchorMap[n.anchor]=g),p=n.input.charCodeAt(++n.position);p!==0;){if(Ie(n,!0,r),p=n.input.charCodeAt(n.position),p===m)return n.position++,n.tag=o,n.anchor=v,n.kind=l?"mapping":"sequence",n.result=g,!0;u||ye(n,"missed comma between flow collection entries"),a=i=c=null,y=f=!1,p===63&&(h=n.input.charCodeAt(n.position+1),Je(h)&&(y=f=!0,n.position++,Ie(n,!0,r))),d=n.line,On(n,r,wa,!1,!0),a=n.tag,i=n.result,Ie(n,!0,r),p=n.input.charCodeAt(n.position),(f||n.line===d)&&p===58&&(y=!0,p=n.input.charCodeAt(++n.position),Ie(n,!0,r),On(n,r,wa,!1,!0),c=n.result),l?Tn(n,g,s,a,i,c):y?g.push(Tn(n,null,s,a,i,c)):g.push(i),Ie(n,!0,r),p=n.input.charCodeAt(n.position),p===44?(u=!0,p=n.input.charCodeAt(++n.position)):u=!1}ye(n,"unexpected end of the stream within a flow collection")}function ug(n,r){var u,d,o=au,g=!1,v=!1,h=r,m=0,y=!1,f,l;if(l=n.input.charCodeAt(n.position),l===124)d=!1;else if(l===62)d=!0;else return!1;for(n.kind="scalar",n.result="";l!==0;)if(l=n.input.charCodeAt(++n.position),l===43||l===45)au===o?o=l===43?lc:Gv:ye(n,"repeat of a chomping mode identifier");else if((f=eg(l))>=0)f===0?ye(n,"bad explicit indentation width of a block scalar; it cannot be less than one"):v?ye(n,"repeat of an indentation width identifier"):(h=r+f-1,v=!0);else break;if(rn(l)){do l=n.input.charCodeAt(++n.position);while(rn(l));if(l===35)do l=n.input.charCodeAt(++n.position);while(!yt(l)&&l!==0)}for(;l!==0;){for(iu(n),n.lineIndent=0,l=n.input.charCodeAt(n.position);(!v||n.lineIndenth&&(h=n.lineIndent),yt(l)){m++;continue}if(n.lineIndentr)&&m!==0)ye(n,"bad indentation of a sequence entry");else if(n.lineIndentr)&&(On(n,r,Aa,!0,o)&&(a?s=n.result:i=n.result),a||(Tn(n,y,f,l,s,i,g,v),l=s=i=null),Ie(n,!0,-1),p=n.input.charCodeAt(n.position)),n.lineIndent>r&&p!==0)ye(n,"bad indentation of a mapping entry");else if(n.lineIndentr?m=1:n.lineIndent===r?m=0:n.lineIndentr?m=1:n.lineIndent===r?m=0:n.lineIndent tag; it should be "scalar", not "'+n.kind+'"'),l=0,s=n.implicitTypes.length;l tag; it should be "'+i.kind+'", not "'+n.kind+'"'),i.resolve(n.result)?(n.result=i.construct(n.result),n.anchor!==null&&(n.anchorMap[n.anchor]=n.result)):ye(n,"cannot resolve a node with !<"+n.tag+"> explicit tag")):ye(n,"unknown tag !<"+n.tag+">");return n.listener!==null&&n.listener("close",n),n.tag!==null||n.anchor!==null||f}function fg(n){var r=n.position,u,d,o,g=!1,v;for(n.version=null,n.checkLineBreaks=n.legacy,n.tagMap={},n.anchorMap={};(v=n.input.charCodeAt(n.position))!==0&&(Ie(n,!0,-1),v=n.input.charCodeAt(n.position),!(n.lineIndent>0||v!==37));){for(g=!0,v=n.input.charCodeAt(++n.position),u=n.position;v!==0&&!Je(v);)v=n.input.charCodeAt(++n.position);for(d=n.input.slice(u,n.position),o=[],d.length<1&&ye(n,"directive name must not be less than one character in length");v!==0;){for(;rn(v);)v=n.input.charCodeAt(++n.position);if(v===35){do v=n.input.charCodeAt(++n.position);while(v!==0&&!yt(v));break}if(yt(v))break;for(u=n.position;v!==0&&!Je(v);)v=n.input.charCodeAt(++n.position);o.push(n.input.slice(u,n.position))}v!==0&&iu(n),Ut.call(yc,d)?yc[d](n,d,o):Fa(n,'unknown document directive "'+d+'"')}if(Ie(n,!0,-1),n.lineIndent===0&&n.input.charCodeAt(n.position)===45&&n.input.charCodeAt(n.position+1)===45&&n.input.charCodeAt(n.position+2)===45?(n.position+=3,Ie(n,!0,-1)):g&&ye(n,"directives end mark is expected"),On(n,n.lineIndent-1,Aa,!1,!0),Ie(n,!0,-1),n.checkLineBreaks&&Kv.test(n.input.slice(r,n.position))&&Fa(n,"non-ASCII line breaks are interpreted as content"),n.documents.push(n.result),n.position===n.lineStart&&Ca(n)){n.input.charCodeAt(n.position)===46&&(n.position+=3,Ie(n,!0,-1));return}if(n.position"u"&&(u=r,r=null);var d=Ec(n,u);if(typeof r!="function")return d;for(var o=0,g=d.length;o"u"&&(u=r,r=null),wc(n,r,Tt.extend({schema:uc},u))}function vg(n,r){return Ac(n,Tt.extend({schema:uc},r))}Jn.loadAll=wc,Jn.load=Ac,Jn.safeLoadAll=pg,Jn.safeLoad=vg;var uu={},tr=at,nr=Zn,gg=Ea,mg=er,Fc=Object.prototype.toString,Cc=Object.prototype.hasOwnProperty,hg=9,rr=10,yg=13,bg=32,Dg=33,Eg=34,xc=35,wg=37,Ag=38,Fg=39,Cg=42,kc=44,xg=45,Rc=58,kg=61,Rg=62,Sg=63,Tg=64,Sc=91,Tc=93,Og=96,Oc=123,jg=124,jc=125,ze={};ze[0]="\\0",ze[7]="\\a",ze[8]="\\b",ze[9]="\\t",ze[10]="\\n",ze[11]="\\v",ze[12]="\\f",ze[13]="\\r",ze[27]="\\e",ze[34]='\\"',ze[92]="\\\\",ze[133]="\\N",ze[160]="\\_",ze[8232]="\\L",ze[8233]="\\P";var Pg=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function _g(n,r){var u,d,o,g,v,h,m;if(r===null)return{};for(u={},d=Object.keys(r),o=0,g=d.length;o0?n.charCodeAt(g-1):null,s=s&&Ic(v,h)}else{for(g=0;gd&&n[l+1]!==" ",l=g);else if(!jn(v))return xa;h=g>0?n.charCodeAt(g-1):null,s=s&&Ic(v,h)}y=y||f&&g-l-1>d&&n[l+1]!==" "}return!m&&!y?s&&!o(n)?Mc:Bc:u>9&&Nc(n)?xa:y?$c:Lc}function $g(n,r,u,d){n.dump=function(){if(r.length===0)return"''";if(!n.noCompatMode&&Pg.indexOf(r)!==-1)return"'"+r+"'";var o=n.indent*Math.max(1,u),g=n.lineWidth===-1?-1:Math.max(Math.min(n.lineWidth,40),n.lineWidth-o),v=d||n.flowLevel>-1&&u>=n.flowLevel;function h(m){return Ng(n,m)}switch(Lg(r,v,n.indent,g,h)){case Mc:return r;case Bc:return"'"+r.replace(/'/g,"''")+"'";case Lc:return"|"+Wc(r,n.indent)+Hc(_c(r,o));case $c:return">"+Wc(r,n.indent)+Hc(_c(Wg(r,g),o));case xa:return'"'+Hg(r)+'"';default:throw new nr("impossible error: invalid scalar style")}}()}function Wc(n,r){var u=Nc(n)?String(r):"",d=n[n.length-1]===` +`,o=d&&(n[n.length-2]===` +`||n===` +`),g=o?"+":d?"":"-";return u+g+` +`}function Hc(n){return n[n.length-1]===` +`?n.slice(0,-1):n}function Wg(n,r){for(var u=/(\n+)([^\n]*)/g,d=function(){var y=n.indexOf(` +`);return y=y!==-1?y:n.length,u.lastIndex=y,Vc(n.slice(0,y),r)}(),o=n[0]===` +`||n[0]===" ",g,v;v=u.exec(n);){var h=v[1],m=v[2];g=m[0]===" ",d+=h+(!o&&!g&&m!==""?` +`:"")+Vc(m,r),o=g}return d}function Vc(n,r){if(n===""||n[0]===" ")return n;for(var u=/ [^ ]/g,d,o=0,g,v=0,h=0,m="";d=u.exec(n);)h=d.index,h-o>r&&(g=v>o?v:h,m+=` +`+n.slice(o,g),o=g+1),v=h;return m+=` +`,n.length-o>r&&v>o?m+=n.slice(o,v)+` +`+n.slice(v+1):m+=n.slice(o),m.slice(1)}function Hg(n){for(var r="",u,d,o,g=0;g=55296&&u<=56319&&(d=n.charCodeAt(g+1),d>=56320&&d<=57343)){r+=Pc((u-55296)*1024+d-56320+65536),g++;continue}o=ze[u],r+=!o&&jn(u)?n[g]:o||Pc(u)}return r}function Vg(n,r,u){var d="",o=n.tag,g,v;for(g=0,v=u.length;g1024&&(f+="? "),f+=n.dump+(n.condenseFlow?'"':"")+":"+(n.condenseFlow?"":" "),an(n,r,y,!1,!1)&&(f+=n.dump,d+=f));n.tag=o,n.dump="{"+d+"}"}function zg(n,r,u,d){var o="",g=n.tag,v=Object.keys(u),h,m,y,f,l,s;if(n.sortKeys===!0)v.sort();else if(typeof n.sortKeys=="function")v.sort(n.sortKeys);else if(n.sortKeys)throw new nr("sortKeys must be a boolean or a function");for(h=0,m=v.length;h1024,l&&(n.dump&&rr===n.dump.charCodeAt(0)?s+="?":s+="? "),s+=n.dump,l&&(s+=su(n,r)),an(n,r+1,f,!0,l)&&(n.dump&&rr===n.dump.charCodeAt(0)?s+=":":s+=": ",s+=n.dump,o+=s));n.tag=g,n.dump=o||"{}"}function Uc(n,r,u){var d,o,g,v,h,m;for(o=u?n.explicitTypes:n.implicitTypes,g=0,v=o.length;g tag resolver accepts not "'+m+'" style');n.dump=d}return!0}return!1}function an(n,r,u,d,o,g){n.tag=null,n.dump=u,Uc(n,u,!1)||Uc(n,u,!0);var v=Fc.call(n.dump);d&&(d=n.flowLevel<0||n.flowLevel>r);var h=v==="[object Object]"||v==="[object Array]",m,y;if(h&&(m=n.duplicates.indexOf(u),y=m!==-1),(n.tag!==null&&n.tag!=="?"||y||n.indent!==2&&r>0)&&(o=!1),y&&n.usedDuplicates[m])n.dump="*ref_"+m;else{if(h&&y&&!n.usedDuplicates[m]&&(n.usedDuplicates[m]=!0),v==="[object Object]")d&&Object.keys(n.dump).length!==0?(zg(n,r,n.dump,o),y&&(n.dump="&ref_"+m+n.dump)):(qg(n,r,n.dump),y&&(n.dump="&ref_"+m+" "+n.dump));else if(v==="[object Array]"){var f=n.noArrayIndent&&r>0?r-1:r;d&&n.dump.length!==0?(Ug(n,f,n.dump,o),y&&(n.dump="&ref_"+m+n.dump)):(Vg(n,f,n.dump),y&&(n.dump="&ref_"+m+" "+n.dump))}else if(v==="[object String]")n.tag!=="?"&&$g(n,n.dump,r,g);else{if(n.skipInvalid)return!1;throw new nr("unacceptable kind of an object to dump "+v)}n.tag!==null&&n.tag!=="?"&&(n.dump="!<"+n.tag+"> "+n.dump)}return!0}function Xg(n,r){var u=[],d=[],o,g;for(lu(n,u,d),o=0,g=d.length;o2&&arguments[2]!==void 0?arguments[2]:!1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,l=h.name,s=h.verbose;if(!(!y&&!s)){var i=console.log;if(!f){i("".concat(l,":"),m);return}i("".concat(l,": ").concat(m))}}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function gu(n,r){function u(h){var m,y="3.453.0",f={},l=function(V){var U=document.createElement("div");U.style.setProperty("display","none","important"),U.style.setProperty("visibility","collapse","important"),V&&V.appendChild(U)};l.prototype.destroy=o,l.prototype.initialize=o;var s=function(){};s.CompanionBackfillMode={ALWAYS:"always",ON_MASTER_AD:"on_master_ad"},s.VpaidMode={DISABLED:0,ENABLED:1,INSECURE:2},s.prototype={c:!0,f:{},i:!1,l:"",p:"",r:0,t:"",v:"",getCompanionBackfill:o,getDisableCustomPlaybackForIOS10Plus(){return this.i},getDisabledFlashAds:function(){return!0},getFeatureFlags(){return this.f},getLocale(){return this.l},getNumRedirects(){return this.r},getPlayerType(){return this.t},getPlayerVersion(){return this.v},getPpid(){return this.p},getVpaidMode(){return this.C},isCookiesEnabled(){return this.c},isVpaidAdapter(){return this.M},setCompanionBackfill:o,setAutoPlayAdBreaks(M){this.K=M},setCookiesEnabled(M){this.c=!!M},setDisableCustomPlaybackForIOS10Plus(M){this.i=!!M},setDisableFlashAds:o,setFeatureFlags(M){this.f=!!M},setIsVpaidAdapter(M){this.M=M},setLocale(M){this.l=!!M},setNumRedirects(M){this.r=!!M},setPageCorrelator(M){this.R=M},setPlayerType(M){this.t=!!M},setPlayerVersion(M){this.v=!!M},setPpid(M){this.p=!!M},setVpaidMode(M){this.C=M},setSessionId:o,setStreamCorrelator:o,setVpaidAllowed:o,CompanionBackfillMode:{ALWAYS:"always",ON_MASTER_AD:"on_master_ad"},VpaidMode:{DISABLED:0,ENABLED:1,INSECURE:2}};var i=function(){this.listeners=new Map,this._dispatch=function(V){var U=this.listeners.get(V.type);U=U?U.values():[];for(var X=0,Z=Array.from(U);X2&&arguments[2]!==void 0?arguments[2]:!1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,l=h.name,s=h.verbose;if(!(!y&&!s)){var i=console.log;if(!f){i("".concat(l,":"),m);return}i("".concat(l,": ").concat(m))}}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function mu(n,r){function u(g){window.adsbygoogle={loaded:!0,push(F){if(typeof this.length>"u"&&(this.length=0,this.length+=1),F!==null&&F instanceof Object&&F.constructor.name==="Object")for(var x=0,k=Object.keys(F);x0&&(c=a===2&&i[0].nodeName.toLowerCase()==="iframe"&&i[0].id.includes(y)&&i[1].nodeName.toLowerCase()==="iframe"&&i[1].id.includes(f)),!c){v[s].setAttribute(m,"done");var p=document.createElement("iframe");p.id="".concat(y).concat(s),p.style=h,v[s].appendChild(p);var E=document.createElement("iframe");p.contentWindow.document.body.appendChild(E);var A=document.createElement("iframe");A.id="".concat(f).concat(s),A.style=h,v[s].appendChild(A);var b=document.createElement("iframe");A.contentWindow.document.body.appendChild(b),l=!0}}l&&d(g)}function d(g){if(g.verbose===!0){try{var v=console.log.bind(console),h=console.trace.bind(console),m=g.ruleText||"";if(g.domainName){var y="#%#//",f="##+js",l;g.ruleText.includes(y)?l=g.ruleText.indexOf(y):g.ruleText.includes(f)&&(l=g.ruleText.indexOf(f));var s=g.ruleText.slice(l);m="".concat(g.domainName).concat(s)}v("".concat(m," trace start")),h&&h(),v("".concat(m," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(g)}}var o=r?[].concat(n).concat(r):[n];try{u.apply(this,o)}catch(g){console.log(g)}}function hu(n,r){function u(l){var s=new Map,i=new Map,a=new Map,c=new Map,p=new Map,E=new Map,A=function(Y,oe){return p.has(Y)||p.set(Y,new Set),p.get(Y).add(oe),this},b=function(Y,oe){return p.has(Y)?p.get(Y).delete(oe):!1},F=function(Y,oe){return new Promise(function(te){requestAnimationFrame(function(){for(var ne=[0,0],K=p.get(Y)||[],re=Array.from(K),ue=0;ue",K.style="position:absolute; width:0; height:0; left:0; right:0; z-index:-1; border:0",K.setAttribute("width",0),K.setAttribute("height",0),K.setAttribute("data-load-complete",!0),K.setAttribute("data-google-container-id",!0),K.setAttribute("sandbox",""),ne.appendChild(K)}},w=function(Y){if(Y){var oe=Y.getSlotElementId();if(document.getElementById(oe)){var te=document.getElementById(oe);te&&te.appendChild(document.createElement("div")),x(Y),k(Y),F("slotRenderEnded",Y),F("slotRequested",Y),F("slotResponseReceived",Y),F("slotOnload",Y),F("impressionViewable",Y)}}},S={addEventListener:A,removeEventListener:b,enableSyncLoading:o,setRefreshUnfilledSlots:o,getSlots:h},j={addEventListener:A,removeEventListener:b,setContent:o};function C(){}C.prototype.display=o,C.prototype.get=v,C.prototype.set=g,C.prototype.setClickUrl=g,C.prototype.setTagForChildDirectedTreatment=g,C.prototype.setTargeting=g,C.prototype.updateTargetingFromMap=g;function T(){}T.prototype.addSize=g,T.prototype.build=v;var _=function(Y){if(typeof Y=="string")return[Y];try{return Array.prototype.flat.call(Y)}catch{}return[]},I=function(Y,oe){if(typeof oe=="object")for(var te in oe)Object.prototype.hasOwnProperty.call(oe,te)&&Y.set(te,_(oe[te]))},L=function(Y,oe,te){if(i.has(te)){var ne;return(ne=document.getElementById(te))===null||ne===void 0||ne.remove(),i.get(te)}var K=new Map,re=new Map,ue=new Set,le={advertiserId:void 0,campaignId:void 0,creativeId:void 0,creativeTemplateId:void 0,lineItemId:void 0},ee=[{getHeight:function(){return 2},getWidth:function(){return 2}}],ae=(a.get(Y)||0)+1;a.set(Y,ae);var fe="".concat(Y,"_").concat(ae),ve="",we=null,De=new Set,Ae={addService(ge){return De.add(ge),Ae},clearCategoryExclusions:g,clearTargeting(ge){ge===void 0?re.clear():re.delete(ge)},defineSizeMapping(ge){return c.set(te,ge),this},get:function(xe){return K.get(xe)},getAdUnitPath:function(){return Y},getAttributeKeys:function(){return Array.from(K.keys())},getCategoryExclusions:function(){return Array.from(ue)},getClickUrl:function(){return ve},getCollapseEmptyDiv:function(){return we},getContentUrl:function(){return""},getDivStartsCollapsed:function(){return null},getDomId:function(){return te},getEscapedQemQueryId:function(){return""},getFirstLook:function(){return 0},getId:function(){return fe},getHtml:function(){return""},getName:function(){return fe},getOutOfPage:function(){return!1},getResponseInformation:function(){return le},getServices:function(){return Array.from(De)},getSizes:function(){return ee},getSlotElementId:function(){return te},getSlotId:function(){return Ae},getTargeting:function(xe){return re.get(xe)||E.get(xe)||[]},getTargetingKeys:function(){return Array.from(new Set(Array.of(...E.keys(),...re.keys())))},getTargetingMap:function(){return Object.assign(Object.fromEntries(E.entries()),Object.fromEntries(re.entries()))},set(ge,xe){return K.set(ge,xe),Ae},setCategoryExclusion(ge){return ue.add(ge),Ae},setClickUrl(ge){return ve=ge,Ae},setCollapseEmptyDiv(ge){return we=!!ge,Ae},setSafeFrameConfig:g,setTagForChildDirectedTreatment:g,setTargeting(ge,xe){return re.set(ge,_(xe)),Ae},toString:function(){return fe},updateTargetingFromMap(ge){return I(re,ge),Ae}};return s.set(Y,Ae),i.set(te,Ae),c.set(te,oe),Ae},N={addEventListener:A,removeEventListener:b,clear:o,clearCategoryExclusions:g,clearTagForChildDirectedTreatment:g,clearTargeting(Z){Z===void 0?E.clear():E.delete(Z)},collapseEmptyDivs:o,defineOutOfPagePassback(){return new C},definePassback(){return new C},disableInitialLoad:o,display:o,enableAsyncRendering:o,enableLazyLoad:o,enableSingleRequest:o,enableSyncRendering:o,enableVideoAds:o,get:v,getAttributeKeys:h,getTargeting:h,getTargetingKeys:h,getSlots:h,isInitialLoadDisabled:y,refresh:o,set:g,setCategoryExclusion:g,setCentering:o,setCookieOptions:g,setForceSafeFrame:g,setLocation:g,setPrivacySettings:g,setPublisherProvidedId:g,setRequestNonPersonalizedAds:g,setSafeFrameConfig:g,setTagForChildDirectedTreatment:g,setTargeting:g,setVideoContent:g,updateCorrelator:o},$=window,M=$.googletag,V=M===void 0?{}:M,U=V.cmd,X=U===void 0?[]:U;for(V.apiReady=!0,V.cmd=[],V.cmd.push=function(Z){try{Z()}catch{}return 1},V.companionAds=function(){return S},V.content=function(){return j},V.defineOutOfPageSlot=L,V.defineSlot=L,V.destroySlots=function(){s.clear(),i.clear()},V.disablePublisherConsole=o,V.display=function(Z){var Y;Z!=null&&Z.getSlotElementId?Y=Z.getSlotElementId():Z!=null&&Z.nodeType?Y=Z.id:Y=String(Z),w(i.get(Y))},V.enableServices=o,V.getVersion=m,V.pubads=function(){return N},V.pubadsReady=!0,V.setAdIframeTitle=o,V.sizeMapping=function(){return new T},window.googletag=V;X.length!==0;)V.cmd.push(X.shift());d(l)}function d(l){if(l.verbose===!0){try{var s=console.log.bind(console),i=console.trace.bind(console),a=l.ruleText||"";if(l.domainName){var c="#%#//",p="##+js",E;l.ruleText.includes(c)?E=l.ruleText.indexOf(c):l.ruleText.includes(p)&&(E=l.ruleText.indexOf(p));var A=l.ruleText.slice(E);a="".concat(l.domainName).concat(A)}s("".concat(a," trace start")),i&&i(),s("".concat(a," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(l)}}function o(){}function g(){return this}function v(){return null}function h(){return[]}function m(){return""}function y(){return!0}var f=r?[].concat(n).concat(r):[n];try{u.apply(this,f)}catch(l){console.log(l)}}function um(n,r){function u(v){var h=function(){};h.prototype.setDoNotTrack=o,h.prototype.setDomains=o,h.prototype.setCustomDimension=o,h.prototype.trackPageView=o;var m=function(){};m.prototype.addListener=o;var y={getTracker:h,getAsyncTracker:m};window.Piwik=y,d(v)}function d(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}function o(){}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function sm(n,r){function u(v){window.wcs_add={},window.wcs_do=o,window.wcs={inflow:o},d(v)}function d(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}function o(){}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function cm(n,r){function u(m){window.piVersion="1.0.2",window.piScriptNum=0,window.piScriptObj=[],window.checkNamespace=o,window.getPardotUrl=g,window.piGetParameter=v,window.piSetCookie=o,window.piGetCookie=g;function y(){window.pi={tracker:{visitor_id:"",visitor_id_sign:"",pi_opt_in:"",campaign_id:""}},window.piScriptNum+=1}window.piResponse=o,window.piTracker=y,y(),d(m)}function d(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function o(){}function g(){return""}function v(){return null}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function lm(n,r){function u(h){var m=function(l){if(typeof l=="function")try{l.call()}catch{}},y={addAdUnits(){},adServers:{dfp:{buildVideoUrl:o}},adUnits:[],aliasBidder(){},cmd:[],enableAnalytics(){},getHighestCpmBids:g,libLoaded:!0,que:[],requestBids(f){if(f instanceof Object&&f.bidsBackHandler)try{f.bidsBackHandler.call()}catch{}},removeAdUnit(){},setBidderConfig(){},setConfig(){},setTargetingForGPTAsync(){}};y.cmd.push=m,y.que.push=m,window.pbjs=y,d(h)}function d(h){if(h.verbose===!0){try{var m=console.log.bind(console),y=console.trace.bind(console),f=h.ruleText||"";if(h.domainName){var l="#%#//",s="##+js",i;h.ruleText.includes(l)?i=h.ruleText.indexOf(l):h.ruleText.includes(s)&&(i=h.ruleText.indexOf(s));var a=h.ruleText.slice(i);f="".concat(h.domainName).concat(a)}m("".concat(f," trace start")),y&&y(),m("".concat(f," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(h)}}function o(){return""}function g(){return[]}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function yu(n,r){function u(g){window.COMSCORE={purge(){window._comscore=[]},beacon(){}},d(g)}function d(g){if(g.verbose===!0){try{var v=console.log.bind(console),h=console.trace.bind(console),m=g.ruleText||"";if(g.domainName){var y="#%#//",f="##+js",l;g.ruleText.includes(y)?l=g.ruleText.indexOf(y):g.ruleText.includes(f)&&(l=g.ruleText.indexOf(f));var s=g.ruleText.slice(l);m="".concat(g.domainName).concat(s)}v("".concat(m," trace start")),h&&h(),v("".concat(m," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(g)}}var o=r?[].concat(n).concat(r):[n];try{u.apply(this,o)}catch(g){console.log(g)}}function Qe(n,r){function u(i,a,c){var p=v(c),E=d(),A="data:text/javascript;base64,",b=function(){if("currentScript"in document)return document.currentScript;var S=document.getElementsByTagName("script");return S[S.length-1]},F=b(),x=function(){var S,j=b();if(j){var C=j.textContent;try{var T=Object.getOwnPropertyDescriptor(Node.prototype,"textContent").get;C=T.call(j)}catch{}if(C.length===0&&typeof j.src<"u"&&(S=j.src)!==null&&S!==void 0&&S.startsWith(A)){var _=j.src.slice(A.length);C=window.atob(_)}if(j instanceof HTMLScriptElement&&C.length>0&&j!==F&&p.test(C))throw m(i),new ReferenceError(E)}},k=function w(S,j){var C=g(S,j),T=C.base,_=C.prop,I=C.chain;if(!(T instanceof Object)&&T===null){var L=j.split("."),N=L.indexOf(_),$=L[N-1],M="The scriptlet had been executed before the ".concat($," was loaded.");y(i,M);return}if(I){var V=function(oe){T=oe,oe instanceof Object&&w(oe,I)};Object.defineProperty(S,_,{get:function(){return T},set:V});return}var U=T[_],X=Object.getOwnPropertyDescriptor(T,_);(!(X instanceof Object)||!(X.get instanceof Function))&&(U=T[_],X=void 0);var Z=Object.assign(l(),{currentValue:U,get(){return this.isAbortingSuspended||this.isolateCallback(x),X instanceof Object?X.get.call(T):this.currentValue},set(Y){this.isAbortingSuspended||this.isolateCallback(x),X instanceof Object?X.set.call(T,Y):this.currentValue=Y}});o(T,_,{get(){return Z.get.call(Z)},set(Y){Z.set.call(Z,Y)}})};k(window,a),window.onerror=h(E).bind()}function d(){return Math.random().toString(36).slice(2,9)}function o(i,a,c){var p=Object.getOwnPropertyDescriptor(i,a);return p&&!p.configurable?!1:(Object.defineProperty(i,a,c),!0)}function g(i,a){var c=a.indexOf(".");if(c===-1)return{base:i,prop:a};var p=a.slice(0,c);if(i===null)return{base:i,prop:p,chain:a};var E=i[p];return a=a.slice(c+1),(i instanceof Object||typeof i=="object")&&f(i)?{base:i,prop:p,chain:a}:E===null?{base:i,prop:p,chain:a}:E!==void 0?g(E,a):(Object.defineProperty(i,p,{configurable:!0}),{base:i,prop:p,chain:a})}function v(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",a=".?",c="/";if(i==="")return new RegExp(a);var p=i.lastIndexOf(c),E=i.substring(p+1),A=i.substring(0,p+1),b=function(j){if(!j)return!1;try{return new RegExp("",j),!0}catch{return!1}},F=function(j,C){return j.startsWith(c)&&j.endsWith(c)&&!j.endsWith("\\/")&&b(C)?C:""},x=F(A,E);if(i.startsWith(c)&&i.endsWith(c)||x){var k=x?A:i;return new RegExp(k.slice(1,-1),x)}var w=i.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(w)}function h(i){var a=window.onerror;return function(p){if(typeof p=="string"&&p.includes(i))return!0;if(a instanceof Function){for(var E=arguments.length,A=new Array(E>1?E-1:0),b=1;b2&&arguments[2]!==void 0?arguments[2]:!1,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,E=i.name,A=i.verbose;if(!(!c&&!A)){var b=console.log;if(!p){b("".concat(E,":"),a);return}b("".concat(E,": ").concat(a))}}function f(i){return Object.keys(i).length===0&&!i.prototype}function l(){return{isAbortingSuspended:!1,isolateCallback(i){this.isAbortingSuspended=!0;try{for(var a=arguments.length,c=new Array(a>1?a-1:0),p=1;p1?a-1:0),p=1;p1?a-1:0),p=1;p1?k-1:0),S=1;S1?b-1:0),x=1;x2&&arguments[2]!==void 0?arguments[2]:!1,x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,k=A.name,w=A.verbose;if(!(!F&&!w)){var S=console.log;if(!x){S("".concat(k,":"),b);return}S("".concat(k,": ").concat(b))}}function i(){var A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",b=".?",F="/";if(A==="")return new RegExp(b);var x=A.lastIndexOf(F),k=A.substring(x+1),w=A.substring(0,x+1),S=function(L){if(!L)return!1;try{return new RegExp("",L),!0}catch{return!1}},j=function(L,N){return L.startsWith(F)&&L.endsWith(F)&&!L.endsWith("\\/")&&S(N)?N:""},C=j(w,k);if(A.startsWith(F)&&A.endsWith(F)||C){var T=C?w:A;return new RegExp(T.slice(1,-1),C)}var _=A.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(_)}function a(A){return Object.keys(A).length===0&&!A.prototype}function c(){var A=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),b=A?.value;if(A&&typeof A.value=="function")return b;throw new Error("RegExp.prototype.test is not a function")}function p(A,b){var F="inlineScript",x="injectedScript",k="",w=function(N){return N.includes(F)},S=function(N){return N.includes(x)};if(!(w(A)||S(A)))return!1;var j=window.location.href,C=j.indexOf("#");C!==-1&&(j=j.slice(0,C));var T=b.split(` +`).slice(2).map(function(L){return L.trim()}),_=T.map(function(L){var N,$=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(L);if($){var M,V,U=$[2];if((M=U)!==null&&M!==void 0&&M.startsWith("(")&&(U=U.slice(1)),(V=U)!==null&&V!==void 0&&V.startsWith(k)){var X;U=x;var Z=$[1]!==void 0?$[1].slice(0,-1):L.slice(0,$.index).trim();(X=Z)!==null&&X!==void 0&&X.startsWith("at")&&(Z=Z.slice(2).trim()),N="".concat(Z," ").concat(U).trim()}else N=U}else N=L;return N});if(_){for(var I=0;I<_.length;I+=1)if(w(A)&&j===_[I]||S(A)&&_[I].startsWith(x))return!0}return!1}var E=r?[].concat(n).concat(r):[n];try{u.apply(this,E)}catch(A){console.log(A)}}function bt(n,r){function u(a,c,p,E){var A=window.setInterval,b=g(c),F=function(k,w){if(o(k))b.test(k.toString())&&h(p,w)&&(w*=v(E),d(a));else{var S="Scriptlet can't be applied because of invalid callback: '".concat(String(k),"'");m(a,S)}for(var j=arguments.length,C=new Array(j>2?j-2:0),T=2;T0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}function v(a){var c=.05,p=.001,E=50,A=parseFloat(a),b=y(A)||!f(A)?c:A;return bE&&(b=E),b}function h(a,c){return s(a)||c===l(a)}function m(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,A=a.name,b=a.verbose;if(!(!p&&!b)){var F=console.log;if(!E){F("".concat(A,":"),c);return}F("".concat(A,": ").concat(c))}}function y(a){var c=Number.isNaN||window.isNaN;return c(a)}function f(a){var c=Number.isFinite||window.isFinite;return c(a)}function l(a){var c=1e3,p=parseInt(a,10),E=y(p)?c:p;return E}function s(a){return a==="*"}var i=r?[].concat(n).concat(r):[n];try{u.apply(this,i)}catch(a){console.log(a)}}function Dt(n,r){function u(a,c,p,E){var A=window.setTimeout,b=g(c),F=function(k,w){if(o(k))b.test(k.toString())&&h(p,w)&&(w*=v(E),d(a));else{var S="Scriptlet can't be applied because of invalid callback: '".concat(String(k),"'");m(a,S)}for(var j=arguments.length,C=new Array(j>2?j-2:0),T=2;T0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}function v(a){var c=.05,p=.001,E=50,A=parseFloat(a),b=y(A)||!f(A)?c:A;return bE&&(b=E),b}function h(a,c){return s(a)||c===l(a)}function m(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,A=a.name,b=a.verbose;if(!(!p&&!b)){var F=console.log;if(!E){F("".concat(A,":"),c);return}F("".concat(A,": ").concat(c))}}function y(a){var c=Number.isNaN||window.isNaN;return c(a)}function f(a){var c=Number.isFinite||window.isFinite;return c(a)}function l(a){var c=1e3,p=parseInt(a,10),E=y(p)?c:p;return E}function s(a){return a==="*"}var i=r?[].concat(n).concat(r):[n];try{u.apply(this,i)}catch(a){console.log(a)}}function Sa(n,r){function u(m,y){if(y){var f=o(window,y),l=f.base,s=f.prop;if(!l||!s||typeof l[s]!="function"){var i="".concat(y," is not a function");g(m,i);return}var a=function(){var E;try{E=Reflect.apply(...arguments)}catch(b){var A="Error calling ".concat(y,": ").concat(b.message);g(m,A)}return d(m),E},c={apply:a};l[s]=new Proxy(l[s],c)}}function d(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function o(m,y){var f=y.indexOf(".");if(f===-1)return{base:m,prop:y};var l=y.slice(0,f);if(m===null)return{base:m,prop:l,chain:y};var s=m[l];return y=y.slice(f+1),(m instanceof Object||typeof m=="object")&&v(m)?{base:m,prop:l,chain:y}:s===null?{base:m,prop:l,chain:y}:s!==void 0?o(s,y):(Object.defineProperty(m,l,{configurable:!0}),{base:m,prop:l,chain:y})}function g(m,y){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=m.name,i=m.verbose;if(!(!f&&!i)){var a=console.log;if(!l){a("".concat(s,":"),y);return}a("".concat(s,": ").concat(y))}}function v(m){return Object.keys(m).length===0&&!m.prototype}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function dm(n,r){function u(s,i,a){var c=v(a),p=d(),E=function(){if("currentScript"in document)return document.currentScript;var k=document.getElementsByTagName("script");return k[k.length-1]},A=E(),b=function(){var k=E();if(k){var w=k.textContent;try{var S=Object.getOwnPropertyDescriptor(Node.prototype,"textContent").get;w=S.call(k)}catch{}if(k instanceof HTMLScriptElement&&w.length>0&&k!==A&&c.test(w)){m(s);debugger}}},F=function x(k,w){var S=g(k,w),j=S.base,C=S.prop,T=S.chain;if(!(j instanceof Object)&&j===null){var _=w.split("."),I=_.indexOf(C),L=_[I-1],N="The scriptlet had been executed before the ".concat(L," was loaded.");y(N,s.verbose);return}if(T){var $=function(U){j=U,U instanceof Object&&x(U,T)};Object.defineProperty(k,C,{get:function(){return j},set:$});return}var M=j[C];o(j,C,{set:function(U){b(),M=U},get:function(){return b(),M}})};F(window,i),window.onerror=h(p).bind()}function d(){return Math.random().toString(36).slice(2,9)}function o(s,i,a){var c=Object.getOwnPropertyDescriptor(s,i);return c&&!c.configurable?!1:(Object.defineProperty(s,i,a),!0)}function g(s,i){var a=i.indexOf(".");if(a===-1)return{base:s,prop:i};var c=i.slice(0,a);if(s===null)return{base:s,prop:c,chain:i};var p=s[c];return i=i.slice(a+1),(s instanceof Object||typeof s=="object")&&f(s)?{base:s,prop:c,chain:i}:p===null?{base:s,prop:c,chain:i}:p!==void 0?g(p,i):(Object.defineProperty(s,c,{configurable:!0}),{base:s,prop:c,chain:i})}function v(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",i=".?",a="/";if(s==="")return new RegExp(i);var c=s.lastIndexOf(a),p=s.substring(c+1),E=s.substring(0,c+1),A=function(S){if(!S)return!1;try{return new RegExp("",S),!0}catch{return!1}},b=function(S,j){return S.startsWith(a)&&S.endsWith(a)&&!S.endsWith("\\/")&&A(j)?j:""},F=b(E,p);if(s.startsWith(a)&&s.endsWith(a)||F){var x=F?E:s;return new RegExp(x.slice(1,-1),F)}var k=s.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(k)}function h(s){var i=window.onerror;return function(c){if(typeof c=="string"&&c.includes(s))return!0;if(i instanceof Function){for(var p=arguments.length,E=new Array(p>1?p-1:0),A=1;A2&&arguments[2]!==void 0?arguments[2]:!1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,p=s.name,E=s.verbose;if(!(!a&&!E)){var A=console.log;if(!c){A("".concat(p,":"),i);return}A("".concat(p,": ").concat(i))}}function f(s){return Object.keys(s).length===0&&!s.prototype}var l=r?[].concat(n).concat(r):[n];try{u.apply(this,l)}catch(s){console.log(s)}}function fm(n,r){function u(l,s){if(s){var i=d(),a=function(){h(l);debugger},c=function p(E,A){var b=g(E,A),F=b.base,x=b.prop,k=b.chain;if(k){var w=function(j){F=j,j instanceof Object&&p(j,k)};Object.defineProperty(E,x,{get:function(){return F},set:w});return}o(F,x,{get:a,set:m})};c(window,s),window.onerror=v(i).bind()}}function d(){return Math.random().toString(36).slice(2,9)}function o(l,s,i){var a=Object.getOwnPropertyDescriptor(l,s);return a&&!a.configurable?!1:(Object.defineProperty(l,s,i),!0)}function g(l,s){var i=s.indexOf(".");if(i===-1)return{base:l,prop:s};var a=s.slice(0,i);if(l===null)return{base:l,prop:a,chain:s};var c=l[a];return s=s.slice(i+1),(l instanceof Object||typeof l=="object")&&y(l)?{base:l,prop:a,chain:s}:c===null?{base:l,prop:a,chain:s}:c!==void 0?g(c,s):(Object.defineProperty(l,a,{configurable:!0}),{base:l,prop:a,chain:s})}function v(l){var s=window.onerror;return function(a){if(typeof a=="string"&&a.includes(l))return!0;if(s instanceof Function){for(var c=arguments.length,p=new Array(c>1?c-1:0),E=1;E1?a-1:0),p=1;p2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],A=c.indexOf(".");if(A===-1){if(c==="*"||c==="[]")for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&E.push({base:a,prop:b});else E.push({base:a,prop:c});return E}var F=c.slice(0,A),x=F==="[]"&&Array.isArray(a)||F==="*"&&a instanceof Object;if(x){var k=c.slice(A+1),w=Object.keys(a);w.forEach(function(j){var C=a[j];g(C,k,p,E)})}Array.isArray(a)&&a.forEach(function(j){var C=j;C!==void 0&&g(C,c,p,E)});var S=a[F];return c=c.slice(A+1),S!==void 0&&g(S,c,p,E),E}function v(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,A=a.name,b=a.verbose;if(!(!p&&!b)){var F=console.log;if(!E){F("".concat(A,":"),c);return}F("".concat(A,": ").concat(c))}}function h(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}function m(a,c,p,E,A,b){if(!c)return!1;var F=b.nativeStringify,x;if(p.length===0&&E.length>0){var k=F(c),w=h(E.join("")),S=w.test(k);if(S)return v(a,"".concat(window.location.hostname,` +`).concat(F(c,null,2),` +Stack trace: +`).concat(new Error().stack),!0),c&&typeof c=="object"&&v(a,c,!0,!1),x=!1,x}if(A&&!o(A,new Error().stack||""))return x=!1,x;for(var j=[".*.","*.",".*",".[].","[].",".[]"],C=function(){var L=E[T],N=L.split(".").pop(),$=j.some(function(X){return L.includes(X)}),M=g(c,L,$);if(!M.length)return x=!1,{v:x};x=!$;for(var V=0;V1&&arguments[1]!==void 0?arguments[1]:"";if(typeof window.close!="function"){var y="window.close() is not a function so 'close-window' scriptlet is unavailable";g(h,y);return}var f=function(){try{d(h),window.close()}catch(a){g(h,a)}},l=function(){var a=function(){dispatchEvent(new Event("adguard:scriptlet-close-window"))};window.addEventListener("adguard:subscribed-to-close-window",a,{once:!0}),setTimeout(function(){window.removeEventListener("adguard:subscribed-to-close-window",a,{once:!0})},5e3)},s=function(){if(m==="")return!0;var a=o(m),c="".concat(window.location.pathname).concat(window.location.search);return a.test(c)};s()&&(f(),navigator.userAgent.includes("Chrome")&&l())}function d(h){if(h.verbose===!0){try{var m=console.log.bind(console),y=console.trace.bind(console),f=h.ruleText||"";if(h.domainName){var l="#%#//",s="##+js",i;h.ruleText.includes(l)?i=h.ruleText.indexOf(l):h.ruleText.includes(s)&&(i=h.ruleText.indexOf(s));var a=h.ruleText.slice(i);f="".concat(h.domainName).concat(a)}m("".concat(f," trace start")),y&&y(),m("".concat(f," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(h)}}function o(){var h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",m=".?",y="/";if(h==="")return new RegExp(m);var f=h.lastIndexOf(y),l=h.substring(f+1),s=h.substring(0,f+1),i=function(b){if(!b)return!1;try{return new RegExp("",b),!0}catch{return!1}},a=function(b,F){return b.startsWith(y)&&b.endsWith(y)&&!b.endsWith("\\/")&&i(F)?F:""},c=a(s,l);if(h.startsWith(y)&&h.endsWith(y)||c){var p=c?s:h;return new RegExp(p.slice(1,-1),c)}var E=h.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(E)}function g(h,m){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,l=h.name,s=h.verbose;if(!(!y&&!s)){var i=console.log;if(!f){i("".concat(l,":"),m);return}i("".concat(l,": ").concat(m))}}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function gm(n,r){function u(f,l,s){if(Element.prototype.attachShadow){var i=function(p){var E="display:none!important;";p.style.cssText=E},a=function(){for(var p=s?document.querySelectorAll(s):g(document.documentElement),E=function(){var b=!1,F=v(l,p),x=F.targets,k=F.innerHosts;x.forEach(function(w){i(w),b=!0}),b&&d(f),p=k};p.length!==0;)E()};a(),o(a,!0)}}function d(f){if(f.verbose===!0){try{var l=console.log.bind(console),s=console.trace.bind(console),i=f.ruleText||"";if(f.domainName){var a="#%#//",c="##+js",p;f.ruleText.includes(a)?p=f.ruleText.indexOf(a):f.ruleText.includes(c)&&(p=f.ruleText.indexOf(c));var E=f.ruleText.slice(p);i="".concat(f.domainName).concat(E)}l("".concat(i," trace start")),s&&s(),l("".concat(i," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(f)}}function o(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=20,a=new MutationObserver(m(E,i)),c=function(){s.length>0?a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l,attributeFilter:s}):a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l})},p=function(){a.disconnect()};function E(){p(),f(),c()}c()}function g(f){var l=[];if(f){var s=f.querySelectorAll("*");s.forEach(function(i){i.shadowRoot&&l.push(i)})}return l}function v(f,l){var s=[],i=[];l.forEach(function(c){var p=c.querySelectorAll(f);s=s.concat([].slice.call(p));var E=c.shadowRoot,A=E.querySelectorAll(f);s=s.concat([].slice.call(A)),i.push(g(E))});var a=h(i);return{targets:s,innerHosts:a}}function h(f){var l=[];f.forEach(function(a){return l.push(a)});for(var s=[];l.length;){var i=l.pop();Array.isArray(i)?i.forEach(function(a){return l.push(a)}):s.push(i)}return s.reverse()}function m(f,l){var s=!1,i,a=function c(){for(var p=arguments.length,E=new Array(p),A=0;A2&&arguments[2]!==void 0?arguments[2]:"text";if(!y){g(m,"Selector is required.");return}var l=/^(?:[\0- \x7F-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u088F-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDC\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\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-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87B-\uD87D\uD87F\uD889-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\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\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\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-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF3A-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD888[\uDFB0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+/,s=/(?:[\0- \x7F-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u036F\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482-\u0489\u0530\u0557\u0558\u055A-\u055F\u0589-\u05CF\u05EB-\u05EE\u05F3-\u061F\u064B-\u066D\u0670\u06D4\u06D6-\u06E4\u06E7-\u06ED\u06F0-\u06F9\u06FD\u06FE\u0700-\u070F\u0711\u0730-\u074C\u07A6-\u07B0\u07B2-\u07C9\u07EB-\u07F3\u07F6-\u07F9\u07FB-\u07FF\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u083F\u0859-\u085F\u086B-\u086F\u0888\u088F-\u089F\u08CA-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962-\u0970\u0981-\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA-\u09BC\u09BE-\u09CD\u09CF-\u09DB\u09DE\u09E2-\u09EF\u09F2-\u09FB\u09FD-\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A-\u0A58\u0A5D\u0A5F-\u0A71\u0A75-\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA-\u0ABC\u0ABE-\u0ACF\u0AD1-\u0ADF\u0AE2-\u0AF8\u0AFA-\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A-\u0B3C\u0B3E-\u0B5B\u0B5E\u0B62-\u0B70\u0B72-\u0B82\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BCF\u0BD1-\u0C04\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C3E-\u0C57\u0C5B\u0C5C\u0C5E\u0C5F\u0C62-\u0C7F\u0C81-\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA-\u0CBC\u0CBE-\u0CDC\u0CDF\u0CE2-\u0CF0\u0CF3-\u0D03\u0D0D\u0D11\u0D3B\u0D3C\u0D3E-\u0D4D\u0D4F-\u0D53\u0D57-\u0D5E\u0D62-\u0D79\u0D80-\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0E00\u0E31\u0E34-\u0E3F\u0E47-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EB1\u0EB4-\u0EBC\u0EBE\u0EBF\u0EC5\u0EC7-\u0EDB\u0EE0-\u0EFF\u0F01-\u0F3F\u0F48\u0F6D-\u0F87\u0F8D-\u0FFF\u102B-\u103E\u1040-\u104F\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16F0\u16F9-\u16FF\u1712-\u171E\u1732-\u173F\u1752-\u175F\u176D\u1771-\u177F\u17B4-\u17D6\u17D8-\u17DB\u17DD-\u181F\u1879-\u187F\u1885\u1886\u18A9\u18AB-\u18AF\u18F6-\u18FF\u191F-\u194F\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19FF\u1A17-\u1A1F\u1A55-\u1AA6\u1AA8-\u1B04\u1B34-\u1B44\u1B4D-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BFF\u1C24-\u1C4C\u1C50-\u1C59\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1CFB-\u1CFF\u1DC0-\u1DFF\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u2182\u2185-\u2BFF\u2CE5-\u2CEA\u2CEF-\u2CF1\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7F\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF-\u2E2E\u2E30-\u3004\u3007-\u3030\u3036-\u303A\u303D-\u3040\u3097-\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA620-\uA629\uA62C-\uA63F\uA66F-\uA67E\uA69E\uA69F\uA6E6-\uA716\uA720\uA721\uA789\uA78A\uA7CB-\uA7CF\uA7D2\uA7D4\uA7DA-\uA7F1\uA802\uA806\uA80B\uA823-\uA83F\uA874-\uA881\uA8B4-\uA8F1\uA8F8-\uA8FA\uA8FC\uA8FF-\uA909\uA926-\uA92F\uA947-\uA95F\uA97D-\uA983\uA9B3-\uA9CE\uA9D0-\uA9DF\uA9E5\uA9F0-\uA9F9\uA9FF\uAA29-\uAA3F\uAA43\uAA4C-\uAA5F\uAA77-\uAA79\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAC3-\uAADA\uAADE\uAADF\uAAEB-\uAAF1\uAAF5-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABE3-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB1E\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFE6F\uFE75\uFEFD-\uFF20\uFF3B-\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEFF\uDF20-\uDF2C\uDF41\uDF4A-\uDF4F\uDF76-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0-\uDFFF]|\uD801[\uDC9E-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDD6F\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-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE01-\uDE0F\uDE14\uDE18\uDE36-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE5-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD24-\uDE7F\uDEAA-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF46-\uDF6F\uDF82-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC00-\uDC02\uDC38-\uDC70\uDC73\uDC74\uDC76-\uDC82\uDCB0-\uDCCF\uDCE9-\uDD02\uDD27-\uDD43\uDD45\uDD46\uDD48-\uDD4F\uDD73-\uDD75\uDD77-\uDD82\uDDB3-\uDDC0\uDDC5-\uDDD9\uDDDB\uDDDD-\uDDFF\uDE12\uDE2C-\uDE3E\uDE41-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEDF-\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A-\uDF3C\uDF3E-\uDF4F\uDF51-\uDF5C\uDF62-\uDFFF]|\uD805[\uDC35-\uDC46\uDC4B-\uDC5E\uDC62-\uDC7F\uDCB0-\uDCC3\uDCC6\uDCC8-\uDD7F\uDDAF-\uDDD7\uDDDC-\uDDFF\uDE30-\uDE43\uDE45-\uDE7F\uDEAB-\uDEB7\uDEB9-\uDEFF\uDF1B-\uDF3F\uDF47-\uDFFF]|\uD806[\uDC2C-\uDC9F\uDCE0-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD30-\uDD3E\uDD40\uDD42-\uDD9F\uDDA8\uDDA9\uDDD1-\uDDE0\uDDE2\uDDE4-\uDDFF\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE4F\uDE51-\uDE5B\uDE8A-\uDE9C\uDE9E-\uDEAF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC2F-\uDC3F\uDC41-\uDC71\uDC90-\uDCFF\uDD07\uDD0A\uDD31-\uDD45\uDD47-\uDD5F\uDD66\uDD69\uDD8A-\uDD97\uDD99-\uDEDF\uDEF3-\uDF01\uDF03\uDF11\uDF34-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC00-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80E-\uD810\uD812-\uD819\uD824-\uD82A\uD82D\uD82E\uD830-\uD834\uD836\uD83C-\uD83F\uD87B-\uD87D\uD87F\uD889-\uDBFF][\uDC00-\uDFFF]|\uD80B[\uDC00-\uDF8F\uDFF1-\uDFFF]|\uD80D[\uDC30-\uDC40\uDC47-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F-\uDE6F\uDEBF-\uDECF\uDEEE-\uDEFF\uDF30-\uDF3F\uDF44-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4F\uDF51-\uDF92\uDFA0-\uDFDF\uDFE2\uDFE4-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82B[\uDC00-\uDFEF\uDFF4\uDFFC\uDFFF]|\uD82C[\uDD23-\uDD31\uDD33-\uDD4F\uDD53\uDD54\uDD56-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\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\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC-\uDFFF]|\uD837[\uDC00-\uDEFF\uDF1F-\uDF24\uDF2B-\uDFFF]|\uD838[\uDC00-\uDC2F\uDC6E-\uDCFF\uDD2D-\uDD36\uDD3E-\uDD4D\uDD4F-\uDE8F\uDEAE-\uDEBF\uDEEC-\uDFFF]|\uD839[\uDC00-\uDCCF\uDCEC-\uDFDF\uDFE7\uDFEC\uDFEF\uDFFF]|\uD83A[\uDCC5-\uDCFF\uDD44-\uDD4A\uDD4C-\uDFFF]|\uD83B[\uDC00-\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-\uDFFF]|\uD869[\uDEE0-\uDEFF]|\uD86D[\uDF3A-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDF4F]|\uD888[\uDFB0-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+$/,i=function(b,F){if(F==="text")return b.textContent?b.textContent.replace(l,"").replace(s,""):"";if(F.startsWith("?"))try{var x=new URL(b.href,document.location.href);return x.searchParams.get(F.slice(1))||""}catch{return g(m,"Cannot retrieve the parameter '".concat(F.slice(1),"' from the URL '").concat(b.href)),""}return F.startsWith("[")&&F.endsWith("]")&&b.getAttribute(F.slice(1,-1))||""},a=function(b){if(!b)return null;try{var F=new URL(b,document.location.href),x=F.href,k=F.protocol;return k!=="http:"&&k!=="https:"?(g(m,'Protocol not allowed: "'.concat(k,'", from URL: "').concat(x,'"')),null):x}catch{return null}},c=function(b){return b.nodeName.toLowerCase()==="a"&&b.hasAttribute("href")},p=function(b){var F;try{F=document.querySelectorAll(b)}catch{g(m,'Invalid selector "'.concat(b,'"'));return}F.forEach(function(x){try{if(!c(x))return;var k=i(x,f),w=a(k);if(!w){g(m,"Invalid URL: ".concat(k));return}var S=x.href;x.setAttribute("href",w),w!==S&&g(m,'Sanitized "'.concat(S,'" to "').concat(w,'".'))}catch{g(m,"Failed to sanitize ".concat(x,"."))}}),o(m)},E=function(){p(y),d(function(){return p(y)},!0)};document.readyState==="loading"?window.addEventListener("DOMContentLoaded",E,{once:!0}):E()}function d(m){var y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],l=20,s=new MutationObserver(v(c,l)),i=function(){f.length>0?s.observe(document.documentElement,{childList:!0,subtree:!0,attributes:y,attributeFilter:f}):s.observe(document.documentElement,{childList:!0,subtree:!0,attributes:y})},a=function(){s.disconnect()};function c(){a(),m(),i()}i()}function o(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function g(m,y){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=m.name,i=m.verbose;if(!(!f&&!i)){var a=console.log;if(!l){a("".concat(s,":"),y);return}a("".concat(s,": ").concat(y))}}function v(m,y){var f=!1,l,s=function i(){for(var a=arguments.length,c=new Array(a),p=0;p2&&arguments[2]!==void 0?arguments[2]:"";if(!(!Element.prototype.attachShadow||typeof Proxy>"u"||typeof Reflect>"u")){if(m.match(/(url|image-set)\(.*\)/i)){o(h,'"url()" function is not allowed for css rules');return}var f=function(s){try{var i=new CSSStyleSheet;try{i.insertRule(m)}catch(c){o(h,"Unable to apply the rule '".concat(m,`' due to: +'`).concat(c.message,"'"));return}s.adoptedStyleSheets=[...s.adoptedStyleSheets,i]}catch{var a=document.createElement("style");a.innerText=m,s.appendChild(a)}d(h)};g(window,y,f)}}function d(h){if(h.verbose===!0){try{var m=console.log.bind(console),y=console.trace.bind(console),f=h.ruleText||"";if(h.domainName){var l="#%#//",s="##+js",i;h.ruleText.includes(l)?i=h.ruleText.indexOf(l):h.ruleText.includes(s)&&(i=h.ruleText.indexOf(s));var a=h.ruleText.slice(i);f="".concat(h.domainName).concat(a)}m("".concat(f," trace start")),y&&y(),m("".concat(f," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(h)}}function o(h,m){var y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,l=h.name,s=h.verbose;if(!(!y&&!s)){var i=console.log;if(!f){i("".concat(l,":"),m);return}i("".concat(l,": ").concat(m))}}function g(h,m,y){var f=function(i,a,c){var p=Reflect.apply(i,a,c);return a&&a.matches(m||"*")&&y(p),p},l={apply:f};h.Element.prototype.attachShadow=new Proxy(h.Element.prototype.attachShadow,l)}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function ar(n,r){function u(a,c,p){var E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",A=y(c),b=y(p),F={nativeStringify:window.JSON.stringify},x=JSON.parse,k=function(){for(var C=arguments.length,T=new Array(C),_=0;_"u"||(Response.prototype.json=S)}function d(a){if(a.verbose===!0){try{var c=console.log.bind(console),p=console.trace.bind(console),E=a.ruleText||"";if(a.domainName){var A="#%#//",b="##+js",F;a.ruleText.includes(A)?F=a.ruleText.indexOf(A):a.ruleText.includes(b)&&(F=a.ruleText.indexOf(b));var x=a.ruleText.slice(F);E="".concat(a.domainName).concat(x)}c("".concat(E," trace start")),p&&p(),c("".concat(E," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(a)}}function o(a,c){if(!a||a===""||s(a,c))return!0;var p=f(a),E=c.split(` +`).slice(2).map(function(A){return A.trim()}).join(` +`);return l().call(p,E)}function g(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],A=c.indexOf(".");if(A===-1){if(c==="*"||c==="[]")for(var b in a)Object.prototype.hasOwnProperty.call(a,b)&&E.push({base:a,prop:b});else E.push({base:a,prop:c});return E}var F=c.slice(0,A),x=F==="[]"&&Array.isArray(a)||F==="*"&&a instanceof Object;if(x){var k=c.slice(A+1),w=Object.keys(a);w.forEach(function(j){var C=a[j];g(C,k,p,E)})}Array.isArray(a)&&a.forEach(function(j){var C=j;C!==void 0&&g(C,c,p,E)});var S=a[F];return c=c.slice(A+1),S!==void 0&&g(S,c,p,E),E}function v(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,A=a.name,b=a.verbose;if(!(!p&&!b)){var F=console.log;if(!E){F("".concat(A,":"),c);return}F("".concat(A,": ").concat(c))}}function h(a,c,p,E,A,b){if(!c)return!1;var F=b.nativeStringify,x;if(p.length===0&&E.length>0){var k=F(c),w=f(E.join("")),S=w.test(k);if(S)return v(a,"".concat(window.location.hostname,` +`).concat(F(c,null,2),` +Stack trace: +`).concat(new Error().stack),!0),c&&typeof c=="object"&&v(a,c,!0,!1),x=!1,x}if(A&&!o(A,new Error().stack||""))return x=!1,x;for(var j=[".*.","*.",".*",".[].","[].",".[]"],C=function(){var L=E[T],N=L.split(".").pop(),$=j.some(function(X){return L.includes(X)}),M=g(c,L,$);if(!M.length)return x=!1,{v:x};x=!$;for(var V=0;V0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}function l(){var a=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),c=a?.value;if(a&&typeof a.value=="function")return c;throw new Error("RegExp.prototype.test is not a function")}function s(a,c){var p="inlineScript",E="injectedScript",A="",b=function(T){return T.includes(p)},F=function(T){return T.includes(E)};if(!(b(a)||F(a)))return!1;var x=window.location.href,k=x.indexOf("#");k!==-1&&(x=x.slice(0,k));var w=c.split(` +`).slice(2).map(function(C){return C.trim()}),S=w.map(function(C){var T,_=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(C);if(_){var I,L,N=_[2];if((I=N)!==null&&I!==void 0&&I.startsWith("(")&&(N=N.slice(1)),(L=N)!==null&&L!==void 0&&L.startsWith(A)){var $;N=E;var M=_[1]!==void 0?_[1].slice(0,-1):C.slice(0,_.index).trim();($=M)!==null&&$!==void 0&&$.startsWith("at")&&(M=M.slice(2).trim()),T="".concat(M," ").concat(N).trim()}else T=N}else T=C;return T});if(S){for(var j=0;j3&&arguments[3]!==void 0?arguments[3]:"",L=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var N=y(T),$=y(_),M=window.JSON.stringify,V=window.Request.prototype.clone,U=window.Response.prototype.clone,X=window.fetch,Z=async function(te,ne,K){var re=g(K,V);if(!h(C,I,re))return Reflect.apply(te,ne,K);var ue,le;try{ue=await X.apply(null,K),le=U.call(ue)}catch{return o(C,"Could not make an original fetch request: ".concat(re.url)),Reflect.apply(te,ne,K)}var ee;try{ee=await ue.json()}catch{var ae="Response body can't be converted to json: ".concat(v(re));return o(C,ae),le}var fe=m(C,ee,N,$,L,{nativeStringify:M,nativeRequestClone:V,nativeResponseClone:U,nativeFetch:X}),ve=f(ue,M(fe));return d(C),ve},Y={apply:Z};window.fetch=new Proxy(window.fetch,Y)}}function d(C){if(C.verbose===!0){try{var T=console.log.bind(console),_=console.trace.bind(console),I=C.ruleText||"";if(C.domainName){var L="#%#//",N="##+js",$;C.ruleText.includes(L)?$=C.ruleText.indexOf(L):C.ruleText.includes(N)&&($=C.ruleText.indexOf(N));var M=C.ruleText.slice($);I="".concat(C.domainName).concat(M)}T("".concat(I," trace start")),_&&_(),T("".concat(I," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(C)}}function o(C,T){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,L=C.name,N=C.verbose;if(!(!_&&!N)){var $=console.log;if(!I){$("".concat(L,":"),T);return}$("".concat(L,": ").concat(T))}}function g(C,T){var _={},I=C[0],L,N;if(I instanceof Request){var $=T.call(I),M=E($);L=M.url,N=M}else L=I,N=C[1];if(_.url=L,N instanceof Object){var V=Object.keys(N);V.forEach(function(U){_[U]=N[U]})}return _}function v(C){return!C||typeof C!="object"?String(C):p(C)?"{}":Object.entries(C).map(function(T){var _=T[0],I=T[1],L=I;return I instanceof Object&&(L="{ ".concat(v(I)," }")),"".concat(_,':"').concat(L,'"')}).join(" ")}function h(C,T,_){if(T===""||T==="*")return!0;var I,L=b(T);if(!F(L))o(C,"Invalid parameter: ".concat(T)),I=!1;else{var N=x(L),$=Object.keys(N);I=$.every(function(M){var V=N[M],U=_[M];return Object.prototype.hasOwnProperty.call(_,M)&&typeof U=="string"&&V?.test(U)})}return I}function m(C,T,_,I,L,N){var $=N.nativeStringify;if(_.length===0&&I.length===0)return o(C,"".concat(window.location.hostname,` +`).concat($(T,null,2),` +Stack trace: +`).concat(new Error().stack),!0),T&&typeof T=="object"&&o(C,T,!0,!1),T;try{if(l(C,T,_,I,L,N)===!1)return T;_.forEach(function(M){var V=k(T,M,!0);V.forEach(function(U){U!==void 0&&U.base&&(delete U.base[U.prop],d(C))})})}catch(M){o(C,M)}return T}function y(C){var T=typeof C=="string"&&C!==void 0&&C!=="";return T?C.split(/ +/):[]}function f(C,T){var _=C.bodyUsed,I=C.headers,L=C.ok,N=C.redirected,$=C.status,M=C.statusText,V=C.type,U=C.url,X=new Response(T,{status:$,statusText:M,headers:I});return Object.defineProperties(X,{url:{value:U},type:{value:V},ok:{value:L},bodyUsed:{value:_},redirected:{value:N}}),X}function l(C,T,_,I,L,N){if(!T)return!1;var $=N.nativeStringify,M;if(_.length===0&&I.length>0){var V=$(T),U=i(I.join("")),X=U.test(V);if(X)return o(C,"".concat(window.location.hostname,` +`).concat($(T,null,2),` +Stack trace: +`).concat(new Error().stack),!0),T&&typeof T=="object"&&o(C,T,!0,!1),M=!1,M}if(L&&!s(L,new Error().stack||""))return M=!1,M;for(var Z=[".*.","*.",".*",".[].","[].",".[]"],Y=function(){var K=I[oe],re=K.split(".").pop(),ue=Z.some(function(fe){return K.includes(fe)}),le=k(T,K,ue);if(!le.length)return M=!1,{v:M};M=!ue;for(var ee=0;ee0&&arguments[0]!==void 0?arguments[0]:"",T=".?",_="/";if(C==="")return new RegExp(T);var I=C.lastIndexOf(_),L=C.substring(I+1),N=C.substring(0,I+1),$=function(Y){if(!Y)return!1;try{return new RegExp("",Y),!0}catch{return!1}},M=function(Y,oe){return Y.startsWith(_)&&Y.endsWith(_)&&!Y.endsWith("\\/")&&$(oe)?oe:""},V=M(N,L);if(C.startsWith(_)&&C.endsWith(_)||V){var U=V?N:C;return new RegExp(U.slice(1,-1),V)}var X=C.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(X)}function a(C){var T="/",_=c(C);C[0]===T&&C[C.length-1]===T&&(_=C.slice(1,-1));var I;try{I=new RegExp(_),I=!0}catch{I=!1}return I}function c(C){return C.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function p(C){return Object.keys(C).length===0&&!C.prototype}function E(C){var T=A(),_=T.map(function(I){var L=C[I];return[I,L]});return Object.fromEntries(_)}function A(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function b(C){var T=" ",_=":",I=function(M){return A().includes(M)},L={},N=C.split(T);return N.forEach(function($){var M=$.indexOf(_),V=$.slice(0,M);if(I(V)){var U=$.slice(M+1);L[V]=U}else L.url=$}),L}function F(C){return Object.values(C).every(function(T){return a(T)})}function x(C){var T={},_=Object.keys(C);return _.forEach(function(I){T[I]=i(C[I])}),T}function k(C,T){var _=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],L=T.indexOf(".");if(L===-1){if(T==="*"||T==="[]")for(var N in C)Object.prototype.hasOwnProperty.call(C,N)&&I.push({base:C,prop:N});else I.push({base:C,prop:T});return I}var $=T.slice(0,L),M=$==="[]"&&Array.isArray(C)||$==="*"&&C instanceof Object;if(M){var V=T.slice(L+1),U=Object.keys(C);U.forEach(function(Z){var Y=C[Z];k(Y,V,_,I)})}Array.isArray(C)&&C.forEach(function(Z){var Y=Z;Y!==void 0&&k(Y,T,_,I)});var X=C[$];return T=T.slice(L+1),X!==void 0&&k(X,T,_,I),I}function w(C,T){var _="inlineScript",I="injectedScript",L="",N=function(oe){return oe.includes(_)},$=function(oe){return oe.includes(I)};if(!(N(C)||$(C)))return!1;var M=window.location.href,V=M.indexOf("#");V!==-1&&(M=M.slice(0,V));var U=T.split(` +`).slice(2).map(function(Y){return Y.trim()}),X=U.map(function(Y){var oe,te=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(Y);if(te){var ne,K,re=te[2];if((ne=re)!==null&&ne!==void 0&&ne.startsWith("(")&&(re=re.slice(1)),(K=re)!==null&&K!==void 0&&K.startsWith(L)){var ue;re=I;var le=te[1]!==void 0?te[1].slice(0,-1):Y.slice(0,te.index).trim();(ue=le)!==null&&ue!==void 0&&ue.startsWith("at")&&(le=le.slice(2).trim()),oe="".concat(le," ").concat(re).trim()}else oe=re}else oe=Y;return oe});if(X){for(var Z=0;Z3&&arguments[3]!==void 0?arguments[3]:"",C=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!(typeof Proxy>"u")){var T=!w&&!S,_=h(w),I=h(S),L=window.JSON.parse,N=window.JSON.stringify,$=window.XMLHttpRequest.prototype.open,M=window.XMLHttpRequest.prototype.send,V=function(K,re,ue){return re.collectedHeaders.push(ue),Reflect.apply(K,re,ue)},U={apply:V},X,Z=function(K,re,ue){return X=y.apply(null,ue),(m(k,j,X)||T)&&(re.xhrShouldBePruned=!0,re.headersReceived=!!re.headersReceived),re.xhrShouldBePruned&&!re.headersReceived&&(re.headersReceived=!0,re.collectedHeaders=[],re.setRequestHeader=new Proxy(re.setRequestHeader,U)),Reflect.apply(K,re,ue)},Y=function(K,re,ue){var le=new Error().stack||"";if(!re.xhrShouldBePruned||C&&!l(C,le))return Reflect.apply(K,re,ue);var ee=new XMLHttpRequest;ee.addEventListener("readystatechange",function(){if(ee.readyState===4){var ae=ee.readyState,fe=ee.response,ve=ee.responseText,we=ee.responseURL,De=ee.responseXML,Ae=ee.status,ge=ee.statusText,xe=ve||fe;if(!(typeof xe!="string"&&typeof xe!="object")){var Oe;if(typeof xe=="string")try{var Ot=L(xe);if(T)o(k,"".concat(window.location.hostname,` +`).concat(N(Ot,null,2),` +Stack trace: +`).concat(le),!0),o(k,Ot,!0,!1),Oe=xe;else{Oe=v(k,Ot,_,I,C="",{nativeStringify:N});try{var pn=re.responseType;switch(pn){case"":case"text":Oe=N(Oe);break;case"arraybuffer":Oe=new TextEncoder().encode(N(Oe)).buffer;break;case"blob":Oe=new Blob([N(Oe)]);break;default:break}}catch{var In="Response body cannot be converted to reponse type: '".concat(xe,"'");o(k,In),Oe=xe}}}catch{var Ka="Response body cannot be converted to json: '".concat(xe,"'");o(k,Ka),Oe=xe}Object.defineProperties(re,{readyState:{value:ae,writable:!1},responseURL:{value:we,writable:!1},responseXML:{value:De,writable:!1},status:{value:Ae,writable:!1},statusText:{value:ge,writable:!1},response:{value:Oe,writable:!1},responseText:{value:Oe,writable:!1}}),setTimeout(function(){var ir=new Event("readystatechange");re.dispatchEvent(ir);var bu=new Event("load");re.dispatchEvent(bu);var Du=new Event("loadend");re.dispatchEvent(Du)},1),d(k)}}}),$.apply(ee,[X.method,X.url,!!X.async]),re.collectedHeaders.forEach(function(ae){ee.setRequestHeader(ae[0],ae[1])}),re.collectedHeaders=[];try{M.call(ee,ue)}catch{return Reflect.apply(K,re,ue)}},oe={apply:Z},te={apply:Y};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,oe),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,te)}}function d(k){if(k.verbose===!0){try{var w=console.log.bind(console),S=console.trace.bind(console),j=k.ruleText||"";if(k.domainName){var C="#%#//",T="##+js",_;k.ruleText.includes(C)?_=k.ruleText.indexOf(C):k.ruleText.includes(T)&&(_=k.ruleText.indexOf(T));var I=k.ruleText.slice(_);j="".concat(k.domainName).concat(I)}w("".concat(j," trace start")),S&&S(),w("".concat(j," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(k)}}function o(k,w){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,j=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,C=k.name,T=k.verbose;if(!(!S&&!T)){var _=console.log;if(!j){_("".concat(C,":"),w);return}_("".concat(C,": ").concat(w))}}function g(){var k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",w=".?",S="/";if(k==="")return new RegExp(w);var j=k.lastIndexOf(S),C=k.substring(j+1),T=k.substring(0,j+1),_=function(V){if(!V)return!1;try{return new RegExp("",V),!0}catch{return!1}},I=function(V,U){return V.startsWith(S)&&V.endsWith(S)&&!V.endsWith("\\/")&&_(U)?U:""},L=I(T,C);if(k.startsWith(S)&&k.endsWith(S)||L){var N=L?T:k;return new RegExp(N.slice(1,-1),L)}var $=k.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp($)}function v(k,w,S,j,C,T){var _=T.nativeStringify;if(S.length===0&&j.length===0)return o(k,"".concat(window.location.hostname,` +`).concat(_(w,null,2),` +Stack trace: +`).concat(new Error().stack),!0),w&&typeof w=="object"&&o(k,w,!0,!1),w;try{if(f(k,w,S,j,C,T)===!1)return w;S.forEach(function(I){var L=A(w,I,!0);L.forEach(function(N){N!==void 0&&N.base&&(delete N.base[N.prop],d(k))})})}catch(I){o(k,I)}return w}function h(k){var w=typeof k=="string"&&k!==void 0&&k!=="";return w?k.split(/ +/):[]}function m(k,w,S){if(w===""||w==="*")return!0;var j,C=c(w);if(!a(C))o(k,"Invalid parameter: ".concat(w)),j=!1;else{var T=s(C),_=Object.keys(T);j=_.every(function(I){var L=T[I],N=S[I];return Object.prototype.hasOwnProperty.call(S,I)&&typeof N=="string"&&L?.test(N)})}return j}function y(k,w,S,j,C){return{method:k,url:w,async:S,user:j,password:C}}function f(k,w,S,j,C,T){if(!w)return!1;var _=T.nativeStringify,I;if(S.length===0&&j.length>0){var L=_(w),N=g(j.join("")),$=N.test(L);if($)return o(k,"".concat(window.location.hostname,` +`).concat(_(w,null,2),` +Stack trace: +`).concat(new Error().stack),!0),w&&typeof w=="object"&&o(k,w,!0,!1),I=!1,I}if(C&&!l(C,new Error().stack||""))return I=!1,I;for(var M=[".*.","*.",".*",".[].","[].",".[]"],V=function(){var Y=j[U],oe=Y.split(".").pop(),te=M.some(function(ue){return Y.includes(ue)}),ne=A(w,Y,te);if(!ne.length)return I=!1,{v:I};I=!te;for(var K=0;K2&&arguments[2]!==void 0?arguments[2]:!1,j=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],C=w.indexOf(".");if(C===-1){if(w==="*"||w==="[]")for(var T in k)Object.prototype.hasOwnProperty.call(k,T)&&j.push({base:k,prop:T});else j.push({base:k,prop:w});return j}var _=w.slice(0,C),I=_==="[]"&&Array.isArray(k)||_==="*"&&k instanceof Object;if(I){var L=w.slice(C+1),N=Object.keys(k);N.forEach(function(M){var V=k[M];A(V,L,S,j)})}Array.isArray(k)&&k.forEach(function(M){var V=M;V!==void 0&&A(V,w,S,j)});var $=k[_];return w=w.slice(C+1),$!==void 0&&A($,w,S,j),j}function b(k,w){var S="inlineScript",j="injectedScript",C="",T=function(U){return U.includes(S)},_=function(U){return U.includes(j)};if(!(T(k)||_(k)))return!1;var I=window.location.href,L=I.indexOf("#");L!==-1&&(I=I.slice(0,L));var N=w.split(` +`).slice(2).map(function(V){return V.trim()}),$=N.map(function(V){var U,X=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(V);if(X){var Z,Y,oe=X[2];if((Z=oe)!==null&&Z!==void 0&&Z.startsWith("(")&&(oe=oe.slice(1)),(Y=oe)!==null&&Y!==void 0&&Y.startsWith(C)){var te;oe=j;var ne=X[1]!==void 0?X[1].slice(0,-1):V.slice(0,X.index).trim();(te=ne)!==null&&te!==void 0&&te.startsWith("at")&&(ne=ne.slice(2).trim()),U="".concat(ne," ").concat(oe).trim()}else U=oe}else U=V;return U});if($){for(var M=0;M<$.length;M+=1)if(T(k)&&I===$[M]||_(k)&&$[M].startsWith(j))return!0}return!1}function F(){var k=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),w=k?.value;if(k&&typeof k.value=="function")return w;throw new Error("RegExp.prototype.test is not a function")}var x=r?[].concat(n).concat(r):[n];try{u.apply(this,x)}catch(k){console.log(k)}}function Yc(n,r){function u(){for(var o=arguments.length,g=new Array(o),v=0;v2?k-2:0),S=2;S"u"?i="undefined":typeof s=="object"?s===null?i="null":i=y(s):i=String(s),i}function m(s,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,p=s.name,E=s.verbose;if(!(!a&&!E)){var A=console.log;if(!c){A("".concat(p,":"),i);return}A("".concat(p,": ").concat(i))}}function y(s){return!s||typeof s!="object"?String(s):f(s)?"{}":Object.entries(s).map(function(i){var a=i[0],c=i[1],p=c;return c instanceof Object&&(p="{ ".concat(y(c)," }")),"".concat(a,':"').concat(p,'"')}).join(" ")}function f(s){return Object.keys(s).length===0&&!s.prototype}var l=r?[].concat(n).concat(r):[n];try{u.apply(this,l)}catch(s){console.log(s)}}function hm(n,r){function u(v){var h=window.eval;function m(l){return d(v),o(v,'eval("'.concat(l,'")'),!0),h(l)}window.eval=m;var y=window.Function;function f(){d(v);for(var l=arguments.length,s=new Array(l),i=0;i2&&arguments[2]!==void 0?arguments[2]:!1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,f=v.name,l=v.verbose;if(!(!m&&!l)){var s=console.log;if(!y){s("".concat(f,":"),h);return}s("".concat(f,": ").concat(h))}}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function ym(n,r){function u(y,f){if(f){var l=function(a){var c=a.split(` +`).slice(2).map(function(A){return A.replace(/ {4}at /,"")}),p=c.map(function(A){var b,F,x=/\(([^\)]+)\)/,k=/(.*?@)(\S+)(:\d+):\d+\)?$/;return A.match(x)?(b=A.split(" ").slice(0,-1).join(" "),F=A.match(x)[1]):A.match(k)?(b=A.split("@").slice(0,-1).join(" "),F=A.match(k)[2]):(b="function name is not available",F=A),[b,F]}),E={};return p.forEach(function(A){E[A[0]]=A[1]}),E},s=function i(a,c){var p=d(a,c),E=p.base,A=p.prop,b=p.chain;if(b){var F=function(w){E=w,w instanceof Object&&i(w,b)};Object.defineProperty(a,A,{get:function(){return E},set:F});return}var x=E[A];o(E,A,{get(){return g(y),v(y,"Get ".concat(A),!0),console.table(l(new Error().stack)),x},set(k){g(y),v(y,"Set ".concat(A),!0),console.table(l(new Error().stack)),x=k}})};s(window,f)}}function d(y,f){var l=f.indexOf(".");if(l===-1)return{base:y,prop:f};var s=f.slice(0,l);if(y===null)return{base:y,prop:s,chain:f};var i=y[s];return f=f.slice(l+1),(y instanceof Object||typeof y=="object")&&h(y)?{base:y,prop:s,chain:f}:i===null?{base:y,prop:s,chain:f}:i!==void 0?d(i,f):(Object.defineProperty(y,s,{configurable:!0}),{base:y,prop:s,chain:f})}function o(y,f,l){var s=Object.getOwnPropertyDescriptor(y,f);return s&&!s.configurable?!1:(Object.defineProperty(y,f,l),!0)}function g(y){if(y.verbose===!0){try{var f=console.log.bind(console),l=console.trace.bind(console),s=y.ruleText||"";if(y.domainName){var i="#%#//",a="##+js",c;y.ruleText.includes(i)?c=y.ruleText.indexOf(i):y.ruleText.includes(a)&&(c=y.ruleText.indexOf(a));var p=y.ruleText.slice(c);s="".concat(y.domainName).concat(p)}f("".concat(s," trace start")),l&&l(),f("".concat(s," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(y)}}function v(y,f){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=y.name,a=y.verbose;if(!(!l&&!a)){var c=console.log;if(!s){c("".concat(i,":"),f);return}c("".concat(i,": ").concat(f))}}function h(y){return Object.keys(y).length===0&&!y.prototype}var m=r?[].concat(n).concat(r):[n];try{u.apply(this,m)}catch(y){console.log(y)}}function Ia(n,r){function u(c,p){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"";if(!(typeof Reflect>"u"||typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var A=!1,b=o(E),F="#",x={ASSET:"#EXT-X-ASSET:",CUE:"#EXT-X-CUE:",CUE_IN:"#EXT-X-CUE-IN",DISCONTINUITY:"#EXT-X-DISCONTINUITY",EXTINF:"#EXTINF",EXTM3U:"#EXTM3U",SCTE35:"#EXT-X-SCTE35:"},k={AD:"-AD-",VAST:"-VAST-",VMAP_AD:"-VMAP-AD-",VMAP_AD_BREAK:"#EXT-X-VMAP-AD-BREAK:"},w=["#EXT-X-TARGETDURATION","#EXT-X-MEDIA-SEQUENCE","#EXT-X-DISCONTINUITY-SEQUENCE","#EXT-X-ENDLIST","#EXT-X-PLAYLIST-TYPE","#EXT-X-I-FRAMES-ONLY","#EXT-X-MEDIA","#EXT-X-STREAM-INF","#EXT-X-I-FRAME-STREAM-INF","#EXT-X-SESSION-DATA","#EXT-X-SESSION-KEY","#EXT-X-INDEPENDENT-SEGMENTS","#EXT-X-START"],S=function(le){return w.some(function(ee){return le.startsWith(ee)})},j=function ue(le,ee){var ae=le.slice(),fe=ee;if(ae[fe].includes(x.EXTINF)&&(ae[fe]=void 0,fe+=1,ae[fe].includes(x.DISCONTINUITY))){ae[fe]=void 0,fe+=1;var ve=ue(ae,fe);ae=ve.array,fe=ve.index}return{array:ae,index:fe}},C=function(le){for(var ee=le.slice(),ae=0;ae"u"||(ae=T(ae,fe,ve),typeof ae<"u"&&(ae=I(ae,fe,ve))),ae}).filter(function(ae){return!!ae}).join(` +`))},V=window.XMLHttpRequest.prototype.open,U=window.XMLHttpRequest.prototype.send,X,Z=function(le,ee,ae){if(X=v.apply(null,ae),h(c,E,X)&&(ee.shouldBePruned=!0),ee.shouldBePruned){ee.collectedHeaders=[];var fe=function(De,Ae,ge){return Ae.collectedHeaders.push(ge),Reflect.apply(De,Ae,ge)},ve={apply:fe};ee.setRequestHeader=new Proxy(ee.setRequestHeader,ve)}return Reflect.apply(le,ee,ae)},Y=function(le,ee,ae){var fe=["","text"];if(!ee.shouldBePruned||!fe.includes(ee.responseType))return Reflect.apply(le,ee,ae);var ve=new XMLHttpRequest;ve.addEventListener("readystatechange",function(){if(ve.readyState===4){var we=ve.readyState,De=ve.response,Ae=ve.responseText,ge=ve.responseURL,xe=ve.responseXML,Oe=ve.status,Ot=ve.statusText,pn=Ae||De;if(typeof pn=="string"){if(p)A=$(De,_);else if(N(De)){var In="XMLHttpRequest.open() URL: ".concat(ge,` +response: `).concat(De);g(c,In)}var Ka=A?M(De):De;Object.defineProperties(ee,{readyState:{value:we,writable:!1},responseURL:{value:ge,writable:!1},responseXML:{value:xe,writable:!1},status:{value:Oe,writable:!1},statusText:{value:Ot,writable:!1},response:{value:Ka,writable:!1},responseText:{value:Ka,writable:!1}}),setTimeout(function(){var ir=new Event("readystatechange");ee.dispatchEvent(ir);var bu=new Event("load");ee.dispatchEvent(bu);var Du=new Event("loadend");ee.dispatchEvent(Du)},1),d(c)}}}),V.apply(ve,[X.method,X.url]),ee.collectedHeaders.forEach(function(we){var De=we[0],Ae=we[1];ve.setRequestHeader(De,Ae)}),ee.collectedHeaders=[];try{U.call(ve,ae)}catch{return Reflect.apply(le,ee,ae)}},oe={apply:Z},te={apply:Y};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,oe),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,te);var ne=window.fetch,K=async function(le,ee,ae){var fe=ae[0]instanceof Request?ae[0].url:ae[0];if(typeof fe!="string"||fe.length===0)return Reflect.apply(le,ee,ae);if(b.test(fe)){var ve=await ne(...ae),we=ve.clone(),De=await ve.text();if(!p&&N(De)){var Ae="fetch URL: ".concat(fe,` +response text: `).concat(De);return g(c,Ae),we}if($(De,_)){var ge=M(De);return d(c),new Response(ge,{status:ve.status,statusText:ve.statusText,headers:ve.headers})}return we}return Reflect.apply(le,ee,ae)},re={apply:K};window.fetch=new Proxy(window.fetch,re)}}function d(c){if(c.verbose===!0){try{var p=console.log.bind(console),E=console.trace.bind(console),A=c.ruleText||"";if(c.domainName){var b="#%#//",F="##+js",x;c.ruleText.includes(b)?x=c.ruleText.indexOf(b):c.ruleText.includes(F)&&(x=c.ruleText.indexOf(F));var k=c.ruleText.slice(x);A="".concat(c.domainName).concat(k)}p("".concat(A," trace start")),E&&E(),p("".concat(A," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(c)}}function o(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",p=".?",E="/";if(c==="")return new RegExp(p);var A=c.lastIndexOf(E),b=c.substring(A+1),F=c.substring(0,A+1),x=function(T){if(!T)return!1;try{return new RegExp("",T),!0}catch{return!1}},k=function(T,_){return T.startsWith(E)&&T.endsWith(E)&&!T.endsWith("\\/")&&x(_)?_:""},w=k(F,b);if(c.startsWith(E)&&c.endsWith(E)||w){var S=w?F:c;return new RegExp(S.slice(1,-1),w)}var j=c.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(j)}function g(c,p){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,b=c.name,F=c.verbose;if(!(!E&&!F)){var x=console.log;if(!A){x("".concat(b,":"),p);return}x("".concat(b,": ").concat(p))}}function v(c,p,E,A,b){return{method:c,url:p,async:E,user:A,password:b}}function h(c,p,E){if(p===""||p==="*")return!0;var A,b=l(p);if(!f(b))g(c,"Invalid parameter: ".concat(p)),A=!1;else{var F=m(b),x=Object.keys(F);A=x.every(function(k){var w=F[k],S=E[k];return Object.prototype.hasOwnProperty.call(E,k)&&typeof S=="string"&&w?.test(S)})}return A}function m(c){var p={},E=Object.keys(c);return E.forEach(function(A){p[A]=o(c[A])}),p}function y(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function f(c){return Object.values(c).every(function(p){return s(p)})}function l(c){var p=" ",E=":",A=function(k){return y().includes(k)},b={},F=c.split(p);return F.forEach(function(x){var k=x.indexOf(E),w=x.slice(0,k);if(A(w)){var S=x.slice(k+1);b[w]=S}else b.url=x}),b}function s(c){var p="/",E=i(c);c[0]===p&&c[c.length-1]===p&&(E=c.slice(1,-1));var A;try{A=new RegExp(E),A=!0}catch{A=!1}return A}function i(c){return c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var a=r?[].concat(n).concat(r):[n];try{u.apply(this,a)}catch(c){console.log(c)}}function bm(n,r){function u(v){var h=function(w,S){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},C=j.callback,T=j.ctx;typeof C=="function"&&(C=T!==void 0?C.bind(T):C,setTimeout(function(){return C()}))},m=o,y=h,f=h,l=function(w,S){S&&setTimeout(S(null))},s=h,i=h,a=o,c=function(w,S,j,C,T){h(null,null,{callback:C,ctx:T})},p=o,E=o,A=o,b={addFileExtension:m,extLink:y,file:f,getClientID:l,hit:s,notBounce:i,params:a,reachGoal:c,setUserID:p,userParams:E,destruct:A};function F(k,w){for(var S=arguments.length,j=new Array(S>2?S-2:0),C=2;C"u"?(window.ym=F,F.a=[]):window.ym&&window.ym.a&&(F.a=window.ym.a,window.ym=F,window.ym.a.forEach(function(k){var w=k[0];x(w)})),d(v)}function d(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}function o(){}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function Dm(n,r){function u(h){var m="yandex_metrika_callbacks",y=function(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=s.callback,a=s.ctx;typeof i=="function"&&(i=a!==void 0?i.bind(a):i,setTimeout(function(){return i()}))};function f(){}f.counters=g,f.prototype.addFileExtension=o,f.prototype.getClientID=o,f.prototype.setUserID=o,f.prototype.userParams=o,f.prototype.params=o,f.prototype.counters=g,f.prototype.extLink=function(l,s){y(s)},f.prototype.file=function(l,s){y(s)},f.prototype.hit=function(l,s){y(s)},f.prototype.reachGoal=function(l,s,i,a){y({callback:i,ctx:a})},f.prototype.notBounce=y,window.Ya?window.Ya.Metrika=f:window.Ya={Metrika:f},window[m]&&Array.isArray(window[m])&&window[m].forEach(function(l){typeof l=="function"&&l()}),d(h)}function d(h){if(h.verbose===!0){try{var m=console.log.bind(console),y=console.trace.bind(console),f=h.ruleText||"";if(h.domainName){var l="#%#//",s="##+js",i;h.ruleText.includes(l)?i=h.ruleText.indexOf(l):h.ruleText.includes(s)&&(i=h.ruleText.indexOf(s));var a=h.ruleText.slice(i);f="".concat(h.domainName).concat(a)}m("".concat(f," trace start")),y&&y(),m("".concat(f," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(h)}}function o(){}function g(){return[]}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function Em(n,r){function u(y){if(Document instanceof Object){for(var f={joinAdInterestGroup:v,runAdAuction:h,leaveAdInterestGroup:v,clearOriginJoinedAdInterestGroups:v,createAuctionNonce:o,updateAdInterestGroups:g},l=0,s=Object.keys(f);l0&&arguments[0]!==void 0?arguments[0]:"{}",h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"basic";if(!(typeof Response>"u")){var y=new Response(v,{status:200,statusText:"OK"});return m==="opaque"?Object.defineProperties(y,{body:{value:null},status:{value:0},statusText:{value:""},url:{value:""},type:{value:m}}):Object.defineProperties(y,{url:{value:h},type:{value:m}}),Promise.resolve(y)}}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function sn(n,r){function u(v){window.eval=function(m){d(v),o(v,`AdGuard has prevented eval: +`.concat(m),!0)}.bind()}function d(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}function o(v,h){var m=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,y=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,f=v.name,l=v.verbose;if(!(!m&&!l)){var s=console.log;if(!y){s("".concat(f,":"),h);return}s("".concat(f,": ").concat(h))}}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function Na(n,r){function u(m){var y="";if(window.RTCPeerConnection?y="RTCPeerConnection":window.webkitRTCPeerConnection&&(y="webkitRTCPeerConnection"),y!==""){var f=function(i){var a="Document tried to create an RTCPeerConnection: ".concat(v(i));g(m,a),d(m)};f.prototype={close:o,createDataChannel:o,createOffer:o,setRemoteDescription:o};var l=window[y];window[y]=f,l.prototype&&(l.prototype.createDataChannel=function(s,i){return{close:o,send:o}}.bind(null))}}function d(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function o(){}function g(m,y){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=m.name,i=m.verbose;if(!(!f&&!i)){var a=console.log;if(!l){a("".concat(s,":"),y);return}a("".concat(s,": ").concat(y))}}function v(m){var y="undefined",f=y;if(m===null)f="null";else if(m instanceof Object){var l="iceServers",s="urls";Object.prototype.hasOwnProperty.call(m,l)&&m[l]&&Object.prototype.hasOwnProperty.call(m[l][0],s)&&m[l][0][s]&&(f=m[l][0][s].toString())}return f}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function Yt(n,r){function u(y,f,l){var s=o(f),i=o(l),a=window.EventTarget.prototype.addEventListener;function c(E,A){var b,F=!1;if(g(E)&&v(A)&&(F=s.test(E.toString())&&i.test(h(A))),F){d(y);return}var x=this;this&&((b=this.constructor)===null||b===void 0?void 0:b.name)==="Window"&&this!==window&&(x=window);for(var k=arguments.length,w=new Array(k>2?k-2:0),S=2;S0&&arguments[0]!==void 0?arguments[0]:"",f=".?",l="/";if(y==="")return new RegExp(f);var s=y.lastIndexOf(l),i=y.substring(s+1),a=y.substring(0,s+1),c=function(x){if(!x)return!1;try{return new RegExp("",x),!0}catch{return!1}},p=function(x,k){return x.startsWith(l)&&x.endsWith(l)&&!x.endsWith("\\/")&&c(k)?k:""},E=p(a,i);if(y.startsWith(l)&&y.endsWith(l)||E){var A=E?a:y;return new RegExp(A.slice(1,-1),E)}var b=y.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(b)}function g(y){return typeof y<"u"}function v(y){return typeof y<"u"&&(typeof y=="function"||typeof y=="object"&&y!==null&&"handleEvent"in y&&typeof y.handleEvent=="function")}function h(y){return typeof y=="function"?y.toString():y.handleEvent.toString()}var m=r?[].concat(n).concat(r):[n];try{u.apply(this,m)}catch(y){console.log(y)}}function Ma(n,r){function u(h){var m=function(a){return/^\d$/.test(a)},y=function(a){for(var c="",p="",E=0;E2&&arguments[2]!==void 0?arguments[2]:!1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,l=h.name,s=h.verbose;if(!(!y&&!s)){var i=console.log;if(!f){i("".concat(l,":"),m);return}i("".concat(l,": ").concat(m))}}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function Am(n,r){function u(g){var v=window.setTimeout,h=/\.bab_elementid.$/,m=function(a){if(typeof a!="string"||!h.test(a)){for(var c=arguments.length,p=new Array(c>1?c-1:0),E=1;E>4","sessionStorage","clientWidth","localStorage","Math","random"]],f=function(a){if(typeof a!="string")return!1;for(var c=0;c=.8)return!0}return!1},l=window.eval,s=function(a){if(!f(a))return l(a);d(g);var c=document.body;c&&c.style.removeProperty("visibility");var p=document.getElementById("babasbmsgx");p&&p.parentNode.removeChild(p)};window.eval=s.bind(window)}function d(g){if(g.verbose===!0){try{var v=console.log.bind(console),h=console.trace.bind(console),m=g.ruleText||"";if(g.domainName){var y="#%#//",f="##+js",l;g.ruleText.includes(y)?l=g.ruleText.indexOf(y):g.ruleText.includes(f)&&(l=g.ruleText.indexOf(f));var s=g.ruleText.slice(l);m="".concat(g.domainName).concat(s)}v("".concat(m," trace start")),h&&h(),v("".concat(m," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(g)}}var o=r?[].concat(n).concat(r):[n];try{u.apply(this,o)}catch(g){console.log(g)}}function Fm(n,r){function u(m,y,f){if(!(typeof Proxy>"u"||typeof Reflect>"u")){var l={script:"data:text/javascript;base64,KCk9Pnt9",img:"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",iframe:"data:text/html;base64, PGRpdj48L2Rpdj4=",link:"data:text/plain;base64,"},s;if(y==="script")s=HTMLScriptElement;else if(y==="img")s=HTMLImageElement;else if(y==="iframe")s=HTMLIFrameElement;else if(y==="link")s=HTMLLinkElement;else return;var i=window.trustedTypes&&typeof window.trustedTypes.createPolicy=="function",a;i&&(a=window.trustedTypes.createPolicy("AGPolicy",{createScriptURL:function(T){return T}}));var c=y==="link"?"href":"src",p="onerror",E=o(f),A=function(T){return T.setAttribute(m.name,"matched")},b=function(T,_,I){if(!I[0]||!I[1])return Reflect.apply(T,_,I);var L=_.nodeName.toLowerCase(),N=I[0].toLowerCase(),$=I[1],M=N===c&&y.toLowerCase()===L&&l[L]&&E.test($);return M?(d(m),A(_),Reflect.apply(T,_,[N,l[L]])):Reflect.apply(T,_,I)},F={apply:b};s.prototype.setAttribute=new Proxy(Element.prototype.setAttribute,F);var x=g(s.prototype,c);if(x){Object.defineProperty(s.prototype,c,{enumerable:!0,configurable:!0,get(){return x.get.call(this)},set(C){var T=this.nodeName.toLowerCase(),_=y.toLowerCase()===T&&l[T]&&E.test(C);if(!_)return x.set.call(this,C),!0;if(a&&C instanceof TrustedScriptURL){var I=a.createScriptURL(C);x.set.call(this,I),d(m);return}A(this),x.set.call(this,l[T]),d(m)}});var k=g(HTMLElement.prototype,p);if(k){Object.defineProperty(HTMLElement.prototype,p,{enumerable:!0,configurable:!0,get(){return k.get.call(this)},set(C){var T=this.getAttribute(m.name)==="matched";return T?(k.set.call(this,v),!0):(k.set.call(this,C),!0)}});var w=function(T,_,I){if(!I[0]||!I[1]||!_)return Reflect.apply(T,_,I);var L=I[0],N=typeof _.getAttribute=="function"&&_.getAttribute(m.name)==="matched"&&L==="error";return N?Reflect.apply(T,_,[L,v]):Reflect.apply(T,_,I)},S={apply:w};EventTarget.prototype.addEventListener=new Proxy(EventTarget.prototype.addEventListener,S);var j=function(T,_){window.addEventListener("error",function(I){if(!(!I.target||!I.target.nodeName||I.target.nodeName.toLowerCase()!==T||!I.target.src||!_.test(I.target.src))){if(d(m),typeof I.target.onload=="function"){I.target.onerror=I.target.onload;return}I.target.onerror=v}},!0)};j(y,E)}}}}function d(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function o(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",y=".?",f="/";if(m==="")return new RegExp(y);var l=m.lastIndexOf(f),s=m.substring(l+1),i=m.substring(0,l+1),a=function(F){if(!F)return!1;try{return new RegExp("",F),!0}catch{return!1}},c=function(F,x){return F.startsWith(f)&&F.endsWith(f)&&!F.endsWith("\\/")&&a(x)?x:""},p=c(i,s);if(m.startsWith(f)&&m.endsWith(f)||p){var E=p?i:m;return new RegExp(E.slice(1,-1),p)}var A=m.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(A)}function g(m,y){var f=Object.getOwnPropertyDescriptor(m,y);return f&&f.configurable?f:null}function v(){}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function Ba(n,r){function u(v,h){var m=d(h),y=window.eval;window.eval=function(f){if(!m.test(f.toString()))return y.call(window,f);o(v)}.bind(window)}function d(){var v=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",h=".?",m="/";if(v==="")return new RegExp(h);var y=v.lastIndexOf(m),f=v.substring(y+1),l=v.substring(0,y+1),s=function(A){if(!A)return!1;try{return new RegExp("",A),!0}catch{return!1}},i=function(A,b){return A.startsWith(m)&&A.endsWith(m)&&!A.endsWith("\\/")&&s(b)?b:""},a=i(l,f);if(v.startsWith(m)&&v.endsWith(m)||a){var c=a?l:v;return new RegExp(c.slice(1,-1),a)}var p=v.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(p)}function o(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function _n(n,r){function u(h){d(h);var m=function(){};m.prototype.check=o,m.prototype.clearEvent=o,m.prototype.emitEvent=o,m.prototype.on=function(s,i){return s||i(),this},m.prototype.onDetected=g,m.prototype.onNotDetected=function(s){return s(),this},m.prototype.setOption=o,m.prototype.options={set:o,get:o};var y=new m,f={get(){return m},set(){}},l={get(){return y},set(){}};Object.prototype.hasOwnProperty.call(window,"FuckAdBlock")?window.FuckAdBlock=m:Object.defineProperty(window,"FuckAdBlock",f),Object.prototype.hasOwnProperty.call(window,"BlockAdBlock")?window.BlockAdBlock=m:Object.defineProperty(window,"BlockAdBlock",f),Object.prototype.hasOwnProperty.call(window,"SniffAdBlock")?window.SniffAdBlock=m:Object.defineProperty(window,"SniffAdBlock",f),Object.prototype.hasOwnProperty.call(window,"fuckAdBlock")?window.fuckAdBlock=y:Object.defineProperty(window,"fuckAdBlock",l),Object.prototype.hasOwnProperty.call(window,"blockAdBlock")?window.blockAdBlock=y:Object.defineProperty(window,"blockAdBlock",l),Object.prototype.hasOwnProperty.call(window,"sniffAdBlock")?window.sniffAdBlock=y:Object.defineProperty(window,"sniffAdBlock",l)}function d(h){if(h.verbose===!0){try{var m=console.log.bind(console),y=console.trace.bind(console),f=h.ruleText||"";if(h.domainName){var l="#%#//",s="##+js",i;h.ruleText.includes(l)?i=h.ruleText.indexOf(l):h.ruleText.includes(s)&&(i=h.ruleText.indexOf(s));var a=h.ruleText.slice(i);f="".concat(h.domainName).concat(a)}m("".concat(f," trace start")),y&&y(),m("".concat(f," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(h)}}function o(){}function g(){return this}var v=r?[].concat(n).concat(r):[n];try{u.apply(this,v)}catch(h){console.log(h)}}function La(n,r){function u(F,x){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"emptyObj",w=arguments.length>3?arguments[3]:void 0;if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var S=Request.prototype.clone,j;if(k===""||k==="emptyObj")j="{}";else if(k==="emptyArr")j="[]";else if(k==="emptyStr")j="";else{h(F,"Invalid responseBody parameter: '".concat(k,"'"));return}var C=typeof w<"u",T=function($){var M=["basic","cors","opaque"];return M.includes($)};if(C&&!T(w)){h(F,"Invalid responseType parameter: '".concat(w,"'"));return}var _=function($){try{var M=$.mode;if(M===void 0||M==="cors"||M==="no-cors"){var V=new URL($.url);return V.origin===document.location.origin?"basic":M==="no-cors"?"opaque":"cors"}}catch(U){h(F,"Could not determine response type: ".concat(U))}},I=async function($,M,V){var U=!1,X=o(V,S);if(typeof x>"u")return h(F,"fetch( ".concat(g(X)," )"),!0),d(F),Reflect.apply($,M,V);if(U=v(F,x,X),U){d(F);var Z;try{Z=w||_(X);var Y=await Reflect.apply($,M,V);return Y.ok?y(Y,{body:j,type:Z}):m(j,X.url,Z)}catch{return m(j,X.url,Z)}}return Reflect.apply($,M,V)},L={apply:I};fetch=new Proxy(fetch,L)}}function d(F){if(F.verbose===!0){try{var x=console.log.bind(console),k=console.trace.bind(console),w=F.ruleText||"";if(F.domainName){var S="#%#//",j="##+js",C;F.ruleText.includes(S)?C=F.ruleText.indexOf(S):F.ruleText.includes(j)&&(C=F.ruleText.indexOf(j));var T=F.ruleText.slice(C);w="".concat(F.domainName).concat(T)}x("".concat(w," trace start")),k&&k(),x("".concat(w," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(F)}}function o(F,x){var k={},w=F[0],S,j;if(w instanceof Request){var C=x.call(w),T=a(C);S=T.url,j=T}else S=w,j=F[1];if(k.url=S,j instanceof Object){var _=Object.keys(j);_.forEach(function(I){k[I]=j[I]})}return k}function g(F){return!F||typeof F!="object"?String(F):i(F)?"{}":Object.entries(F).map(function(x){var k=x[0],w=x[1],S=w;return w instanceof Object&&(S="{ ".concat(g(w)," }")),"".concat(k,':"').concat(S,'"')}).join(" ")}function v(F,x,k){if(x===""||x==="*")return!0;var w,S=p(x);if(!E(S))h(F,"Invalid parameter: ".concat(x)),w=!1;else{var j=A(S),C=Object.keys(j);w=C.every(function(T){var _=j[T],I=k[T];return Object.prototype.hasOwnProperty.call(k,T)&&typeof I=="string"&&_?.test(I)})}return w}function h(F,x){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,w=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,S=F.name,j=F.verbose;if(!(!k&&!j)){var C=console.log;if(!w){C("".concat(S,":"),x);return}C("".concat(S,": ").concat(x))}}function m(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"{}",x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"basic";if(!(typeof Response>"u")){var w=new Response(F,{status:200,statusText:"OK"});return k==="opaque"?Object.defineProperties(w,{body:{value:null},status:{value:0},statusText:{value:""},url:{value:""},type:{value:k}}):Object.defineProperties(w,{url:{value:x},type:{value:k}}),Promise.resolve(w)}}function y(F){var x,k=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{body:"{}"},w={};F==null||(x=F.headers)===null||x===void 0||x.forEach(function(j,C){w[C]=j});var S=new Response(k.body,{status:F.status,statusText:F.statusText,headers:w});return Object.defineProperties(S,{url:{value:F.url},type:{value:k.type||F.type}}),S}function f(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",x=".?",k="/";if(F==="")return new RegExp(x);var w=F.lastIndexOf(k),S=F.substring(w+1),j=F.substring(0,w+1),C=function($){if(!$)return!1;try{return new RegExp("",$),!0}catch{return!1}},T=function($,M){return $.startsWith(k)&&$.endsWith(k)&&!$.endsWith("\\/")&&C(M)?M:""},_=T(j,S);if(F.startsWith(k)&&F.endsWith(k)||_){var I=_?j:F;return new RegExp(I.slice(1,-1),_)}var L=F.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(L)}function l(F){var x="/",k=s(F);F[0]===x&&F[F.length-1]===x&&(k=F.slice(1,-1));var w;try{w=new RegExp(k),w=!0}catch{w=!1}return w}function s(F){return F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function i(F){return Object.keys(F).length===0&&!F.prototype}function a(F){var x=c(),k=x.map(function(w){var S=F[w];return[w,S]});return Object.fromEntries(k)}function c(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function p(F){var x=" ",k=":",w=function(T){return c().includes(T)},S={},j=F.split(x);return j.forEach(function(C){var T=C.indexOf(k),_=C.slice(0,T);if(w(_)){var I=C.slice(T+1);S[_]=I}else S.url=C}),S}function E(F){return Object.values(F).every(function(x){return l(x)})}function A(F){var x={},k=Object.keys(F);return k.forEach(function(w){x[w]=f(F[w])}),x}var b=r?[].concat(n).concat(r):[n];try{u.apply(this,b)}catch(F){console.log(F)}}function $a(n,r){function u(h){var m=o(),y=function(){throw new ReferenceError(m)};delete window.PopAds,delete window.popns,Object.defineProperties(window,{PopAds:{set:y},popns:{set:y}}),window.onerror=d(m).bind(),g(h)}function d(h){var m=window.onerror;return function(f){if(typeof f=="string"&&f.includes(h))return!0;if(m instanceof Function){for(var l=arguments.length,s=new Array(l>1?l-1:0),i=1;i2&&arguments[2]!==void 0?arguments[2]:!1,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=m.name,i=m.verbose;if(!(!f&&!i)){var a=console.log;if(!l){a("".concat(s,":"),y);return}a("".concat(s,": ").concat(y))}}function v(m){var y=Number.isNaN||window.isNaN;return y(m)}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function cn(n,r){function u(s,i){var a=window.requestAnimationFrame,c=typeof i>"u",p=g(i),E=p.isInvertedMatch,A=p.matchRegexp,b=function(x){var k=!1;if(c?(d(s),m(s,"requestAnimationFrame(".concat(String(x),")"),!0)):h(x)&&v(i)&&(k=A.test(x.toString())!==E),k)return d(s),a(o);for(var w=arguments.length,S=new Array(w>1?w-1:0),j=1;j2&&arguments[2]!==void 0?arguments[2]:!1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,p=s.name,E=s.verbose;if(!(!a&&!E)){var A=console.log;if(!c){A("".concat(p,":"),i);return}A("".concat(p,": ").concat(i))}}function y(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function f(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",i=".?",a="/";if(s==="")return new RegExp(i);var c=s.lastIndexOf(a),p=s.substring(c+1),E=s.substring(0,c+1),A=function(S){if(!S)return!1;try{return new RegExp("",S),!0}catch{return!1}},b=function(S,j){return S.startsWith(a)&&S.endsWith(a)&&!S.endsWith("\\/")&&A(j)?j:""},F=b(E,p);if(s.startsWith(a)&&s.endsWith(a)||F){var x=F?E:s;return new RegExp(x.slice(1,-1),F)}var k=s.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(k)}var l=r?[].concat(n).concat(r):[n];try{u.apply(this,l)}catch(s){console.log(s)}}function tt(n,r){function u(b,F,x){var k=typeof F>"u"&&typeof x>"u",w=function(C,T,_){var I=_[0],L=_[1],N=!1;return k?(d(b),v(b,"setInterval(".concat(String(I),", ").concat(L,")"),!0)):N=g({callback:I,delay:L,matchCallback:F,matchDelay:x}),N&&(d(b),_[0]=o),C.apply(T,_)},S={apply:w};window.setInterval=new Proxy(window.setInterval,S)}function d(b){if(b.verbose===!0){try{var F=console.log.bind(console),x=console.trace.bind(console),k=b.ruleText||"";if(b.domainName){var w="#%#//",S="##+js",j;b.ruleText.includes(w)?j=b.ruleText.indexOf(w):b.ruleText.includes(S)&&(j=b.ruleText.indexOf(S));var C=b.ruleText.slice(j);k="".concat(b.domainName).concat(C)}F("".concat(k," trace start")),x&&x(),F("".concat(k," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(b)}}function o(){}function g(b){var F=b.callback,x=b.delay,k=b.matchCallback,w=b.matchDelay;if(!l(F)||!s(k)||w&&!p(w))return!1;var S=y(k),j=S.isInvertedMatch,C=S.matchRegexp,T=f(w),_=T.isInvertedDelayMatch,I=T.delayMatch,L=E(x),N=!1,$=String(F);return I===null?N=C.test($)!==j:k?N=C.test($)!==j&&L===I!==_:N=L===I!==_,N}function v(b,F){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,w=b.name,S=b.verbose;if(!(!x&&!S)){var j=console.log;if(!k){j("".concat(w,":"),F);return}j("".concat(w,": ").concat(F))}}function h(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",F=".?",x="/";if(b==="")return new RegExp(F);var k=b.lastIndexOf(x),w=b.substring(k+1),S=b.substring(0,k+1),j=function(N){if(!N)return!1;try{return new RegExp("",N),!0}catch{return!1}},C=function(N,$){return N.startsWith(x)&&N.endsWith(x)&&!N.endsWith("\\/")&&j($)?$:""},T=C(S,w);if(b.startsWith(x)&&b.endsWith(x)||T){var _=T?S:b;return new RegExp(_.slice(1,-1),T)}var I=b.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(I)}function m(b){var F=Number.isNaN||window.isNaN;return F(b)}function y(b){var F="!",x=b?b?.startsWith(F):!1,k=x?b.slice(1):b,w=h(k);return{isInvertedMatch:x,matchRegexp:w,matchValue:k}}function f(b){var F="!",x=b?.startsWith(F),k=x?b.slice(1):b,w=parseInt(k,10),S=m(w)?null:w;return{isInvertedDelayMatch:x,delayMatch:S}}function l(b){return b instanceof Function||typeof b=="string"}function s(b){var F="!",x=b;return b!=null&&b.startsWith(F)&&(x=b.slice(1)),i(x)}function i(b){var F="/",x=a(b);b[0]===F&&b[b.length-1]===F&&(x=b.slice(1,-1));var k;try{k=new RegExp(x),k=!0}catch{k=!1}return k}function a(b){return b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c(b){var F=Number.isFinite||window.isFinite;return F(b)}function p(b){var F="!",x=b;b!=null&&b.startsWith(F)&&(x=b.slice(1));var k=parseFloat(x);return!m(k)&&c(k)}function E(b){var F=Math.floor(parseInt(b,10));return typeof F=="number"&&!m(F)?F:b}var A=r?[].concat(n).concat(r):[n];try{u.apply(this,A)}catch(b){console.log(b)}}function nt(n,r){function u(b,F,x){var k=typeof F>"u"&&typeof x>"u",w=function(C,T,_){var I=_[0],L=_[1],N=!1;return k?(d(b),v(b,"setTimeout(".concat(String(I),", ").concat(L,")"),!0)):N=g({callback:I,delay:L,matchCallback:F,matchDelay:x}),N&&(d(b),_[0]=o),C.apply(T,_)},S={apply:w};window.setTimeout=new Proxy(window.setTimeout,S)}function d(b){if(b.verbose===!0){try{var F=console.log.bind(console),x=console.trace.bind(console),k=b.ruleText||"";if(b.domainName){var w="#%#//",S="##+js",j;b.ruleText.includes(w)?j=b.ruleText.indexOf(w):b.ruleText.includes(S)&&(j=b.ruleText.indexOf(S));var C=b.ruleText.slice(j);k="".concat(b.domainName).concat(C)}F("".concat(k," trace start")),x&&x(),F("".concat(k," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(b)}}function o(){}function g(b){var F=b.callback,x=b.delay,k=b.matchCallback,w=b.matchDelay;if(!l(F)||!s(k)||w&&!p(w))return!1;var S=h(k),j=S.isInvertedMatch,C=S.matchRegexp,T=m(w),_=T.isInvertedDelayMatch,I=T.delayMatch,L=E(x),N=!1,$=String(F);return I===null?N=C.test($)!==j:k?N=C.test($)!==j&&L===I!==_:N=L===I!==_,N}function v(b,F){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,w=b.name,S=b.verbose;if(!(!x&&!S)){var j=console.log;if(!k){j("".concat(w,":"),F);return}j("".concat(w,": ").concat(F))}}function h(b){var F="!",x=b?b?.startsWith(F):!1,k=x?b.slice(1):b,w=y(k);return{isInvertedMatch:x,matchRegexp:w,matchValue:k}}function m(b){var F="!",x=b?.startsWith(F),k=x?b.slice(1):b,w=parseInt(k,10),S=f(w)?null:w;return{isInvertedDelayMatch:x,delayMatch:S}}function y(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",F=".?",x="/";if(b==="")return new RegExp(F);var k=b.lastIndexOf(x),w=b.substring(k+1),S=b.substring(0,k+1),j=function(N){if(!N)return!1;try{return new RegExp("",N),!0}catch{return!1}},C=function(N,$){return N.startsWith(x)&&N.endsWith(x)&&!N.endsWith("\\/")&&j($)?$:""},T=C(S,w);if(b.startsWith(x)&&b.endsWith(x)||T){var _=T?S:b;return new RegExp(_.slice(1,-1),T)}var I=b.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(I)}function f(b){var F=Number.isNaN||window.isNaN;return F(b)}function l(b){return b instanceof Function||typeof b=="string"}function s(b){var F="!",x=b;return b!=null&&b.startsWith(F)&&(x=b.slice(1)),a(x)}function i(b){return b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a(b){var F="/",x=i(b);b[0]===F&&b[b.length-1]===F&&(x=b.slice(1,-1));var k;try{k=new RegExp(x),k=!0}catch{k=!1}return k}function c(b){var F=Number.isFinite||window.isFinite;return F(b)}function p(b){var F="!",x=b;b!=null&&b.startsWith(F)&&(x=b.slice(1));var k=parseFloat(x);return!f(k)&&c(k)}function E(b){var F=Math.floor(parseInt(b,10));return typeof F=="number"&&!f(F)?F:b}var A=r?[].concat(n).concat(r):[n];try{u.apply(this,A)}catch(b){console.log(b)}}function Et(n,r){function u(F){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"*",k=arguments.length>2?arguments[2]:void 0,w=arguments.length>3?arguments[3]:void 0,S=window.open,j=x!=="0"&&x!=="1",C=function(I){x=Number(x)>0;for(var L=arguments.length,N=new Array(L>1?L-1:0),$=1;$1?N-1:0),M=1;M0?", ".concat($.join(", ")):"",U="".concat(I).concat(V);a(F,U,!0),d(F)}var X=!1;if(x==="*")X=!0;else if(v(x)){var Z=y(x),Y=Z.isInvertedMatch,oe=Z.matchRegexp;X=oe.test(I)!==Y}else a(F,"Invalid parameter: ".concat(x)),X=!1;if(X){var te=parseInt(k,10),ne;if(m(te))ne=i();else{var K={replacement:w,url:I,delay:te},re=l(K),ue=re.contentWindow;if(typeof ue=="object"&&ue!==null)Object.defineProperty(ue,"closed",{value:!1}),Object.defineProperty(ue,"opener",{value:window}),Object.defineProperty(ue,"frameElement",{value:null});else{var le=re.contentWindow&&re.contentWindow.get;Object.defineProperty(re,"contentWindow",{get:s(le)}),ue=re.contentWindow}ne=ue}return d(F),ne}return S.apply(window,[I,...$])};window.open=j?T:C,window.open.toString=S.toString.bind(S)}function d(F){if(F.verbose===!0){try{var x=console.log.bind(console),k=console.trace.bind(console),w=F.ruleText||"";if(F.domainName){var S="#%#//",j="##+js",C;F.ruleText.includes(S)?C=F.ruleText.indexOf(S):F.ruleText.includes(j)&&(C=F.ruleText.indexOf(j));var T=F.ruleText.slice(C);w="".concat(F.domainName).concat(T)}x("".concat(w," trace start")),k&&k(),x("".concat(w," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(F)}}function o(F){var x="/",k=g(F);F[0]===x&&F[F.length-1]===x&&(k=F.slice(1,-1));var w;try{w=new RegExp(k),w=!0}catch{w=!1}return w}function g(F){return F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function v(F){var x="!",k=F;return F!=null&&F.startsWith(x)&&(k=F.slice(1)),o(k)}function h(){var F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",x=".?",k="/";if(F==="")return new RegExp(x);var w=F.lastIndexOf(k),S=F.substring(w+1),j=F.substring(0,w+1),C=function($){if(!$)return!1;try{return new RegExp("",$),!0}catch{return!1}},T=function($,M){return $.startsWith(k)&&$.endsWith(k)&&!$.endsWith("\\/")&&C(M)?M:""},_=T(j,S);if(F.startsWith(k)&&F.endsWith(k)||_){var I=_?j:F;return new RegExp(I.slice(1,-1),_)}var L=F.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(L)}function m(F){var x=Number.isNaN||window.isNaN;return x(F)}function y(F){var x="!",k=F?F?.startsWith(x):!1,w=k?F.slice(1):F,S=h(w);return{isInvertedMatch:k,matchRegexp:S,matchValue:w}}function f(F){var x;if(!F)x=c;else if(F==="trueFunc")x=p;else if(F.includes("=")){var k=F.startsWith("{")&&F.endsWith("}");if(k){var w=F.slice(1,-1),S=E(w,"="),j=A(w,"=");j==="noopFunc"&&(x={},x[S]=c)}}return x}function l(F){var x=function(T){return T.Object="data",T.Iframe="src",T}({}),k=F.replacement,w=F.url,S=F.delay,j;k==="obj"?j="object":j="iframe";var C=document.createElement(j);return C instanceof HTMLObjectElement?C[x.Object]=w:C instanceof HTMLIFrameElement&&(C[x.Iframe]=w),C.style.setProperty("height","1px","important"),C.style.setProperty("position","fixed","important"),C.style.setProperty("top","-1px","important"),C.style.setProperty("width","1px","important"),document.body.appendChild(C),setTimeout(function(){return C.remove()},S*1e3),C}function s(F){var x=function(w,S){return S&&S==="closed"?!1:typeof F=="function"?c:S&&w[S]};return x}function i(){return null}function a(F,x){var k=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,w=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,S=F.name,j=F.verbose;if(!(!k&&!j)){var C=console.log;if(!w){C("".concat(S,":"),x);return}C("".concat(S,": ").concat(x))}}function c(){}function p(){return!0}function E(F,x){if(!F||!x)return F;var k=F.indexOf(x);return k<0?F:F.substring(0,k)}function A(F,x){if(!F)return F;var k=F.indexOf(x);return k<0?"":F.substring(k+x.length)}var b=r?[].concat(n).concat(r):[n];try{u.apply(this,b)}catch(F){console.log(F)}}function Wa(n,r){function u(w,S,j){if(!(typeof Proxy>"u")){var C=window.XMLHttpRequest.prototype.open,T=window.XMLHttpRequest.prototype.send,_=window.XMLHttpRequest.prototype.getResponseHeader,I=window.XMLHttpRequest.prototype.getAllResponseHeaders,L,N="",$="",M=function(K,re,ue){if(L=h.apply(null,ue),typeof S>"u"?(m(w,"xhr( ".concat(o(L)," )"),!0),d(w)):v(w,S,L)&&(re.shouldBePrevented=!0,re.xhrData=L),re.shouldBePrevented){re.collectedHeaders=[];var le=function(fe,ve,we){return ve.collectedHeaders.push(we),Reflect.apply(fe,ve,we)},ee={apply:le};re.setRequestHeader=new Proxy(re.setRequestHeader,ee)}return Reflect.apply(K,re,ue)},V=function(K,re,ue){if(!re.shouldBePrevented)return Reflect.apply(K,re,ue);if(re.responseType==="blob"&&(N=new Blob),re.responseType==="arraybuffer"&&(N=new ArrayBuffer),j){var le=g(j);le?$=le:m(w,"Invalid randomize parameter: '".concat(j,"'"))}var ee=new XMLHttpRequest;ee.addEventListener("readystatechange",function(){if(ee.readyState===4){var ae=ee.readyState,fe=ee.responseURL,ve=ee.responseXML,we=ee.statusText;Object.defineProperties(re,{readyState:{value:ae,writable:!1},statusText:{value:we,writable:!1},responseURL:{value:fe||re.xhrData.url,writable:!1},responseXML:{value:ve,writable:!1},status:{value:200,writable:!1},response:{value:N,writable:!1},responseText:{value:$,writable:!1}}),setTimeout(function(){var De=new Event("readystatechange");re.dispatchEvent(De);var Ae=new Event("load");re.dispatchEvent(Ae);var ge=new Event("loadend");re.dispatchEvent(ge)},1),d(w)}}),C.apply(ee,[re.xhrData.method,re.xhrData.url]),re.collectedHeaders.forEach(function(ae){var fe=ae[0],ve=ae[1];ee.setRequestHeader(fe,ve)});try{T.call(ee,ue)}catch{return Reflect.apply(K,re,ue)}},U=function(K,re,ue){if(!re.shouldBePrevented)return _.apply(re,ue);if(!re.collectedHeaders.length)return null;var le=ue[0].toLowerCase(),ee=re.collectedHeaders.find(function(ae){var fe=ae[0].toLowerCase();return fe===le});return ee?ee[1]:null},X=function(K,re){if(!re.shouldBePrevented)return I.call(re);if(!re.collectedHeaders.length)return"";var ue=re.collectedHeaders.map(function(le){var ee=le[0],ae=le[1];return"".concat(ee.toLowerCase(),": ").concat(ae)}).join(`\r +`);return ue},Z={apply:M},Y={apply:V},oe={apply:U},te={apply:X};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,Z),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,Y),XMLHttpRequest.prototype.getResponseHeader=new Proxy(XMLHttpRequest.prototype.getResponseHeader,oe),XMLHttpRequest.prototype.getAllResponseHeaders=new Proxy(XMLHttpRequest.prototype.getAllResponseHeaders,te)}}function d(w){if(w.verbose===!0){try{var S=console.log.bind(console),j=console.trace.bind(console),C=w.ruleText||"";if(w.domainName){var T="#%#//",_="##+js",I;w.ruleText.includes(T)?I=w.ruleText.indexOf(T):w.ruleText.includes(_)&&(I=w.ruleText.indexOf(_));var L=w.ruleText.slice(I);C="".concat(w.domainName).concat(L)}S("".concat(C," trace start")),j&&j(),S("".concat(C," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(w)}}function o(w){return!w||typeof w!="object"?String(w):s(w)?"{}":Object.entries(w).map(function(S){var j=S[0],C=S[1],T=C;return C instanceof Object&&(T="{ ".concat(o(C)," }")),"".concat(j,':"').concat(T,'"')}).join(" ")}function g(w){var S=w;if(S==="true")return S=Math.random().toString(36).slice(-10),S;S=S.replace("length:","");var j=/^\d+-\d+$/;if(!j.test(S))return null;var C=i(S.split("-")[0]),T=i(S.split("-")[1]);if(!a(C)||!a(T))return null;if(C>T){var _=C;C=T,T=_}var I=500*1e3;if(T>I)return null;var L=F(C,T);return S=x(L),S}function v(w,S,j){if(S===""||S==="*")return!0;var C,T=p(S);if(!E(T))m(w,"Invalid parameter: ".concat(S)),C=!1;else{var _=A(T),I=Object.keys(_);C=I.every(function(L){var N=_[L],$=j[L];return Object.prototype.hasOwnProperty.call(j,L)&&typeof $=="string"&&N?.test($)})}return C}function h(w,S,j,C,T){return{method:w,url:S,async:j,user:C,password:T}}function m(w,S){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,T=w.name,_=w.verbose;if(!(!j&&!_)){var I=console.log;if(!C){I("".concat(T,":"),S);return}I("".concat(T,": ").concat(S))}}function y(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",S=".?",j="/";if(w==="")return new RegExp(S);var C=w.lastIndexOf(j),T=w.substring(C+1),_=w.substring(0,C+1),I=function(U){if(!U)return!1;try{return new RegExp("",U),!0}catch{return!1}},L=function(U,X){return U.startsWith(j)&&U.endsWith(j)&&!U.endsWith("\\/")&&I(X)?X:""},N=L(_,T);if(w.startsWith(j)&&w.endsWith(j)||N){var $=N?_:w;return new RegExp($.slice(1,-1),N)}var M=w.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(M)}function f(w){var S="/",j=l(w);w[0]===S&&w[w.length-1]===S&&(j=w.slice(1,-1));var C;try{C=new RegExp(j),C=!0}catch{C=!1}return C}function l(w){return w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(w){return Object.keys(w).length===0&&!w.prototype}function i(w){var S=parseInt(w,10),j=c(S)?null:S;return j}function a(w){var S=Number.isFinite||window.isFinite;return S(w)}function c(w){var S=Number.isNaN||window.isNaN;return S(w)}function p(w){var S=" ",j=":",C=function(L){return b().includes(L)},T={},_=w.split(S);return _.forEach(function(I){var L=I.indexOf(j),N=I.slice(0,L);if(C(N)){var $=I.slice(L+1);T[N]=$}else T.url=I}),T}function E(w){return Object.values(w).every(function(S){return f(S)})}function A(w){var S={},j=Object.keys(w);return j.forEach(function(C){S[C]=y(w[C])}),S}function b(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function F(w,S){return w=Math.ceil(w),S=Math.floor(S),Math.floor(Math.random()*(S-w+1)+w)}function x(w){for(var S="",j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+=~",C=j.length,T=0;T3&&arguments[3]!==void 0?arguments[3]:"asap stay";if(f){f=f.split(/\s*\|\s*/),l||(l="[".concat(f.join("],["),"]"));var i=function(){var E=[];try{E=[].slice.call(document.querySelectorAll(l))}catch{v(y,"Invalid selector arg: '".concat(l,"'"))}var A=!1;E.forEach(function(b){f.forEach(function(F){b.removeAttribute(F),A=!0})}),A&&d(y)},a=g(s),c=function(){i(),a.hasFlag(a.STAY)&&o(i,!0)};a.hasFlag(a.ASAP)&&(document.readyState==="loading"?window.addEventListener("DOMContentLoaded",i,{once:!0}):i()),document.readyState!=="complete"&&a.hasFlag(a.COMPLETE)?window.addEventListener("load",c,{once:!0}):a.hasFlag(a.STAY)&&(s.includes(" ")||i(),o(i,!0))}}function d(y){if(y.verbose===!0){try{var f=console.log.bind(console),l=console.trace.bind(console),s=y.ruleText||"";if(y.domainName){var i="#%#//",a="##+js",c;y.ruleText.includes(i)?c=y.ruleText.indexOf(i):y.ruleText.includes(a)&&(c=y.ruleText.indexOf(a));var p=y.ruleText.slice(c);s="".concat(y.domainName).concat(p)}f("".concat(s," trace start")),l&&l(),f("".concat(s," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(y)}}function o(y){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=20,i=new MutationObserver(h(p,s)),a=function(){l.length>0?i.observe(document.documentElement,{childList:!0,subtree:!0,attributes:f,attributeFilter:l}):i.observe(document.documentElement,{childList:!0,subtree:!0,attributes:f})},c=function(){i.disconnect()};function p(){c(),y(),a()}a()}function g(y){var f=" ",l="asap",s="complete",i="stay",a=[i,l,s],c=y.trim().split(f).filter(function(p){return a.includes(p)});return{ASAP:l,COMPLETE:s,STAY:i,hasFlag(p){return c.includes(p)}}}function v(y,f){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=y.name,a=y.verbose;if(!(!l&&!a)){var c=console.log;if(!s){c("".concat(i,":"),f);return}c("".concat(i,": ").concat(f))}}function h(y,f){var l=!1,s,i=function a(){for(var c=arguments.length,p=new Array(c),E=0;E3&&arguments[3]!==void 0?arguments[3]:"asap stay";if(f){f=f.split(/\s*\|\s*/);var i=[];l||(i=f.map(function(A){return".".concat(A)}));var a=function(){var b=new Set;if(l){var F=[];try{F=[].slice.call(document.querySelectorAll(l))}catch{o(y,"Invalid selector arg: '".concat(l,"'"))}F.forEach(function(k){return b.add(k)})}else i.length>0&&i.forEach(function(k){for(var w=document.querySelectorAll(k),S=0;S2&&arguments[2]!==void 0?arguments[2]:!1,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=y.name,a=y.verbose;if(!(!l&&!a)){var c=console.log;if(!s){c("".concat(i,":"),f);return}c("".concat(i,": ").concat(f))}}function g(y){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],s=20,i=new MutationObserver(h(p,s)),a=function(){l.length>0?i.observe(document.documentElement,{childList:!0,subtree:!0,attributes:f,attributeFilter:l}):i.observe(document.documentElement,{childList:!0,subtree:!0,attributes:f})},c=function(){i.disconnect()};function p(){c(),y(),a()}a()}function v(y){var f=" ",l="asap",s="complete",i="stay",a=[i,l,s],c=y.trim().split(f).filter(function(p){return a.includes(p)});return{ASAP:l,COMPLETE:s,STAY:i,hasFlag(p){return c.includes(p)}}}function h(y,f){var l=!1,s,i=function a(){for(var c=arguments.length,p=new Array(c),E=0;E0&&arguments[0]!==void 0?arguments[0]:"",h=".?",m="/";if(v==="")return new RegExp(h);var y=v.lastIndexOf(m),f=v.substring(y+1),l=v.substring(0,y+1),s=function(A){if(!A)return!1;try{return new RegExp("",A),!0}catch{return!1}},i=function(A,b){return A.startsWith(m)&&A.endsWith(m)&&!A.endsWith("\\/")&&s(b)?b:""},a=i(l,f);if(v.startsWith(m)&&v.endsWith(m)||a){var c=a?l:v;return new RegExp(c.slice(1,-1),a)}var p=v.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(p)}function o(v){if(v.verbose===!0){try{var h=console.log.bind(console),m=console.trace.bind(console),y=v.ruleText||"";if(v.domainName){var f="#%#//",l="##+js",s;v.ruleText.includes(f)?s=v.ruleText.indexOf(f):v.ruleText.includes(l)&&(s=v.ruleText.indexOf(l));var i=v.ruleText.slice(s);y="".concat(v.domainName).concat(i)}h("".concat(y," trace start")),m&&m(),h("".concat(y," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(v)}}var g=r?[].concat(n).concat(r):[n];try{u.apply(this,g)}catch(v){console.log(v)}}function Cm(n,r){function u(f,l,s){if(Element.prototype.attachShadow){var i=function(p){p.remove()},a=function(){for(var p=s?document.querySelectorAll(s):g(document.documentElement),E=function(){var b=!1,F=v(l,p),x=F.targets,k=F.innerHosts;x.forEach(function(w){i(w),b=!0}),b&&d(f),p=k};p.length!==0;)E()};a(),o(a,!0)}}function d(f){if(f.verbose===!0){try{var l=console.log.bind(console),s=console.trace.bind(console),i=f.ruleText||"";if(f.domainName){var a="#%#//",c="##+js",p;f.ruleText.includes(a)?p=f.ruleText.indexOf(a):f.ruleText.includes(c)&&(p=f.ruleText.indexOf(c));var E=f.ruleText.slice(p);i="".concat(f.domainName).concat(E)}l("".concat(i," trace start")),s&&s(),l("".concat(i," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(f)}}function o(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=20,a=new MutationObserver(m(E,i)),c=function(){s.length>0?a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l,attributeFilter:s}):a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l})},p=function(){a.disconnect()};function E(){p(),f(),c()}c()}function g(f){var l=[];if(f){var s=f.querySelectorAll("*");s.forEach(function(i){i.shadowRoot&&l.push(i)})}return l}function v(f,l){var s=[],i=[];l.forEach(function(c){var p=c.querySelectorAll(f);s=s.concat([].slice.call(p));var E=c.shadowRoot,A=E.querySelectorAll(f);s=s.concat([].slice.call(A)),i.push(g(E))});var a=h(i);return{targets:s,innerHosts:a}}function h(f){var l=[];f.forEach(function(a){return l.push(a)});for(var s=[];l.length;){var i=l.pop();Array.isArray(i)?i.forEach(function(a){return l.push(a)}):s.push(i)}return s.reverse()}function m(f,l){var s=!1,i,a=function c(){for(var p=arguments.length,E=new Array(p),A=0;A1&&arguments[1]!==void 0?arguments[1]:{subtree:!0,childList:!0},p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,E=new MutationObserver(function(A,b){b.disconnect(),a(A,b),b.observe(document.documentElement,c)});E.observe(document.documentElement,c),typeof p=="number"&&setTimeout(function(){return E.disconnect()},p)}function o(a,c){var p=document.querySelectorAll(a),E=f(p);c(E)}function g(a,c){var p=l(a);c(p)}function v(a,c,p,E){var A=c.textContent;A&&(c.textContent=A.replace(p,E),y(a))}function h(a,c,p){var E=a.nodeName,A=a.textContent,b=E.toLowerCase();return A!==null&&A!==""&&(c instanceof RegExp?c.test(b):c===b)&&(p instanceof RegExp?p.test(A):A.includes(p))}function m(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,E="/",A=!(a.startsWith(E)&&a.endsWith(E)),b=A?a:"*",F=A?a:s(a),x=c.startsWith(E)?s(c):c,k;return p&&(k=p.startsWith(E)?s(p):p),{selector:b,nodeNameMatch:F,textContentMatch:x,patternMatch:k}}function y(a){if(a.verbose===!0){try{var c=console.log.bind(console),p=console.trace.bind(console),E=a.ruleText||"";if(a.domainName){var A="#%#//",b="##+js",F;a.ruleText.includes(A)?F=a.ruleText.indexOf(A):a.ruleText.includes(b)&&(F=a.ruleText.indexOf(b));var x=a.ruleText.slice(F);E="".concat(a.domainName).concat(x)}c("".concat(E," trace start")),p&&p(),c("".concat(E," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(a)}}function f(a){for(var c=[],p=0;p0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}var i=r?[].concat(n).concat(r):[n];try{u.apply(this,i)}catch(a){console.log(a)}}function Ha(n,r){function u(s,i,a){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(!i||!a)){var p=["true","false"],E=c.startsWith("[")&&c.endsWith("]"),A=c.length===0||!g(parseInt(c,10))&&parseInt(c,10)>0&&parseInt(c,10)<32767||p.includes(c.toLowerCase());if(!E&&!A){m(s,"Invalid attribute value provided: '".concat(v(c),"'"));return}var b;E&&(b=function(x,k,w){var S=x.getAttribute(w.slice(1,-1));S===null&&m(s,"No element attribute found to copy value from: ".concat(w)),x.setAttribute(k,S)}),d(s,i,a,c,b),o(function(){return d(s,i,a,c,b)},!0)}}function d(s,i,a,c){var p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:h,E;try{E=document.querySelectorAll(i)}catch{m(s,'Failed to find elements matching selector "'.concat(i,'"'));return}if(!(!E||E.length===0))try{E.forEach(function(A){return p(A,a,c)}),f(s)}catch{m(s,"Failed to set [".concat(a,'="').concat(c,'"] to each of selected elements.'))}}function o(s){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],c=20,p=new MutationObserver(y(b,c)),E=function(){a.length>0?p.observe(document.documentElement,{childList:!0,subtree:!0,attributes:i,attributeFilter:a}):p.observe(document.documentElement,{childList:!0,subtree:!0,attributes:i})},A=function(){p.disconnect()};function b(){A(),s(),E()}E()}function g(s){var i=Number.isNaN||window.isNaN;return i(s)}function v(s){var i;return typeof s>"u"?i="undefined":typeof s=="object"?s===null?i="null":i=objectToString(s):i=String(s),i}function h(s,i,a){return s.setAttribute(i,a)}function m(s,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,p=s.name,E=s.verbose;if(!(!a&&!E)){var A=console.log;if(!c){A("".concat(p,":"),i);return}A("".concat(p,": ").concat(i))}}function y(s,i){var a=!1,c,p=function E(){for(var A=arguments.length,b=new Array(A),F=0;F3&&arguments[3]!==void 0?arguments[3]:"",T=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",_=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,I=["set-constant.js","ubo-set-constant.js","set.js","ubo-set.js","ubo-set-constant","ubo-set"];if(I.includes(w.name)&&(C.length!==1&&!g(C)&&(T=C),C=void 0),!(!S||!p(C,new Error().stack))){var L=!1,N=v(),$=h(),M;if(j==="undefined")M=void 0;else if(j==="false")M=!1;else if(j==="true")M=!0;else if(j==="null")M=null;else if(j==="emptyArr")M=N;else if(j==="emptyObj")M=$;else if(j==="noopFunc")M=m;else if(j==="noopCallbackFunc")M=y;else if(j==="trueFunc")M=f;else if(j==="falseFunc")M=l;else if(j==="throwFunc")M=s;else if(j==="noopPromiseResolve")M=a;else if(j==="noopPromiseReject")M=i;else if(/^\d+$/.test(j)){if(M=parseFloat(j),E(M)||Math.abs(M)>32767)return}else if(j==="-1")M=-1;else if(j==="")M="";else if(j==="yes")M="yes";else if(j==="no")M="no";else return;var V=["asFunction","asCallback","asResolved","asRejected"];if(V.includes(T)){var U={asFunction(te){return function(){return te}},asCallback(te){return function(){return function(){return te}}},asResolved(te){return Promise.resolve(te)},asRejected(te){return Promise.reject(te)}};M=U[T](M)}var X=!1,Z=function(ne){return X||(X=ne!==void 0&&M!==void 0&&typeof ne!=typeof M&&ne!==null,X)},Y=function(ne,K,re,ue){if(!ue.init(ne[K]))return!1;var le=Object.getOwnPropertyDescriptor(ne,K),ee;if(le instanceof Object){if(!le.configurable){var ae="Property '".concat(K,"' is not configurable");return o(w,ae),!1}ne[K]&&(ne[K]=M),le.set instanceof Function&&(ee=le.set)}return Object.defineProperty(ne,K,{configurable:re,get(){return ue.get()},set(fe){if(ee!==void 0&&ee(fe),fe instanceof Object){var ve=S.split(".").slice(1);_&&!L&&(L=!0,fe=new Proxy(fe,{get:function(De,Ae,ge){return ve.reduce(function(xe,Oe,Ot,pn){var In=xe?.[Oe];return Ot===pn.length-1&&In!==M&&(xe[Oe]=M),In||xe},De),Reflect.get(De,Ae,ge)}}))}ue.set(fe)}}),!0},oe=function te(ne,K){var re=c(ne,K),ue=re.base,le=re.prop,ee=re.chain,ae={factValue:void 0,init(De){return this.factValue=De,!0},get(){return this.factValue},set(De){this.factValue!==De&&(this.factValue=De,De instanceof Object&&te(De,ee))}},fe={init(De){return!Z(De)},get(){return M},set(De){Z(De)&&(M=De)}};if(!ee){var ve=Y(ue,le,!1,fe);ve&&d(w);return}if(ue!==void 0&&ue[le]===null){Y(ue,le,!0,ae);return}(ue instanceof Object||typeof ue=="object")&&A(ue)&&Y(ue,le,!0,ae);var we=ne[le];(we instanceof Object||typeof we=="object"&&we!==null)&&te(we,ee),Y(ue,le,!0,ae)};oe(window,S)}}function d(w){if(w.verbose===!0){try{var S=console.log.bind(console),j=console.trace.bind(console),C=w.ruleText||"";if(w.domainName){var T="#%#//",_="##+js",I;w.ruleText.includes(T)?I=w.ruleText.indexOf(T):w.ruleText.includes(_)&&(I=w.ruleText.indexOf(_));var L=w.ruleText.slice(I);C="".concat(w.domainName).concat(L)}S("".concat(C," trace start")),j&&j(),S("".concat(C," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(w)}}function o(w,S){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,T=w.name,_=w.verbose;if(!(!j&&!_)){var I=console.log;if(!C){I("".concat(T,":"),S);return}I("".concat(T,": ").concat(S))}}function g(w){var S=parseInt(w,10),j=E(S)?null:S;return j}function v(){return[]}function h(){return{}}function m(){}function y(){return m}function f(){return!0}function l(){return!1}function s(){throw new Error}function i(){return Promise.reject()}function a(){var w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"{}",S=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"basic";if(!(typeof Response>"u")){var C=new Response(w,{status:200,statusText:"OK"});return j==="opaque"?Object.defineProperties(C,{body:{value:null},status:{value:0},statusText:{value:""},url:{value:""},type:{value:j}}):Object.defineProperties(C,{url:{value:S},type:{value:j}}),Promise.resolve(C)}}function c(w,S){var j=S.indexOf(".");if(j===-1)return{base:w,prop:S};var C=S.slice(0,j);if(w===null)return{base:w,prop:C,chain:S};var T=w[C];return S=S.slice(j+1),(w instanceof Object||typeof w=="object")&&A(w)?{base:w,prop:C,chain:S}:T===null?{base:w,prop:C,chain:S}:T!==void 0?c(T,S):(Object.defineProperty(w,C,{configurable:!0}),{base:w,prop:C,chain:S})}function p(w,S){if(!w||w===""||b(w,S))return!0;var j=x(w),C=S.split(` +`).slice(2).map(function(T){return T.trim()}).join(` +`);return F().call(j,C)}function E(w){var S=Number.isNaN||window.isNaN;return S(w)}function A(w){return Object.keys(w).length===0&&!w.prototype}function b(w,S){var j="inlineScript",C="injectedScript",T="",_=function(X){return X.includes(j)},I=function(X){return X.includes(C)};if(!(_(w)||I(w)))return!1;var L=window.location.href,N=L.indexOf("#");N!==-1&&(L=L.slice(0,N));var $=S.split(` +`).slice(2).map(function(U){return U.trim()}),M=$.map(function(U){var X,Z=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(U);if(Z){var Y,oe,te=Z[2];if((Y=te)!==null&&Y!==void 0&&Y.startsWith("(")&&(te=te.slice(1)),(oe=te)!==null&&oe!==void 0&&oe.startsWith(T)){var ne;te=C;var K=Z[1]!==void 0?Z[1].slice(0,-1):U.slice(0,Z.index).trim();(ne=K)!==null&&ne!==void 0&&ne.startsWith("at")&&(K=K.slice(2).trim()),X="".concat(K," ").concat(te).trim()}else X=te}else X=U;return X});if(M){for(var V=0;V0&&arguments[0]!==void 0?arguments[0]:"",S=".?",j="/";if(w==="")return new RegExp(S);var C=w.lastIndexOf(j),T=w.substring(C+1),_=w.substring(0,C+1),I=function(U){if(!U)return!1;try{return new RegExp("",U),!0}catch{return!1}},L=function(U,X){return U.startsWith(j)&&U.endsWith(j)&&!U.endsWith("\\/")&&I(X)?X:""},N=L(_,T);if(w.startsWith(j)&&w.endsWith(j)||N){var $=N?_:w;return new RegExp($.slice(1,-1),N)}var M=w.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(M)}var k=r?[].concat(n).concat(r):[n];try{u.apply(this,k)}catch(w){console.log(w)}}function Va(n,r){function u(l,s,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"/",c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",p=v(i);if(p===null){o(l,"Invalid cookie value: '".concat(p,"'"));return}if(!m(a)){o(l,"Invalid cookie path: '".concat(a,"'"));return}if(!document.location.origin.includes(c)){o(l,"Cookie domain not matched by origin: '".concat(c,"'"));return}var E=h(s,p,a,c);if(!E){o(l,"Invalid cookie name or value");return}d(l),document.cookie=E}function d(l){if(l.verbose===!0){try{var s=console.log.bind(console),i=console.trace.bind(console),a=l.ruleText||"";if(l.domainName){var c="#%#//",p="##+js",E;l.ruleText.includes(c)?E=l.ruleText.indexOf(c):l.ruleText.includes(p)&&(E=l.ruleText.indexOf(p));var A=l.ruleText.slice(E);a="".concat(l.domainName).concat(A)}s("".concat(a," trace start")),i&&i(),s("".concat(a," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(l)}}function o(l,s){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,c=l.name,p=l.verbose;if(!(!i&&!p)){var E=console.log;if(!a){E("".concat(c,":"),s);return}E("".concat(c,": ").concat(s))}}function g(l){var s=Number.isNaN||window.isNaN;return s(l)}function v(l){if(!l)return null;var s=new Set(["true","t","false","f","yes","y","no","n","ok","on","off","accept","accepted","notaccepted","reject","rejected","allow","allowed","disallow","deny","enable","enabled","disable","disabled","necessary","required"]),i;if(s.has(l.toLowerCase()))i=l;else if(/^\d+$/.test(l)){if(i=parseFloat(l),g(i)||Math.abs(i)<0||Math.abs(i)>32767)return null}else return null;return i}function h(l,s,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,p=";";if(!c&&"".concat(s).includes(p)||l.includes(p))return null;var E=c?encodeURIComponent(s):s,A="".concat(l,"=").concat(E),b=y(i);return b&&(A+="; ".concat(b)),a&&(A+="; domain=".concat(a)),A}function m(l){return l==="/"||l==="none"}function y(l){return l==="/"?"path=/":""}var f=r?[].concat(n).concat(r):[n];try{u.apply(this,f)}catch(l){console.log(l)}}function Ua(n,r){function u(s,i,a){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"/",p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!v(document.cookie,i,a)){var E=h(a);if(E===null){o(s,"Invalid cookie value: '".concat(a,"'"));return}if(!y(c)){o(s,"Invalid cookie path: '".concat(c,"'"));return}if(!document.location.origin.includes(p)){o(s,"Cookie domain not matched by origin: '".concat(p,"'"));return}var A=m(i,E,c,p);if(!A){o(s,"Invalid cookie name or value");return}document.cookie=A,d(s),v(document.cookie,i,a)&&window.location.reload()}}function d(s){if(s.verbose===!0){try{var i=console.log.bind(console),a=console.trace.bind(console),c=s.ruleText||"";if(s.domainName){var p="#%#//",E="##+js",A;s.ruleText.includes(p)?A=s.ruleText.indexOf(p):s.ruleText.includes(E)&&(A=s.ruleText.indexOf(E));var b=s.ruleText.slice(A);c="".concat(s.domainName).concat(b)}i("".concat(c," trace start")),a&&a(),i("".concat(c," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(s)}}function o(s,i){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,p=s.name,E=s.verbose;if(!(!a&&!E)){var A=console.log;if(!c){A("".concat(p,":"),i);return}A("".concat(p,": ").concat(i))}}function g(s){var i=Number.isNaN||window.isNaN;return i(s)}function v(s,i,a){return s.split(";").some(function(c){var p=c.indexOf("=");if(p===-1)return!1;var E=c.slice(0,p).trim(),A=c.slice(p+1).trim();return i===E&&a===A})}function h(s){if(!s)return null;var i=new Set(["true","t","false","f","yes","y","no","n","ok","on","off","accept","accepted","notaccepted","reject","rejected","allow","allowed","disallow","deny","enable","enabled","disable","disabled","necessary","required"]),a;if(i.has(s.toLowerCase()))a=s;else if(/^\d+$/.test(s)){if(a=parseFloat(s),g(a)||Math.abs(a)<0||Math.abs(a)>32767)return null}else return null;return a}function m(s,i,a){var c=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,E=";";if(!p&&"".concat(i).includes(E)||s.includes(E))return null;var A=p?encodeURIComponent(i):i,b="".concat(s,"=").concat(A),F=f(a);return F&&(b+="; ".concat(F)),c&&(b+="; domain=".concat(c)),b}function y(s){return s==="/"||s==="none"}function f(s){return s==="/"?"path=/":""}var l=r?[].concat(n).concat(r):[n];try{u.apply(this,l)}catch(s){console.log(s)}}function qa(n,r){function u(i,a,c){if(typeof a>"u"){o(i,"Item key should be specified.");return}var p;try{p=m(c)}catch{o(i,"Invalid storage item value: '".concat(c,"'"));return}var E=window,A=E.localStorage;p==="$remove$"?h(i,A,a):v(i,A,a,p),d(i)}function d(i){if(i.verbose===!0){try{var a=console.log.bind(console),c=console.trace.bind(console),p=i.ruleText||"";if(i.domainName){var E="#%#//",A="##+js",b;i.ruleText.includes(E)?b=i.ruleText.indexOf(E):i.ruleText.includes(A)&&(b=i.ruleText.indexOf(A));var F=i.ruleText.slice(b);p="".concat(i.domainName).concat(F)}a("".concat(p," trace start")),c&&c(),a("".concat(p," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(i)}}function o(i,a){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,E=i.name,A=i.verbose;if(!(!c&&!A)){var b=console.log;if(!p){b("".concat(E,":"),a);return}b("".concat(E,": ").concat(a))}}function g(i){var a=Number.isNaN||window.isNaN;return a(i)}function v(i,a,c,p){try{a.setItem(c,p)}catch(A){var E="Unable to set sessionStorage item due to: ".concat(A.message);o(i,E)}}function h(i,a,c){try{if(c.startsWith("/")&&(c.endsWith("/")||c.endsWith("/i"))&&y(c)){var p=f(c),E=Object.keys(a);E.forEach(function(b){p.test(b)&&a.removeItem(b)})}else a.removeItem(c)}catch(b){var A="Unable to remove storage item due to: ".concat(b.message);o(i,A)}}function m(i){if(typeof i!="string")throw new Error("Invalid value");var a=new Set(["undefined","false","true","null","","yes","no","on","off"]),c;if(a.has(i.toLowerCase()))c=i;else if(i==="emptyArr")c="[]";else if(i==="emptyObj")c="{}";else if(/^\d+$/.test(i)){if(c=parseFloat(i),g(c))throw new Error("Invalid value");if(Math.abs(c)>32767)throw new Error("Invalid value")}else if(i==="$remove$")c="$remove$";else throw new Error("Invalid value");return c}function y(i){var a="/",c=l(i);i[0]===a&&i[i.length-1]===a&&(c=i.slice(1,-1));var p;try{p=new RegExp(c),p=!0}catch{p=!1}return p}function f(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",a=".?",c="/";if(i==="")return new RegExp(a);var p=i.lastIndexOf(c),E=i.substring(p+1),A=i.substring(0,p+1),b=function(j){if(!j)return!1;try{return new RegExp("",j),!0}catch{return!1}},F=function(j,C){return j.startsWith(c)&&j.endsWith(c)&&!j.endsWith("\\/")&&b(C)?C:""},x=F(A,E);if(i.startsWith(c)&&i.endsWith(c)||x){var k=x?A:i;return new RegExp(k.slice(1,-1),x)}var w=i.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(w)}function l(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var s=r?[].concat(n).concat(r):[n];try{u.apply(this,s)}catch(i){console.log(i)}}function za(n,r){function u(g){delete window.PopAds,delete window.popns,Object.defineProperties(window,{PopAds:{get:function(){return d(g),{}}},popns:{get:function(){return d(g),{}}}})}function d(g){if(g.verbose===!0){try{var v=console.log.bind(console),h=console.trace.bind(console),m=g.ruleText||"";if(g.domainName){var y="#%#//",f="##+js",l;g.ruleText.includes(y)?l=g.ruleText.indexOf(y):g.ruleText.includes(f)&&(l=g.ruleText.indexOf(f));var s=g.ruleText.slice(l);m="".concat(g.domainName).concat(s)}v("".concat(m," trace start")),h&&h(),v("".concat(m," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(g)}}var o=r?[].concat(n).concat(r):[n];try{u.apply(this,o)}catch(g){console.log(g)}}function Xa(n,r){function u(i,a,c){if(typeof a>"u"){o(i,"Item key should be specified.");return}var p;try{p=m(c)}catch{o(i,"Invalid storage item value: '".concat(c,"'"));return}var E=window,A=E.sessionStorage;p==="$remove$"?h(i,A,a):v(i,A,a,p),d(i)}function d(i){if(i.verbose===!0){try{var a=console.log.bind(console),c=console.trace.bind(console),p=i.ruleText||"";if(i.domainName){var E="#%#//",A="##+js",b;i.ruleText.includes(E)?b=i.ruleText.indexOf(E):i.ruleText.includes(A)&&(b=i.ruleText.indexOf(A));var F=i.ruleText.slice(b);p="".concat(i.domainName).concat(F)}a("".concat(p," trace start")),c&&c(),a("".concat(p," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(i)}}function o(i,a){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,E=i.name,A=i.verbose;if(!(!c&&!A)){var b=console.log;if(!p){b("".concat(E,":"),a);return}b("".concat(E,": ").concat(a))}}function g(i){var a=Number.isNaN||window.isNaN;return a(i)}function v(i,a,c,p){try{a.setItem(c,p)}catch(A){var E="Unable to set sessionStorage item due to: ".concat(A.message);o(i,E)}}function h(i,a,c){try{if(c.startsWith("/")&&(c.endsWith("/")||c.endsWith("/i"))&&y(c)){var p=f(c),E=Object.keys(a);E.forEach(function(b){p.test(b)&&a.removeItem(b)})}else a.removeItem(c)}catch(b){var A="Unable to remove storage item due to: ".concat(b.message);o(i,A)}}function m(i){if(typeof i!="string")throw new Error("Invalid value");var a=new Set(["undefined","false","true","null","","yes","no","on","off"]),c;if(a.has(i.toLowerCase()))c=i;else if(i==="emptyArr")c="[]";else if(i==="emptyObj")c="{}";else if(/^\d+$/.test(i)){if(c=parseFloat(i),g(c))throw new Error("Invalid value");if(Math.abs(c)>32767)throw new Error("Invalid value")}else if(i==="$remove$")c="$remove$";else throw new Error("Invalid value");return c}function y(i){var a="/",c=l(i);i[0]===a&&i[i.length-1]===a&&(c=i.slice(1,-1));var p;try{p=new RegExp(c),p=!0}catch{p=!1}return p}function f(){var i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",a=".?",c="/";if(i==="")return new RegExp(a);var p=i.lastIndexOf(c),E=i.substring(p+1),A=i.substring(0,p+1),b=function(j){if(!j)return!1;try{return new RegExp("",j),!0}catch{return!1}},F=function(j,C){return j.startsWith(c)&&j.endsWith(c)&&!j.endsWith("\\/")&&b(C)?C:""},x=F(A,E);if(i.startsWith(c)&&i.endsWith(c)||x){var k=x?A:i;return new RegExp(k.slice(1,-1),x)}var w=i.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(w)}function l(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var s=r?[].concat(n).concat(r):[n];try{u.apply(this,s)}catch(i){console.log(i)}}function Ga(n,r){function u(g,v,h,m){if(!v)return;var y=["spoof-css.js","ubo-spoof-css.js","ubo-spoof-css"];function f(S){if(!S.includes("-"))return S;var j=S.split("-"),C=j[0],T=j[1];return"".concat(C).concat(T[0].toUpperCase()).concat(T.slice(1))}var l=!!(h==="debug"&&m),s=new Map;if(y.includes(g.name)){var i=g.args,a=[],c=i.at(-2);c==="debug"?a=i.slice(1,-2):a=i.slice(1);for(var p=0;p2&&arguments[2]!==void 0?arguments[2]:"",a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:NaN;if(s){var c=1e4,p=20,E=150,A="cookie:",b="localStorage:",F=",",x=";",k=/(,\s*){1}(?=!?cookie:|!?localStorage:)/,w=function(fe){return new Promise(function(ve){return setTimeout(ve,fe)})},S;if(a){S=parseInt(a,10);var j=!Number.isNaN(S)||S0){var M=g(_.join(x)),V=g(document.cookie),U=Object.keys(V);if(U.length===0)return;var X=Object.keys(M).every(function(ae){var fe=M[ae]?o(M[ae]):null,ve=o(ae);return U.some(function(we){var De=ve.test(we);return De?fe?fe.test(V[we]):!0:!1})}),Z=X!==L;if(!Z)return}if(I.length>0){var Y=I.every(function(ae){var fe=window.localStorage.getItem(ae);return fe||fe===""}),oe=Y!==N;if(!oe)return}var te=s.split(F).map(function(ae){return ae.trim()}),ne=function(fe){return{element:fe||null,clicked:!1}},K=Array(te.length).fill(ne()),re=async function(){for(var fe=0;fe=1&&await w(E),!ve.element)break;ve.clicked||(ve.element.click(),ve.clicked=!0)}var we=K.every(function(De){return De.clicked===!0});we&&d(l)},ue=function(fe,ve){var we=ne(fe);K[ve]=we,T&&re()},le=function(fe,ve){var we=[];te.forEach(function(Ae,ge){if(Ae){var xe=y(Ae);xe&&(ue(xe,ge),we.push(Ae))}}),te=te.map(function(Ae){return we.includes(Ae)?null:Ae});var De=te.every(function(Ae){return Ae===null});De&&ve.disconnect()},ee=new MutationObserver(v(le,p));ee.observe(document.documentElement,{attributes:!0,childList:!0,subtree:!0}),S&&setTimeout(function(){re(),T=!0},S),setTimeout(function(){return ee.disconnect()},c)}}function d(l){if(l.verbose===!0){try{var s=console.log.bind(console),i=console.trace.bind(console),a=l.ruleText||"";if(l.domainName){var c="#%#//",p="##+js",E;l.ruleText.includes(c)?E=l.ruleText.indexOf(c):l.ruleText.includes(p)&&(E=l.ruleText.indexOf(p));var A=l.ruleText.slice(E);a="".concat(l.domainName).concat(A)}s("".concat(a," trace start")),i&&i(),s("".concat(a," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(l)}}function o(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",s=".?",i="/";if(l==="")return new RegExp(s);var a=l.lastIndexOf(i),c=l.substring(a+1),p=l.substring(0,a+1),E=function(w){if(!w)return!1;try{return new RegExp("",w),!0}catch{return!1}},A=function(w,S){return w.startsWith(i)&&w.endsWith(i)&&!w.endsWith("\\/")&&E(S)?S:""},b=A(p,c);if(l.startsWith(i)&&l.endsWith(i)||b){var F=b?p:l;return new RegExp(F.slice(1,-1),b)}var x=l.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(x)}function g(l){var s="=",i=";",a=l.split(i),c={};return a.forEach(function(p){var E,A="",b=p.indexOf(s);b===-1?E=p.trim():(E=p.slice(0,b).trim(),A=p.slice(b+1)),c[E]=A||null}),c}function v(l,s){var i=!1,a,c=function p(){for(var E=arguments.length,A=new Array(E),b=0;b2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,c=l.name,p=l.verbose;if(!(!i&&!p)){var E=console.log;if(!a){E("".concat(c,":"),s);return}E("".concat(c,": ").concat(s))}}function m(l){var s="!",i=l?l?.startsWith(s):!1,a=i?l.slice(1):l,c=o(a);return{isInvertedMatch:i,matchRegexp:c,matchValue:a}}function y(l){var s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document.documentElement,i=" >>> ",a=l.indexOf(i);if(a===-1)return s.querySelector(l);var c=l.slice(0,a).trim(),p=s.querySelector(c);if(!p||!p.shadowRoot)return null;var E=l.slice(a+i.length).trim();return y(E,p.shadowRoot)}var f=r?[].concat(n).concat(r):[n];try{u.apply(this,f)}catch(l){console.log(l)}}function km(n,r){function u(f,l,s){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"",c=arguments.length>5&&arguments[5]!==void 0?arguments[5]:NaN;if(!(!l||!s)){var p="trusted-create-element-window";if(window.name!==p){var E=function(w,S){o(f,"".concat(w," due to ").concat(m(S)))},A;try{A=document.createElement(s),A.textContent=a}catch(k){E("Cannot create element with tag name '".concat(s,"'"),k);return}var b=[];try{b=h(i)}catch(k){E("Cannot parse attributePairs param: '".concat(i,"'"),k);return}b.forEach(function(k){try{A.setAttribute(k.name,k.value)}catch(w){E("Cannot set attribute '".concat(k.name,"' with value '").concat(k.value,"'"),w)}});var F,x=function(w,S,j){var C;try{C=document.querySelector(w)}catch(T){return E("Cannot find parent element by selector '".concat(w,"'"),T),!1}if(!C)return o(f,"No parent element found by selector: '".concat(w,"'")),!1;try{C.append(S),S instanceof HTMLIFrameElement&&S.contentWindow&&(S.contentWindow.name=p),d(f)}catch(T){return E("Cannot append child to parent by selector '".concat(w,"'"),T),!1}return v(j)||(F=setTimeout(function(){S.remove(),clearTimeout(F)},j)),!0};x(l,A,c)||g(function(k,w){x(l,A,c)&&w.disconnect()})}}}function d(f){if(f.verbose===!0){try{var l=console.log.bind(console),s=console.trace.bind(console),i=f.ruleText||"";if(f.domainName){var a="#%#//",c="##+js",p;f.ruleText.includes(a)?p=f.ruleText.indexOf(a):f.ruleText.includes(c)&&(p=f.ruleText.indexOf(c));var E=f.ruleText.slice(p);i="".concat(f.domainName).concat(E)}l("".concat(i," trace start")),s&&s(),l("".concat(i," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(f)}}function o(f,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=f.name,c=f.verbose;if(!(!s&&!c)){var p=console.log;if(!i){p("".concat(a,":"),l);return}p("".concat(a,": ").concat(l))}}function g(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{subtree:!0,childList:!0},s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,i=new MutationObserver(function(a,c){c.disconnect(),f(a,c),c.observe(document.documentElement,l)});i.observe(document.documentElement,l),typeof s=="number"&&setTimeout(function(){return i.disconnect()},s)}function v(f){var l=Number.isNaN||window.isNaN;return l(f)}function h(f){if(!f)return[];for(var l="=",s=" ",i="'",a='"',c="\\",p=[],E=0;E4&&arguments[4]!==void 0?arguments[4]:"";if(E){var x={nativeStringify:window.JSON.stringify},k=g(window,E),w=k.base,S=k.prop;if(!w||!S||typeof w[S]!="function"){var j="".concat(E," is not a function");h(p,j);return}var C=f(A),T=f(b),_=function(N,$,M){var V=M[0];return typeof V=="object"&&(V=y(p,V,C,T,F,x),M[0]=V),Reflect.apply(N,$,M)},I={apply:_};w[S]=new Proxy(w[S],I)}}function d(p){if(p.verbose===!0){try{var E=console.log.bind(console),A=console.trace.bind(console),b=p.ruleText||"";if(p.domainName){var F="#%#//",x="##+js",k;p.ruleText.includes(F)?k=p.ruleText.indexOf(F):p.ruleText.includes(x)&&(k=p.ruleText.indexOf(x));var w=p.ruleText.slice(k);b="".concat(p.domainName).concat(w)}E("".concat(b," trace start")),A&&A(),E("".concat(b," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(p)}}function o(p,E){if(!p||p===""||i(p,E))return!0;var A=l(p),b=E.split(` +`).slice(2).map(function(F){return F.trim()}).join(` +`);return s().call(A,b)}function g(p,E){var A=E.indexOf(".");if(A===-1)return{base:p,prop:E};var b=E.slice(0,A);if(p===null)return{base:p,prop:b,chain:E};var F=p[b];return E=E.slice(A+1),(p instanceof Object||typeof p=="object")&&a(p)?{base:p,prop:b,chain:E}:F===null?{base:p,prop:b,chain:E}:F!==void 0?g(F,E):(Object.defineProperty(p,b,{configurable:!0}),{base:p,prop:b,chain:E})}function v(p,E){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:[],F=E.indexOf(".");if(F===-1){if(E==="*"||E==="[]")for(var x in p)Object.prototype.hasOwnProperty.call(p,x)&&b.push({base:p,prop:x});else b.push({base:p,prop:E});return b}var k=E.slice(0,F),w=k==="[]"&&Array.isArray(p)||k==="*"&&p instanceof Object;if(w){var S=E.slice(F+1),j=Object.keys(p);j.forEach(function(T){var _=p[T];v(_,S,A,b)})}Array.isArray(p)&&p.forEach(function(T){var _=T;_!==void 0&&v(_,E,A,b)});var C=p[k];return E=E.slice(F+1),C!==void 0&&v(C,E,A,b),b}function h(p,E){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,b=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,F=p.name,x=p.verbose;if(!(!A&&!x)){var k=console.log;if(!b){k("".concat(F,":"),E);return}k("".concat(F,": ").concat(E))}}function m(p,E,A,b,F,x){if(!E)return!1;var k=x.nativeStringify,w;if(A.length===0&&b.length>0){var S=k(E),j=l(b.join("")),C=j.test(S);if(C)return h(p,"".concat(window.location.hostname,` +`).concat(k(E,null,2),` +Stack trace: +`).concat(new Error().stack),!0),E&&typeof E=="object"&&h(p,E,!0,!1),w=!1,w}if(F&&!o(F,new Error().stack||""))return w=!1,w;for(var T=[".*.","*.",".*",".[].","[].",".[]"],_=function(){var $=b[I],M=$.split(".").pop(),V=T.some(function(Y){return $.includes(Y)}),U=v(E,$,V);if(!U.length)return w=!1,{v:w};w=!V;for(var X=0;X0&&arguments[0]!==void 0?arguments[0]:"",E=".?",A="/";if(p==="")return new RegExp(E);var b=p.lastIndexOf(A),F=p.substring(b+1),x=p.substring(0,b+1),k=function(_){if(!_)return!1;try{return new RegExp("",_),!0}catch{return!1}},w=function(_,I){return _.startsWith(A)&&_.endsWith(A)&&!_.endsWith("\\/")&&k(I)?I:""},S=w(x,F);if(p.startsWith(A)&&p.endsWith(A)||S){var j=S?x:p;return new RegExp(j.slice(1,-1),S)}var C=p.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(C)}function s(){var p=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),E=p?.value;if(p&&typeof p.value=="function")return E;throw new Error("RegExp.prototype.test is not a function")}function i(p,E){var A="inlineScript",b="injectedScript",F="",x=function(I){return I.includes(A)},k=function(I){return I.includes(b)};if(!(x(p)||k(p)))return!1;var w=window.location.href,S=w.indexOf("#");S!==-1&&(w=w.slice(0,S));var j=E.split(` +`).slice(2).map(function(_){return _.trim()}),C=j.map(function(_){var I,L=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(_);if(L){var N,$,M=L[2];if((N=M)!==null&&N!==void 0&&N.startsWith("(")&&(M=M.slice(1)),($=M)!==null&&$!==void 0&&$.startsWith(F)){var V;M=b;var U=L[1]!==void 0?L[1].slice(0,-1):_.slice(0,L.index).trim();(V=U)!==null&&V!==void 0&&V.startsWith("at")&&(U=U.slice(2).trim()),I="".concat(U," ").concat(M).trim()}else I=M}else I=_;return I});if(C){for(var T=0;T1&&arguments[1]!==void 0?arguments[1]:"",x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){if(F===""&&x!==""){o(b,"Pattern argument should not be empty string");return}var w=F===""&&x==="",S=Request.prototype.clone,j=fetch,C=!1,T,_=function(N,$,M){return T=g(M,S),w?(o(b,"fetch( ".concat(v(T)," )"),!0),d(b),Reflect.apply(N,$,M)):(C=h(b,k,T),C?j.apply(null,M).then(function(V){return V.text().then(function(U){var X=F==="*"?/(\n|.)*/:y(F),Z=U.replace(X,x),Y=m(V,Z);return d(b),Y}).catch(function(){var U=v(T),X="Response body can't be converted to text: ".concat(U);return o(b,X),Reflect.apply(N,$,M)})}).catch(function(){return Reflect.apply(N,$,M)}):Reflect.apply(N,$,M))},I={apply:_};fetch=new Proxy(fetch,I)}}function d(b){if(b.verbose===!0){try{var F=console.log.bind(console),x=console.trace.bind(console),k=b.ruleText||"";if(b.domainName){var w="#%#//",S="##+js",j;b.ruleText.includes(w)?j=b.ruleText.indexOf(w):b.ruleText.includes(S)&&(j=b.ruleText.indexOf(S));var C=b.ruleText.slice(j);k="".concat(b.domainName).concat(C)}F("".concat(k," trace start")),x&&x(),F("".concat(k," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(b)}}function o(b,F){var x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,w=b.name,S=b.verbose;if(!(!x&&!S)){var j=console.log;if(!k){j("".concat(w,":"),F);return}j("".concat(w,": ").concat(F))}}function g(b,F){var x={},k=b[0],w,S;if(k instanceof Request){var j=F.call(k),C=i(j);w=C.url,S=C}else w=k,S=b[1];if(x.url=w,S instanceof Object){var T=Object.keys(S);T.forEach(function(_){x[_]=S[_]})}return x}function v(b){return!b||typeof b!="object"?String(b):s(b)?"{}":Object.entries(b).map(function(F){var x=F[0],k=F[1],w=k;return k instanceof Object&&(w="{ ".concat(v(k)," }")),"".concat(x,':"').concat(w,'"')}).join(" ")}function h(b,F,x){if(F===""||F==="*")return!0;var k,w=c(F);if(!p(w))o(b,"Invalid parameter: ".concat(F)),k=!1;else{var S=E(w),j=Object.keys(S);k=j.every(function(C){var T=S[C],_=x[C];return Object.prototype.hasOwnProperty.call(x,C)&&typeof _=="string"&&T?.test(_)})}return k}function m(b,F){var x=b.bodyUsed,k=b.headers,w=b.ok,S=b.redirected,j=b.status,C=b.statusText,T=b.type,_=b.url,I=new Response(F,{status:j,statusText:C,headers:k});return Object.defineProperties(I,{url:{value:_},type:{value:T},ok:{value:w},bodyUsed:{value:x},redirected:{value:S}}),I}function y(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",F=".?",x="/";if(b==="")return new RegExp(F);var k=b.lastIndexOf(x),w=b.substring(k+1),S=b.substring(0,k+1),j=function(N){if(!N)return!1;try{return new RegExp("",N),!0}catch{return!1}},C=function(N,$){return N.startsWith(x)&&N.endsWith(x)&&!N.endsWith("\\/")&&j($)?$:""},T=C(S,w);if(b.startsWith(x)&&b.endsWith(x)||T){var _=T?S:b;return new RegExp(_.slice(1,-1),T)}var I=b.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(I)}function f(b){var F="/",x=l(b);b[0]===F&&b[b.length-1]===F&&(x=b.slice(1,-1));var k;try{k=new RegExp(x),k=!0}catch{k=!1}return k}function l(b){return b.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function s(b){return Object.keys(b).length===0&&!b.prototype}function i(b){var F=a(),x=F.map(function(k){var w=b[k];return[k,w]});return Object.fromEntries(x)}function a(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function c(b){var F=" ",x=":",k=function(C){return a().includes(C)},w={},S=b.split(F);return S.forEach(function(j){var C=j.indexOf(x),T=j.slice(0,C);if(k(T)){var _=j.slice(C+1);w[T]=_}else w.url=j}),w}function p(b){return Object.values(b).every(function(F){return f(F)})}function E(b){var F={},x=Object.keys(b);return x.forEach(function(k){F[k]=y(b[k])}),F}var A=r?[].concat(n).concat(r):[n];try{u.apply(this,A)}catch(b){console.log(b)}}function Tm(n,r){function u(a,c,p,E,A){var b=["replace-node-text.js","rpnt.js","sed.js"];if(b.includes(a.name)){A=E,E=p;for(var F=arguments.length,x=new Array(F>5?F-5:0),k=5;k1&&arguments[1]!==void 0?arguments[1]:{subtree:!0,childList:!0},p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e4,E=new MutationObserver(function(A,b){b.disconnect(),a(A,b),b.observe(document.documentElement,c)});E.observe(document.documentElement,c),typeof p=="number"&&setTimeout(function(){return E.disconnect()},p)}function o(a,c){var p=document.querySelectorAll(a),E=f(p);c(E)}function g(a,c){var p=l(a);c(p)}function v(a,c,p,E){var A=c.textContent;A&&(c.textContent=A.replace(p,E),y(a))}function h(a,c,p){var E=a.nodeName,A=a.textContent,b=E.toLowerCase();return A!==null&&A!==""&&(c instanceof RegExp?c.test(b):c===b)&&(p instanceof RegExp?p.test(A):A.includes(p))}function m(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,E="/",A=!(a.startsWith(E)&&a.endsWith(E)),b=A?a:"*",F=A?a:s(a),x=c.startsWith(E)?s(c):c,k;return p&&(k=p.startsWith(E)?s(p):p),{selector:b,nodeNameMatch:F,textContentMatch:x,patternMatch:k}}function y(a){if(a.verbose===!0){try{var c=console.log.bind(console),p=console.trace.bind(console),E=a.ruleText||"";if(a.domainName){var A="#%#//",b="##+js",F;a.ruleText.includes(A)?F=a.ruleText.indexOf(A):a.ruleText.includes(b)&&(F=a.ruleText.indexOf(b));var x=a.ruleText.slice(F);E="".concat(a.domainName).concat(x)}c("".concat(E," trace start")),p&&p(),c("".concat(E," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(a)}}function f(a){for(var c=[],p=0;p0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}var i=r?[].concat(n).concat(r):[n];try{u.apply(this,i)}catch(a){console.log(a)}}function Om(n,r){function u(E){var A=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"",F=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof Proxy>"u")){if(A===""&&b!==""){var x="Pattern argument should not be empty string.";o(E,x);return}var k=A===""&&b==="",w=window.XMLHttpRequest.prototype.open,S=window.XMLHttpRequest.prototype.send,j,C=function(N,$,M){if(j=m.apply(null,M),k){var V="xhr( ".concat(v(j)," )");return o(E,V,!0),d(E),Reflect.apply(N,$,M)}if(h(E,F,j)&&($.shouldBePrevented=!0,$.headersReceived=!!$.headersReceived),$.shouldBePrevented&&!$.headersReceived){$.headersReceived=!0,$.collectedHeaders=[];var U=function(Y,oe,te){return oe.collectedHeaders.push(te),Reflect.apply(Y,oe,te)},X={apply:U};$.setRequestHeader=new Proxy($.setRequestHeader,X)}return Reflect.apply(N,$,M)},T=function(N,$,M){if(!$.shouldBePrevented)return Reflect.apply(N,$,M);var V=new XMLHttpRequest;V.addEventListener("readystatechange",function(){if(V.readyState===4){var U=V.readyState,X=V.response,Z=V.responseText,Y=V.responseURL,oe=V.responseXML,te=V.status,ne=V.statusText,K=Z||X;if(typeof K=="string"){var re=A==="*"?/(\n|.)*/:g(A),ue=K.replace(re,b);Object.defineProperties($,{readyState:{value:U,writable:!1},responseURL:{value:Y,writable:!1},responseXML:{value:oe,writable:!1},status:{value:te,writable:!1},statusText:{value:ne,writable:!1},response:{value:ue,writable:!1},responseText:{value:ue,writable:!1}}),setTimeout(function(){var le=new Event("readystatechange");$.dispatchEvent(le);var ee=new Event("load");$.dispatchEvent(ee);var ae=new Event("loadend");$.dispatchEvent(ae)},1),d(E)}}}),w.apply(V,[j.method,j.url]),$.collectedHeaders.forEach(function(U){var X=U[0],Z=U[1];V.setRequestHeader(X,Z)}),$.collectedHeaders=[];try{S.call(V,M)}catch{return Reflect.apply(N,$,M)}},_={apply:C},I={apply:T};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,_),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,I)}}function d(E){if(E.verbose===!0){try{var A=console.log.bind(console),b=console.trace.bind(console),F=E.ruleText||"";if(E.domainName){var x="#%#//",k="##+js",w;E.ruleText.includes(x)?w=E.ruleText.indexOf(x):E.ruleText.includes(k)&&(w=E.ruleText.indexOf(k));var S=E.ruleText.slice(w);F="".concat(E.domainName).concat(S)}A("".concat(F," trace start")),b&&b(),A("".concat(F," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(E)}}function o(E,A){var b=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,F=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,x=E.name,k=E.verbose;if(!(!b&&!k)){var w=console.log;if(!F){w("".concat(x,":"),A);return}w("".concat(x,": ").concat(A))}}function g(){var E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",A=".?",b="/";if(E==="")return new RegExp(A);var F=E.lastIndexOf(b),x=E.substring(F+1),k=E.substring(0,F+1),w=function(I){if(!I)return!1;try{return new RegExp("",I),!0}catch{return!1}},S=function(I,L){return I.startsWith(b)&&I.endsWith(b)&&!I.endsWith("\\/")&&w(L)?L:""},j=S(k,x);if(E.startsWith(b)&&E.endsWith(b)||j){var C=j?k:E;return new RegExp(C.slice(1,-1),j)}var T=E.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(T)}function v(E){return!E||typeof E!="object"?String(E):c(E)?"{}":Object.entries(E).map(function(A){var b=A[0],F=A[1],x=F;return F instanceof Object&&(x="{ ".concat(v(F)," }")),"".concat(b,':"').concat(x,'"')}).join(" ")}function h(E,A,b){if(A===""||A==="*")return!0;var F,x=s(A);if(!l(x))o(E,"Invalid parameter: ".concat(A)),F=!1;else{var k=y(x),w=Object.keys(k);F=w.every(function(S){var j=k[S],C=b[S];return Object.prototype.hasOwnProperty.call(b,S)&&typeof C=="string"&&j?.test(C)})}return F}function m(E,A,b,F,x){return{method:E,url:A,async:b,user:F,password:x}}function y(E){var A={},b=Object.keys(E);return b.forEach(function(F){A[F]=g(E[F])}),A}function f(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function l(E){return Object.values(E).every(function(A){return i(A)})}function s(E){var A=" ",b=":",F=function(S){return f().includes(S)},x={},k=E.split(A);return k.forEach(function(w){var S=w.indexOf(b),j=w.slice(0,S);if(F(j)){var C=w.slice(S+1);x[j]=C}else x.url=w}),x}function i(E){var A="/",b=a(E);E[0]===A&&E[E.length-1]===A&&(b=E.slice(1,-1));var F;try{F=new RegExp(b),F=!0}catch{F=!1}return F}function a(E){return E.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function c(E){return Object.keys(E).length===0&&!E.prototype}var p=r?[].concat(n).concat(r):[n];try{u.apply(this,p)}catch(E){console.log(E)}}function jm(n,r){function u(f,l,s){var i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";!l||!s||(d(f,l,s,i),o(function(){return d(f,l,s,i)},!0))}function d(f,l,s,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:g,c;try{c=document.querySelectorAll(l)}catch{v(f,'Failed to find elements matching selector "'.concat(l,'"'));return}if(!(!c||c.length===0))try{c.forEach(function(p){return a(p,s,i)}),m(f)}catch{v(f,"Failed to set [".concat(s,'="').concat(i,'"] to each of selected elements.'))}}function o(f){var l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],i=20,a=new MutationObserver(h(E,i)),c=function(){s.length>0?a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l,attributeFilter:s}):a.observe(document.documentElement,{childList:!0,subtree:!0,attributes:l})},p=function(){a.disconnect()};function E(){p(),f(),c()}c()}function g(f,l,s){return f.setAttribute(l,s)}function v(f,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=f.name,c=f.verbose;if(!(!s&&!c)){var p=console.log;if(!i){p("".concat(a,":"),l);return}p("".concat(a,": ").concat(l))}}function h(f,l){var s=!1,i,a=function c(){for(var p=arguments.length,E=new Array(p),A=0;Ac)throw new Error("number values bigger than 32767 are not allowed");return p}var E="'".concat(a,"' value type can't be inferred");try{var A=JSON.parse(a);if(A instanceof Object||typeof A=="string")return A}catch(b){E+=": ".concat(b)}throw new TypeError(E)}}function g(a,c){var p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,E=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,A=a.name,b=a.verbose;if(!(!p&&!b)){var F=console.log;if(!E){F("".concat(A,":"),c);return}F("".concat(A,": ").concat(c))}}function v(a,c){var p=c.indexOf(".");if(p===-1)return{base:a,prop:c};var E=c.slice(0,p);if(a===null)return{base:a,prop:E,chain:c};var A=a[E];return c=c.slice(p+1),(a instanceof Object||typeof a=="object")&&f(a)?{base:a,prop:E,chain:c}:A===null?{base:a,prop:E,chain:c}:A!==void 0?v(A,c):(Object.defineProperty(a,E,{configurable:!0}),{base:a,prop:E,chain:c})}function h(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",c=".?",p="/";if(a==="")return new RegExp(c);var E=a.lastIndexOf(p),A=a.substring(E+1),b=a.substring(0,E+1),F=function(C){if(!C)return!1;try{return new RegExp("",C),!0}catch{return!1}},x=function(C,T){return C.startsWith(p)&&C.endsWith(p)&&!C.endsWith("\\/")&&F(T)?T:""},k=x(b,A);if(a.startsWith(p)&&a.endsWith(p)||k){var w=k?b:a;return new RegExp(w.slice(1,-1),k)}var S=a.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(S)}function m(a,c){if(!a||a===""||s(a,c))return!0;var p=h(a),E=c.split(` +`).slice(2).map(function(A){return A.trim()}).join(` +`);return l().call(p,E)}function y(a){var c=Number.isNaN||window.isNaN;return c(a)}function f(a){return Object.keys(a).length===0&&!a.prototype}function l(){var a=Object.getOwnPropertyDescriptor(RegExp.prototype,"test"),c=a?.value;if(a&&typeof a.value=="function")return c;throw new Error("RegExp.prototype.test is not a function")}function s(a,c){var p="inlineScript",E="injectedScript",A="",b=function(T){return T.includes(p)},F=function(T){return T.includes(E)};if(!(b(a)||F(a)))return!1;var x=window.location.href,k=x.indexOf("#");k!==-1&&(x=x.slice(0,k));var w=c.split(` +`).slice(2).map(function(C){return C.trim()}),S=w.map(function(C){var T,_=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(C);if(_){var I,L,N=_[2];if((I=N)!==null&&I!==void 0&&I.startsWith("(")&&(N=N.slice(1)),(L=N)!==null&&L!==void 0&&L.startsWith(A)){var $;N=E;var M=_[1]!==void 0?_[1].slice(0,-1):C.slice(0,_.index).trim();($=M)!==null&&$!==void 0&&$.startsWith("at")&&(M=M.slice(2).trim()),T="".concat(M," ").concat(N).trim()}else T=N}else T=C;return T});if(S){for(var j=0;j3&&arguments[3]!==void 0?arguments[3]:"",c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"/",p=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"";if(typeof s>"u"){o(l,"Cookie name should be specified");return}if(typeof i>"u"){o(l,"Cookie value should be specified");return}var E=m(i);if(!v(c)){o(l,"Invalid cookie path: '".concat(c,"'"));return}if(!document.location.origin.includes(p)){o(l,"Cookie domain not matched by origin: '".concat(p,"'"));return}var A=g(s,E,c,p,!1);if(!A){o(l,"Invalid cookie name or value");return}if(a){var b=h(a);if(!b){o(l,"Invalid offsetExpiresSec value: ".concat(a));return}var F=Date.now()+b;A+="; expires=".concat(new Date(F).toUTCString())}document.cookie=A,d(l)}function d(l){if(l.verbose===!0){try{var s=console.log.bind(console),i=console.trace.bind(console),a=l.ruleText||"";if(l.domainName){var c="#%#//",p="##+js",E;l.ruleText.includes(c)?E=l.ruleText.indexOf(c):l.ruleText.includes(p)&&(E=l.ruleText.indexOf(p));var A=l.ruleText.slice(E);a="".concat(l.domainName).concat(A)}s("".concat(a," trace start")),i&&i(),s("".concat(a," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(l)}}function o(l,s){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,c=l.name,p=l.verbose;if(!(!i&&!p)){var E=console.log;if(!a){E("".concat(c,":"),s);return}E("".concat(c,": ").concat(s))}}function g(l,s,i){var a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",c=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,p=";";if(!c&&"".concat(s).includes(p)||l.includes(p))return null;var E=c?encodeURIComponent(s):s,A="".concat(l,"=").concat(E),b=y(i);return b&&(A+="; ".concat(b)),a&&(A+="; domain=".concat(a)),A}function v(l){return l==="/"||l==="none"}function h(l){var s="1year",i="1day",a=1e3,c=365*24*60*60,p=24*60*60,E;if(l===s)E=c;else if(l===i)E=p;else if(E=Number.parseInt(l,10),Number.isNaN(E))return null;return E*a}function m(l){var s="$now$",i="$currentDate$",a=l;return l===s?a=Date.now().toString():l===i&&(a=Date()),a}function y(l){return l==="/"?"path=/":""}var f=r?[].concat(n).concat(r):[n];try{u.apply(this,f)}catch(l){console.log(l)}}function Im(n,r){function u(i,a,c){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",E=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"/",A=arguments.length>5&&arguments[5]!==void 0?arguments[5]:"";if(typeof a>"u"){o(i,"Cookie name should be specified");return}if(typeof c>"u"){o(i,"Cookie value should be specified");return}if(!g(document.cookie,a,c)){var b=y(c);if(!h(E)){o(i,"Invalid cookie path: '".concat(E,"'"));return}if(!document.location.origin.includes(A)){o(i,"Cookie domain not matched by origin: '".concat(A,"'"));return}var F=v(a,b,E,A,!1);if(!F){o(i,"Invalid cookie name or value");return}if(p){var x=m(p);if(!x){o(i,"Invalid offsetExpiresSec value: ".concat(p));return}var k=Date.now()+x;F+="; expires=".concat(new Date(k).toUTCString())}document.cookie=F,d(i);var w=f(document.cookie)[a];g(document.cookie,a,w)&&window.location.reload()}}function d(i){if(i.verbose===!0){try{var a=console.log.bind(console),c=console.trace.bind(console),p=i.ruleText||"";if(i.domainName){var E="#%#//",A="##+js",b;i.ruleText.includes(E)?b=i.ruleText.indexOf(E):i.ruleText.includes(A)&&(b=i.ruleText.indexOf(A));var F=i.ruleText.slice(b);p="".concat(i.domainName).concat(F)}a("".concat(p," trace start")),c&&c(),a("".concat(p," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(i)}}function o(i,a){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,E=i.name,A=i.verbose;if(!(!c&&!A)){var b=console.log;if(!p){b("".concat(E,":"),a);return}b("".concat(E,": ").concat(a))}}function g(i,a,c){return i.split(";").some(function(p){var E=p.indexOf("=");if(E===-1)return!1;var A=p.slice(0,E).trim(),b=p.slice(E+1).trim();return a===A&&c===b})}function v(i,a,c){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"",E=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,A=";";if(!E&&"".concat(a).includes(A)||i.includes(A))return null;var b=E?encodeURIComponent(a):a,F="".concat(i,"=").concat(b),x=l(c);return x&&(F+="; ".concat(x)),p&&(F+="; domain=".concat(p)),F}function h(i){return i==="/"||i==="none"}function m(i){var a="1year",c="1day",p=1e3,E=365*24*60*60,A=24*60*60,b;if(i===a)b=E;else if(i===c)b=A;else if(b=Number.parseInt(i,10),Number.isNaN(b))return null;return b*p}function y(i){var a="$now$",c="$currentDate$",p=i;return i===a?p=Date.now().toString():i===c&&(p=Date()),p}function f(i){var a="=",c=";",p=i.split(c),E={};return p.forEach(function(A){var b,F="",x=A.indexOf(a);x===-1?b=A.trim():(b=A.slice(0,x).trim(),F=A.slice(x+1)),E[b]=F||null}),E}function l(i){return i==="/"?"path=/":""}var s=r?[].concat(n).concat(r):[n];try{u.apply(this,s)}catch(i){console.log(i)}}function Nm(n,r){function u(m,y,f){if(typeof y>"u"){o(m,"Item key should be specified");return}if(typeof f>"u"){o(m,"Item value should be specified");return}var l=v(f),s=window,i=s.localStorage;g(m,i,y,l),d(m)}function d(m){if(m.verbose===!0){try{var y=console.log.bind(console),f=console.trace.bind(console),l=m.ruleText||"";if(m.domainName){var s="#%#//",i="##+js",a;m.ruleText.includes(s)?a=m.ruleText.indexOf(s):m.ruleText.includes(i)&&(a=m.ruleText.indexOf(i));var c=m.ruleText.slice(a);l="".concat(m.domainName).concat(c)}y("".concat(l," trace start")),f&&f(),y("".concat(l," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(m)}}function o(m,y){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,s=m.name,i=m.verbose;if(!(!f&&!i)){var a=console.log;if(!l){a("".concat(s,":"),y);return}a("".concat(s,": ").concat(y))}}function g(m,y,f,l){try{y.setItem(f,l)}catch(i){var s="Unable to set sessionStorage item due to: ".concat(i.message);o(m,s)}}function v(m){var y="$now$",f="$currentDate$",l=m;return m===y?l=Date.now().toString():m===f&&(l=Date()),l}var h=r?[].concat(n).concat(r):[n];try{u.apply(this,h)}catch(m){console.log(m)}}function Mm(n,r){function u(w,S,j){var C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"abort",T=arguments.length>4&&arguments[4]!==void 0?arguments[4]:"";if(!S||!j)return;var _=" ",I=C==="abort"?m():function(){},L;try{L=j.split("|").map(function(te){return te===_?te:v(te)})}catch(te){o(w,"Could not parse the signature matcher: ".concat(f(te)));return}var N=g,$=N(window,S),M=$.base,V=$.chain,U=$.prop;if(typeof V<"u"){o(w,"Could not reach the end of the prop chain: ".concat(S));return}var X=M[U];if(!X||typeof X!="function"){o(w,"Could not retrieve the method: ".concat(S));return}function Z(te,ne){return ne.every(function(K,re){if(K===_)return!0;var ue=te[re];return h(ue,K)})}var Y=!1;function oe(te,ne,K){if(Y||(Y=!0,T&&!y(T,new Error().stack||"")))return Reflect.apply(te,ne,K);var re=Z(K,L);return Y=!1,re?(d(w),I()):Reflect.apply(te,ne,K)}M[U]=new Proxy(X,{apply:oe})}function d(w){if(w.verbose===!0){try{var S=console.log.bind(console),j=console.trace.bind(console),C=w.ruleText||"";if(w.domainName){var T="#%#//",_="##+js",I;w.ruleText.includes(T)?I=w.ruleText.indexOf(T):w.ruleText.includes(_)&&(I=w.ruleText.indexOf(_));var L=w.ruleText.slice(I);C="".concat(w.domainName).concat(L)}S("".concat(C," trace start")),j&&j(),S("".concat(C," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(w)}}function o(w,S){var j=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,C=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,T=w.name,_=w.verbose;if(!(!j&&!_)){var I=console.log;if(!C){I("".concat(T,":"),S);return}I("".concat(T,": ").concat(S))}}function g(w,S){var j=S.indexOf(".");if(j===-1)return{base:w,prop:S};var C=S.slice(0,j);if(w===null)return{base:w,prop:C,chain:S};var T=w[C];return S=S.slice(j+1),(w instanceof Object||typeof w=="object")&&E(w)?{base:w,prop:C,chain:S}:T===null?{base:w,prop:C,chain:S}:T!==void 0?g(T,S):(Object.defineProperty(w,C,{configurable:!0}),{base:w,prop:C,chain:S})}function v(w){if(w!=="undefined"){if(w==="false")return!1;if(w==="true")return!0;if(w==="null")return null;if(w==="NaN")return NaN;if(w.startsWith("/")&&w.endsWith("/"))return i(w);var S=32767,j=Number(w);if(!a(j)){if(Math.abs(j)>S)throw new Error("number values bigger than 32767 are not allowed");return j}var C="'".concat(w,"' value type can't be inferred");try{var T=JSON.parse(w);if(T instanceof Object||typeof T=="string")return T}catch(_){C+=": ".concat(_)}throw new TypeError(C)}}function h(w,S){return typeof w=="function"?!1:a(w)?a(S):w===null||typeof w>"u"||typeof w=="number"||typeof w=="boolean"?w===S:typeof w=="string"?typeof S=="string"||S instanceof RegExp?b(w,S):!1:Array.isArray(w)&&Array.isArray(S)?F(w,S):A(w)&&A(S)?x(w,S):!1}function m(){var w=c(),S=!1;return function(){throw S||(window.onerror=p(w),S=!0),new ReferenceError(w)}}function y(w,S){if(!w||w===""||l(w,S))return!0;var j=i(w),C=S.split(` +`).slice(2).map(function(T){return T.trim()}).join(` +`);return s().call(j,C)}function f(w){var S=function(C){return typeof C=="object"&&C!==null&&"message"in C&&typeof C.message=="string"};if(S(w))return w.message;try{return new Error(JSON.stringify(w)).message}catch{return new Error(String(w)).message}}function l(w,S){var j="inlineScript",C="injectedScript",T="",_=function(X){return X.includes(j)},I=function(X){return X.includes(C)};if(!(_(w)||I(w)))return!1;var L=window.location.href,N=L.indexOf("#");N!==-1&&(L=L.slice(0,N));var $=S.split(` +`).slice(2).map(function(U){return U.trim()}),M=$.map(function(U){var X,Z=/(.*?@)?(\S+)(:\d+):\d+\)?$/.exec(U);if(Z){var Y,oe,te=Z[2];if((Y=te)!==null&&Y!==void 0&&Y.startsWith("(")&&(te=te.slice(1)),(oe=te)!==null&&oe!==void 0&&oe.startsWith(T)){var ne;te=C;var K=Z[1]!==void 0?Z[1].slice(0,-1):U.slice(0,Z.index).trim();(ne=K)!==null&&ne!==void 0&&ne.startsWith("at")&&(K=K.slice(2).trim()),X="".concat(K," ").concat(te).trim()}else X=te}else X=U;return X});if(M){for(var V=0;V0&&arguments[0]!==void 0?arguments[0]:"",S=".?",j="/";if(w==="")return new RegExp(S);var C=w.lastIndexOf(j),T=w.substring(C+1),_=w.substring(0,C+1),I=function(U){if(!U)return!1;try{return new RegExp("",U),!0}catch{return!1}},L=function(U,X){return U.startsWith(j)&&U.endsWith(j)&&!U.endsWith("\\/")&&I(X)?X:""},N=L(_,T);if(w.startsWith(j)&&w.endsWith(j)||N){var $=N?_:w;return new RegExp($.slice(1,-1),N)}var M=w.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(M)}function a(w){var S=Number.isNaN||window.isNaN;return S(w)}function c(){return Math.random().toString(36).slice(2,9)}function p(w){var S=window.onerror;return function(C){if(typeof C=="string"&&C.includes(w))return!0;if(S instanceof Function){for(var T=arguments.length,_=new Array(T>1?T-1:0),I=1;I2&&arguments[2]!==void 0?arguments[2]:"",A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"";if(!(typeof Reflect>"u"||typeof fetch>"u"||typeof Proxy>"u"||typeof Response>"u")){var b=!1,F=g(A),x="xpath(",k=p&&p.startsWith(x),w=function(te){var ne=[];try{for(var K=p.slice(x.length,-1),re=te.evaluate(K,te,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null),ue=0;ue"))return!0}return!1},C=function(te){var ne=new DOMParser,K=ne.parseFromString(te,"text/xml");return K},T=function(te,ne){if(!j(te))return!1;var K=C(te);return k?w(K):!!K.querySelector(ne)},_=function(te){if(!j(te))return b=!1,te;var ne=C(te),K=ne.querySelector("parsererror");if(K)return te;if(E!==""&&ne.querySelector(E)===null)return b=!1,te;var re=k?w(ne):ne.querySelectorAll(p);if(!re.length)return b=!1,te;k?S(re):re.forEach(function(le){le.remove()});var ue=new XMLSerializer;return te=ue.serializeToString(ne),te},I=window.XMLHttpRequest.prototype.open,L=window.XMLHttpRequest.prototype.send,N,$=function(te,ne,K){if(N=v.apply(null,K),h(c,A,N)&&(ne.shouldBePruned=!0),ne.shouldBePruned){ne.collectedHeaders=[];var re=function(ee,ae,fe){return ae.collectedHeaders.push(fe),Reflect.apply(ee,ae,fe)},ue={apply:re};ne.setRequestHeader=new Proxy(ne.setRequestHeader,ue)}return Reflect.apply(te,ne,K)},M=function(te,ne,K){var re=["","text"];if(!ne.shouldBePruned||!re.includes(ne.responseType))return Reflect.apply(te,ne,K);var ue=new XMLHttpRequest;ue.addEventListener("readystatechange",function(){if(ue.readyState===4){var le=ue.readyState,ee=ue.response,ae=ue.responseText,fe=ue.responseURL,ve=ue.responseXML,we=ue.status,De=ue.statusText,Ae=ae||ee;if(typeof Ae=="string"){if(p)b=T(ee,p);else if(j(ee)){var ge="XMLHttpRequest.open() URL: ".concat(fe,` +response: `).concat(ee);o(c,ge),o(c,C(ee),!0,!1)}var xe=b?_(ee):ee;Object.defineProperties(ne,{readyState:{value:le,writable:!1},responseURL:{value:fe,writable:!1},responseXML:{value:ve,writable:!1},status:{value:we,writable:!1},statusText:{value:De,writable:!1},response:{value:xe,writable:!1},responseText:{value:xe,writable:!1}}),setTimeout(function(){var Oe=new Event("readystatechange");ne.dispatchEvent(Oe);var Ot=new Event("load");ne.dispatchEvent(Ot);var pn=new Event("loadend");ne.dispatchEvent(pn)},1),d(c)}}}),I.apply(ue,[N.method,N.url]),ne.collectedHeaders.forEach(function(le){var ee=le[0],ae=le[1];ue.setRequestHeader(ee,ae)}),ne.collectedHeaders=[];try{L.call(ue,K)}catch{return Reflect.apply(te,ne,K)}},V={apply:$},U={apply:M};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,V),XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,U);var X=window.fetch,Z=async function(te,ne,K){var re=K[0]instanceof Request?K[0].url:K[0];if(typeof re!="string"||re.length===0)return Reflect.apply(te,ne,K);if(F.test(re)){var ue=await X(...K),le=ue.clone(),ee=await ue.text();if(b=T(ee,p),!b){var ae="fetch URL: ".concat(re,` +response text: `).concat(ee);return o(c,ae),o(c,C(ee),!0,!1),le}var fe=_(ee);return b?(d(c),new Response(fe,{status:ue.status,statusText:ue.statusText,headers:ue.headers})):le}return Reflect.apply(te,ne,K)},Y={apply:Z};window.fetch=new Proxy(window.fetch,Y)}}function d(c){if(c.verbose===!0){try{var p=console.log.bind(console),E=console.trace.bind(console),A=c.ruleText||"";if(c.domainName){var b="#%#//",F="##+js",x;c.ruleText.includes(b)?x=c.ruleText.indexOf(b):c.ruleText.includes(F)&&(x=c.ruleText.indexOf(F));var k=c.ruleText.slice(x);A="".concat(c.domainName).concat(k)}p("".concat(A," trace start")),E&&E(),p("".concat(A," trace end"))}catch{}typeof window.__debug=="function"&&window.__debug(c)}}function o(c,p){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,A=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,b=c.name,F=c.verbose;if(!(!E&&!F)){var x=console.log;if(!A){x("".concat(b,":"),p);return}x("".concat(b,": ").concat(p))}}function g(){var c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"",p=".?",E="/";if(c==="")return new RegExp(p);var A=c.lastIndexOf(E),b=c.substring(A+1),F=c.substring(0,A+1),x=function(T){if(!T)return!1;try{return new RegExp("",T),!0}catch{return!1}},k=function(T,_){return T.startsWith(E)&&T.endsWith(E)&&!T.endsWith("\\/")&&x(_)?_:""},w=k(F,b);if(c.startsWith(E)&&c.endsWith(E)||w){var S=w?F:c;return new RegExp(S.slice(1,-1),w)}var j=c.replace(/\\'/g,"'").replace(/\\"/g,'"').replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(j)}function v(c,p,E,A,b){return{method:c,url:p,async:E,user:A,password:b}}function h(c,p,E){if(p===""||p==="*")return!0;var A,b=l(p);if(!f(b))o(c,"Invalid parameter: ".concat(p)),A=!1;else{var F=m(b),x=Object.keys(F);A=x.every(function(k){var w=F[k],S=E[k];return Object.prototype.hasOwnProperty.call(E,k)&&typeof S=="string"&&w?.test(S)})}return A}function m(c){var p={},E=Object.keys(c);return E.forEach(function(A){p[A]=g(c[A])}),p}function y(){return["url","method","headers","body","credentials","cache","redirect","referrer","referrerPolicy","integrity","keepalive","signal","mode"]}function f(c){return Object.values(c).every(function(p){return s(p)})}function l(c){var p=" ",E=":",A=function(k){return y().includes(k)},b={},F=c.split(p);return F.forEach(function(x){var k=x.indexOf(E),w=x.slice(0,k);if(A(w)){var S=x.slice(k+1);b[w]=S}else b.url=x}),b}function s(c){var p="/",E=i(c);c[0]===p&&c[c.length-1]===p&&(E=c.slice(1,-1));var A;try{A=new RegExp(E),A=!0}catch{A=!1}return A}function i(c){return c.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}var a=r?[].concat(n).concat(r):[n];try{u.apply(this,a)}catch(c){console.log(c)}}var Bm={"amazon-apstag":du,"ubo-amazon_apstag.js":du,"amazon_apstag.js":du,"didomi-loader":im,fingerprintjs2:fu,"ubo-fingerprint2.js":fu,"fingerprint2.js":fu,fingerprintjs3:pu,"ubo-fingerprint3.js":pu,"fingerprint3.js":pu,gemius:om,"google-analytics":Pn,"ubo-google-analytics_analytics.js":Pn,"google-analytics_analytics.js":Pn,"googletagmanager-gtm":Pn,"ubo-googletagmanager_gtm.js":Pn,"googletagmanager_gtm.js":Pn,"google-analytics-ga":vu,"ubo-google-analytics_ga.js":vu,"google-analytics_ga.js":vu,"google-ima3":gu,"ubo-google-ima.js":gu,"google-ima.js":gu,"googlesyndication-adsbygoogle":mu,"ubo-googlesyndication_adsbygoogle.js":mu,"googlesyndication_adsbygoogle.js":mu,"googletagservices-gpt":hu,"ubo-googletagservices_gpt.js":hu,"googletagservices_gpt.js":hu,matomo:um,"naver-wcslog":sm,"pardot-1.0":cm,prebid:lm,"scorecardresearch-beacon":yu,"ubo-scorecardresearch_beacon.js":yu,"scorecardresearch_beacon.js":yu,"abort-current-inline-script":Qe,"abort-current-script.js":Qe,"ubo-abort-current-script.js":Qe,"acs.js":Qe,"ubo-acs.js":Qe,"ubo-abort-current-script":Qe,"ubo-acs":Qe,"abort-current-inline-script.js":Qe,"ubo-abort-current-inline-script.js":Qe,"acis.js":Qe,"ubo-acis.js":Qe,"ubo-abort-current-inline-script":Qe,"ubo-acis":Qe,"abp-abort-current-inline-script":Qe,"abort-on-property-read":zt,"abort-on-property-read.js":zt,"ubo-abort-on-property-read.js":zt,"aopr.js":zt,"ubo-aopr.js":zt,"ubo-abort-on-property-read":zt,"ubo-aopr":zt,"abp-abort-on-property-read":zt,"abort-on-property-write":Xt,"abort-on-property-write.js":Xt,"ubo-abort-on-property-write.js":Xt,"aopw.js":Xt,"ubo-aopw.js":Xt,"ubo-abort-on-property-write":Xt,"ubo-aopw":Xt,"abp-abort-on-property-write":Xt,"abort-on-stack-trace":Gt,"abort-on-stack-trace.js":Gt,"ubo-abort-on-stack-trace.js":Gt,"aost.js":Gt,"ubo-aost.js":Gt,"ubo-abort-on-stack-trace":Gt,"ubo-aost":Gt,"abp-abort-on-stack-trace":Gt,"adjust-setInterval":bt,"nano-setInterval-booster.js":bt,"ubo-nano-setInterval-booster.js":bt,"nano-sib.js":bt,"ubo-nano-sib.js":bt,"adjust-setInterval.js":bt,"ubo-adjust-setInterval.js":bt,"ubo-nano-setInterval-booster":bt,"ubo-nano-sib":bt,"ubo-adjust-setInterval":bt,"adjust-setTimeout":Dt,"adjust-setTimeout.js":Dt,"ubo-adjust-setTimeout.js":Dt,"nano-setTimeout-booster.js":Dt,"ubo-nano-setTimeout-booster.js":Dt,"nano-stb.js":Dt,"ubo-nano-stb.js":Dt,"ubo-adjust-setTimeout":Dt,"ubo-nano-setTimeout-booster":Dt,"ubo-nano-stb":Dt,"call-nothrow":Sa,"call-nothrow.js":Sa,"ubo-call-nothrow.js":Sa,"ubo-call-nothrow":Sa,"debug-current-inline-script":dm,"debug-on-property-read":fm,"debug-on-property-write":pm,"dir-string":vm,"disable-newtab-links":Ta,"disable-newtab-links.js":Ta,"ubo-disable-newtab-links.js":Ta,"ubo-disable-newtab-links":Ta,"evaldata-prune":Oa,"evaldata-prune.js":Oa,"ubo-evaldata-prune.js":Oa,"ubo-evaldata-prune":Oa,"close-window":on,"window-close-if.js":on,"ubo-window-close-if.js":on,"ubo-window-close-if":on,"close-window.js":on,"ubo-close-window.js":on,"ubo-close-window":on,"hide-in-shadow-dom":gm,"href-sanitizer":ja,"href-sanitizer.js":ja,"ubo-href-sanitizer.js":ja,"ubo-href-sanitizer":ja,"inject-css-in-shadow-dom":mm,"json-prune":ar,"json-prune.js":ar,"ubo-json-prune.js":ar,"ubo-json-prune":ar,"abp-json-prune":ar,"json-prune-fetch-response":Pa,"json-prune-fetch-response.js":Pa,"ubo-json-prune-fetch-response.js":Pa,"ubo-json-prune-fetch-response":Pa,"json-prune-xhr-response":_a,"json-prune-xhr-response.js":_a,"ubo-json-prune-xhr-response.js":_a,"ubo-json-prune-xhr-response":_a,log:Yc,"abp-log":Yc,"log-addEventListener":un,"addEventListener-logger.js":un,"ubo-addEventListener-logger.js":un,"aell.js":un,"ubo-aell.js":un,"ubo-addEventListener-logger":un,"ubo-aell":un,"log-eval":hm,"log-on-stack-trace":ym,"m3u-prune":Ia,"m3u-prune.js":Ia,"ubo-m3u-prune.js":Ia,"ubo-m3u-prune":Ia,"metrika-yandex-tag":bm,"metrika-yandex-watch":Dm,"no-protected-audience":Em,"no-topics":wm,noeval:sn,"noeval.js":sn,"silent-noeval.js":sn,"ubo-noeval.js":sn,"ubo-silent-noeval.js":sn,"ubo-noeval":sn,"ubo-silent-noeval":sn,nowebrtc:Na,"nowebrtc.js":Na,"ubo-nowebrtc.js":Na,"ubo-nowebrtc":Na,"prevent-addEventListener":Yt,"addEventListener-defuser.js":Yt,"ubo-addEventListener-defuser.js":Yt,"aeld.js":Yt,"ubo-aeld.js":Yt,"ubo-addEventListener-defuser":Yt,"ubo-aeld":Yt,"abp-prevent-listener":Yt,"prevent-adfly":Ma,"adfly-defuser.js":Ma,"ubo-adfly-defuser.js":Ma,"ubo-adfly-defuser":Ma,"prevent-bab":Am,"prevent-element-src-loading":Fm,"prevent-eval-if":Ba,"noeval-if.js":Ba,"ubo-noeval-if.js":Ba,"ubo-noeval-if":Ba,"prevent-fab-3.2.0":_n,"nofab.js":_n,"ubo-nofab.js":_n,"fuckadblock.js-3.2.0":_n,"ubo-fuckadblock.js-3.2.0":_n,"ubo-nofab":_n,"prevent-fetch":La,"no-fetch-if.js":La,"ubo-no-fetch-if.js":La,"ubo-no-fetch-if":La,"prevent-popads-net":$a,"popads.net.js":$a,"ubo-popads.net.js":$a,"ubo-popads.net":$a,"prevent-refresh":Kt,"prevent-refresh.js":Kt,"refresh-defuser.js":Kt,"refresh-defuser":Kt,"ubo-prevent-refresh.js":Kt,"ubo-prevent-refresh":Kt,"ubo-refresh-defuser.js":Kt,"ubo-refresh-defuser":Kt,"prevent-requestAnimationFrame":cn,"no-requestAnimationFrame-if.js":cn,"ubo-no-requestAnimationFrame-if.js":cn,"norafif.js":cn,"ubo-norafif.js":cn,"ubo-no-requestAnimationFrame-if":cn,"ubo-norafif":cn,"prevent-setInterval":tt,"no-setInterval-if.js":tt,"ubo-no-setInterval-if.js":tt,"setInterval-defuser.js":tt,"ubo-setInterval-defuser.js":tt,"nosiif.js":tt,"ubo-nosiif.js":tt,"sid.js":tt,"ubo-sid.js":tt,"ubo-no-setInterval-if":tt,"ubo-setInterval-defuser":tt,"ubo-nosiif":tt,"ubo-sid":tt,"prevent-setTimeout":nt,"no-setTimeout-if.js":nt,"ubo-no-setTimeout-if.js":nt,"nostif.js":nt,"ubo-nostif.js":nt,"ubo-no-setTimeout-if":nt,"ubo-nostif":nt,"setTimeout-defuser.js":nt,"ubo-setTimeout-defuser.js":nt,"ubo-setTimeout-defuser":nt,"std.js":nt,"ubo-std.js":nt,"ubo-std":nt,"prevent-window-open":Et,"window.open-defuser.js":Et,"ubo-window.open-defuser.js":Et,"ubo-window.open-defuser":Et,"nowoif.js":Et,"ubo-nowoif.js":Et,"ubo-nowoif":Et,"no-window-open-if.js":Et,"ubo-no-window-open-if.js":Et,"ubo-no-window-open-if":Et,"prevent-xhr":Wa,"no-xhr-if.js":Wa,"ubo-no-xhr-if.js":Wa,"ubo-no-xhr-if":Wa,"remove-attr":ln,"remove-attr.js":ln,"ubo-remove-attr.js":ln,"ra.js":ln,"ubo-ra.js":ln,"ubo-remove-attr":ln,"ubo-ra":ln,"remove-class":dn,"remove-class.js":dn,"ubo-remove-class.js":dn,"rc.js":dn,"ubo-rc.js":dn,"ubo-remove-class":dn,"ubo-rc":dn,"remove-cookie":Jt,"cookie-remover.js":Jt,"ubo-cookie-remover.js":Jt,"ubo-cookie-remover":Jt,"remove-cookie.js":Jt,"ubo-remove-cookie.js":Jt,"ubo-remove-cookie":Jt,"abp-cookie-remover":Jt,"remove-in-shadow-dom":Cm,"remove-node-text":fn,"remove-node-text.js":fn,"ubo-remove-node-text.js":fn,"rmnt.js":fn,"ubo-rmnt.js":fn,"ubo-remove-node-text":fn,"ubo-rmnt":fn,"set-attr":Ha,"set-attr.js":Ha,"ubo-set-attr.js":Ha,"ubo-set-attr":Ha,"set-constant":Qt,"set-constant.js":Qt,"ubo-set-constant.js":Qt,"set.js":Qt,"ubo-set.js":Qt,"ubo-set-constant":Qt,"ubo-set":Qt,"abp-override-property-read":Qt,"set-cookie":Va,"set-cookie.js":Va,"ubo-set-cookie.js":Va,"ubo-set-cookie":Va,"set-cookie-reload":Ua,"set-cookie-reload.js":Ua,"ubo-set-cookie-reload.js":Ua,"ubo-set-cookie-reload":Ua,"set-local-storage-item":qa,"set-local-storage-item.js":qa,"ubo-set-local-storage-item.js":qa,"ubo-set-local-storage-item":qa,"set-popads-dummy":za,"popads-dummy.js":za,"ubo-popads-dummy.js":za,"ubo-popads-dummy":za,"set-session-storage-item":Xa,"set-session-storage-item.js":Xa,"ubo-set-session-storage-item.js":Xa,"ubo-set-session-storage-item":Xa,"spoof-css":Ga,"spoof-css.js":Ga,"ubo-spoof-css.js":Ga,"ubo-spoof-css":Ga,"trusted-click-element":xm,"trusted-create-element":km,"trusted-prune-inbound-object":Rm,"trusted-replace-fetch-response":Sm,"trusted-replace-node-text":Tm,"trusted-replace-xhr-response":Om,"trusted-set-attr":jm,"trusted-set-constant":Pm,"trusted-set-cookie":_m,"trusted-set-cookie-reload":Im,"trusted-set-local-storage-item":Nm,"trusted-suppress-native-method":Mm,"xml-prune":Ya,"xml-prune.js":Ya,"ubo-xml-prune.js":Ya,"ubo-xml-prune":Ya},Kc=function(r){return Bm[r]};function Lm(n){if(!he.isValidScriptletName(n.name))return null;var r=Kc(n.name);if(typeof r!="function")throw new Error("Error: cannot invoke scriptlet with name: '".concat(n.name,"'"));var u=r.toString(),d=n.engine==="corelibs"||n.engine==="test"?R(u):t(n,u);return d}var $m=function(){return{invoke:Lm,getScriptletFunction:Kc,isValidScriptletName:he.isValidScriptletName,isValidScriptletRule:Xf,isAdgScriptletRule:he.isAdgScriptletRule,isUboScriptletRule:he.isUboScriptletRule,isAbpSnippetRule:he.isAbpSnippetRule,convertUboToAdg:$s,convertAbpToAdg:Ws,convertScriptletToAdg:Vs,convertAdgToUbo:qf,redirects:rm,SCRIPTLETS_VERSION:am}}();jt.exports=$m}),H.CosmeticRuleMarker=void 0,function(e){e.ElementHiding="##",e.ElementHidingException="#@#",e.ElementHidingExtCSS="#?#",e.ElementHidingExtCSSException="#@?#",e.Css="#$#",e.CssException="#@$#",e.CssExtCSS="#$?#",e.CssExtCSSException="#@$?#",e.Js="#%#",e.JsException="#@%#",e.Html="$$",e.HtmlException="$@$"}(H.CosmeticRuleMarker||(H.CosmeticRuleMarker={}));function ii(e){for(var D=e.length-1,t=0;t0&&e.charAt(t-1)===" "?[-1,null]:[t,H.CosmeticRuleMarker.ElementHiding];break;case"$":if(t+2<=D&&e.charAt(t+1)==="@"&&e.charAt(t+2)==="$")return[t,H.CosmeticRuleMarker.HtmlException];if(t+1<=D&&e.charAt(t+1)==="$")return[t,H.CosmeticRuleMarker.Html];break}}return[-1,null]}function wl(e){var D=[H.CosmeticRuleMarker.CssExtCSS,H.CosmeticRuleMarker.CssExtCSSException,H.CosmeticRuleMarker.ElementHidingExtCSS,H.CosmeticRuleMarker.ElementHidingExtCSSException];return D.indexOf(e)!==-1}var oi="//scriptlet";function Al(e){var D=e,t="",R=e.indexOf("#");R>=0&&(t=e.slice(R),D=e.slice(0,R));var O="",P=e.indexOf("?");return P>=0&&(O=D.slice(P+1),D=D.slice(0,P)),{path:D,query:O,hash:t}}function Fl(e){for(var D=e.split("&").filter(function(t){return t&&!t.startsWith("=")}).join("&");D.charAt(0)==="&";)D=D.substr(1);return D}function ui(e,D,t){t===void 0&&(t=!1);var R=e.indexOf("?");if(R===-1)return e;var O=Al(e),P;if(t?P=O.query.split("&").filter(function(W){return W}).filter(function(W){return W&&W.match(D)}).join("&"):P=O.query.split("&").filter(function(W){var q=W.includes("=")?W:"".concat(W,"=");return!q.match(D)}).join("&"),P===O.query)return e;P=Fl(P);var B=O.path;return P&&(B+="?".concat(P)),B+O.hash}var Cl=/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/,ju=function(e){return e.indexOf(".")<0||e.endsWith(".")?!1:Cl.test(e)},Pu=function(e){var D=e.indexOf("/",e.indexOf("://")+3);return D!==-1?e.substr(D):null},xl=[".","+","?","$","{","}","(",")","[","]","/","\\"],kl=new RegExp("[".concat(xl.join("\\"),"]"),"g"),Rl=/[.*+?^${}()|[\]\\]/g,Sl=/\\[.*+?^${}()|[\]\\]/g,_u={n:` +`,r:"\r",t:" ",b:"\b",f:"\f",v:"\v"},Ee=function(){function e(){}return e.extractShortcut=function(D){return D.startsWith(this.MASK_REGEX_RULE)&&D.endsWith(this.MASK_REGEX_RULE)?this.extractRegexpShortcut(D):this.extractBasicShortcut(D)},e.extractBasicShortcut=function(D){for(var t="",R=D.split(this.rePatternSpecialCharacters),O=0,P=R;Ot.length&&(t=B)}return(t||"").toLowerCase()},e.extractRegexpShortcut=function(D){var t=D.substring(this.MASK_REGEX_RULE.length,D.length-this.MASK_REGEX_RULE.length);if(t.length===0||t.indexOf("?")>=0)return"";var R="$$$";t=R+t,t=t.replace(/[^\\]\(.*[^\\]\)/,R),t=t.replace(/[^\\]\[.*[^\\]\]/,R),t=t.replace(/[^\\]\{.*[^\\]\}/,R),t=t.replace(/[^\\]\\[a-zA-Z]/,R),t=t.replace(/\\\./g,".");for(var O=t.split(/[\\^$*+?()|[\]{}]/),P="",B=0;BP.length&&(P=W)}return P.toLowerCase()},e.patternToRegexp=function(D){if(D===this.MASK_START_URL||D===this.MASK_PIPE||D===this.MASK_ANY_CHARACTER||D==="")return this.REGEX_ANY_CHARACTER;if(D.startsWith(this.MASK_REGEX_RULE)&&D.endsWith(this.MASK_REGEX_RULE))return D.substring(this.MASK_REGEX_RULE.length,D.length-this.MASK_REGEX_RULE.length);var t=D.replace(kl,"\\$&");return t.startsWith(this.MASK_START_URL)?t=t.substring(0,this.MASK_START_URL.length)+Mn(t.substring(this.MASK_START_URL.length,t.length-this.MASK_PIPE.length),this.MASK_PIPE,"\\".concat(this.MASK_PIPE))+t.substring(t.length-this.MASK_PIPE.length):t=t.substring(0,this.MASK_PIPE.length)+Mn(t.substring(this.MASK_PIPE.length,t.length-this.MASK_PIPE.length),this.MASK_PIPE,"\\".concat(this.MASK_PIPE))+t.substring(t.length-this.MASK_PIPE.length),t=Mn(t,this.MASK_ANY_CHARACTER,this.REGEX_ANY_CHARACTER),t=Mn(t,this.MASK_SEPARATOR,this.REGEX_SEPARATOR),t.startsWith(this.MASK_START_URL)?t=this.REGEX_START_URL+t.substring(this.MASK_START_URL.length):t.startsWith(this.MASK_PIPE)&&(t=this.REGEX_START_STRING+t.substring(this.MASK_PIPE.length)),t.endsWith(this.MASK_PIPE)&&(t=t.substring(0,t.length-this.MASK_PIPE.length)+this.REGEX_END_STRING),t},e.patternFromString=function(D){var t=ri(D,"/","\\",!0),R=t[1]||"";return R.indexOf("g")<0&&(R+="g"),new RegExp(t[0],R)},e.escapeRegexSpecials=function(D,t){return t===void 0&&(t=Rl),D.replace(t,"\\$&")},e.unescapeRegexSpecials=function(D,t){return t===void 0&&(t=Sl),D.replace(t,function(R){return R.substring(1)})},e.isRegexPattern=function(D){return D.startsWith("/")&&D.endsWith("/")},e.unescapeSpecials=function(D){var t=Object.keys(_u).join("|"),R=new RegExp("\\\\(".concat(t,")"),"g");return D.replace(R,function(O,P){return _u[P]})},e.MASK_START_URL="||",e.REGEX_START_URL="^(http|https|ws|wss)://([a-z0-9-_.]+\\.)?",e.MASK_PIPE="|",e.REGEX_END_STRING="$",e.REGEX_START_STRING="^",e.MASK_SEPARATOR="^",e.REGEX_SEPARATOR="([^ a-zA-Z0-9.%_-]|$)",e.MASK_ANY_CHARACTER="*",e.MASK_BACKSLASH="/",e.REGEX_ANY_CHARACTER=".*",e.MASK_REGEX_RULE="/",e.reModifierPatternSpecialCharacters=/[[\],\\]/g,e.reModifierPatternEscapedSpecialCharacters=/\\[[\],\\]/g,e.MASK_COMMENT="!",e.MIN_SHORTCUT_LENGTH=3,e.MIN_GENERIC_RULE_LENGTH=4,e.rePatternSpecialCharacters=new RegExp("[*^|]"),e}(),Bn,sr,Tl=["replace","removeparam","hls"],Ol=function(e){return e.type==="specialModifier"},jl=(Bn={},Bn.replace=["regexp","replacement","flags"],Bn.removeparam=["regexp","flags"],Bn.hls=["regexp","flags"],Bn),Pl=function(e,D){for(var t="",R=-1,O=[],P=D;P0&&e[P-1]!=="\\";if(B===","&&q||W){W&&O.push(B),t=O.join(""),R=P;break}else O.push(B)}return{modifierValue:t,modifierEndIndex:R}},_l=function(e,D,t){for(var R,O=function(){var ce=0;return function(){if(ce0&&e[q-1]!=="\\";if(Q==="/"&&ie&&O(),Q===","&&ie||se){if(R==="regexp"){W.push(Q);continue}if(se&&W.push(Q),R===t[t.length-1]){P=W.join(""),B=q;break}else throw new Error("Unexpected options delimiter or end of options string.")}else W.push(Q)}return{modifierValue:P,modifierEndIndex:B}},Il=(sr={},sr.regexp=_l,sr.plain=Pl,sr),Nl=function(e,D,t,R){for(var O=e.map(function(q){if(Ol(q))return q;for(var Q=q.value,se=[],ie=[],ce=function(_e){se.push({type:_e,value:ie.join("")}),ie=[]},pe=0;pe0&&Q[pe-1]===t;Ce?(R&&ie.splice(ie.length-1,1),ie.push(de)):(ie.length!==0&&ce("string"),ie.push(de),ce("delim"))}else ie.push(de),pe===Q.length-1&&ce("string")}return se}),P=[],B=0;B0&&e[O-1]!=="\\";if(P==="="&&B){var W=t.join(""),q=W.lastIndexOf(",",O),Q=W.substring(q+1);if(!Tl.includes(Q)){t.push(P),O===e.length-1&&R("raw",W);continue}R("raw",W.substring(0,W.lastIndexOf(Q)));var se=Bl(Q,e),ie=se.tokenValue,ce=se.nextIndex;R("specialModifier",ie),O=ce}else t.push(P),O===e.length-1&&R("raw",t.join(""))}return D}function si(e,D){if(D===void 0&&(D=!0),!e)return[];e.startsWith(",")&&(e=e.substring(1));var t=Ll(e),R=Nl(t,",","\\",D);return Ml(R)}var ci;(function(e){e.Path="path",e.Domain="domain"})(ci||(ci={}));var Ln={OpenBracket:"[",CloseBracket:"]",SpecialSymbol:"$",Delimiter:",",Assigner:"=",EscapeCharacter:"\\"},$l=Object.values(ci),li=function(){function e(){}return e.parseRuleTextByMarker=function(D){var t=ii(D),R=t[0],O=t[1];if(O===null)throw new SyntaxError("Not a cosmetic rule");var P=D.substring(R+O.length).trim();if(!P)throw new SyntaxError("Rule content is empty");var B;return R>0&&(B=D.substring(0,R)),{pattern:B,marker:O,content:P}},e.parseRulePatternText=function(D){var t=Ln.OpenBracket,R=Ln.CloseBracket,O=Ln.SpecialSymbol,P=Ln.EscapeCharacter;if(!D.startsWith("".concat(t+O)))return{domainsText:D};for(var B,W=2;W=0},e.prototype.prepare=function(){if(!this.prepared){if(this.prepared=!0,this.pattern===this.shortcut&&!this.matchcase){this.patternShortcut=!0;return}if(this.pattern.startsWith(this.shortcut)&&this.pattern.length===this.shortcut.length+1&&this.pattern.endsWith("*")){this.patternShortcut=!0;return}if(this.pattern.startsWith(Ee.MASK_START_URL)&&this.pattern.endsWith(Ee.MASK_SEPARATOR)&&this.pattern.indexOf("*")<0&&this.pattern.indexOf("/")<0){this.hostname=this.pattern.slice(2,this.pattern.length-1);return}this.compileRegex()}},e.prototype.compileRegex=function(){var D=Ee.patternToRegexp(this.pattern);try{var t="i";this.matchcase&&(t=""),this.regex=new RegExp(D,t)}catch{this.regexInvalid=!0}},e.prototype.shouldMatchHostname=function(D){return D.isHostnameRequest?!this.isPatternDomainSpecific():!1},e.prototype.isPatternDomainSpecific=function(){return this.patternDomainSpecific===void 0&&(this.patternDomainSpecific=this.pattern.startsWith(Ee.MASK_START_URL)||this.pattern.startsWith("http://")||this.pattern.startsWith("https:/")||this.pattern.startsWith("://")),this.patternDomainSpecific},e}(),Wl=function(){function e(){}return e.iterateWithTransitions=function(D,t,R,O){for(var P=R,B=0;B=0;){if(R=D.indexOf(":",t),R<0||R>0&&D.charAt(R-1)==="\\")return null;for(O=D.indexOf("[",t);O>=0;)if(R>O){var P=D.indexOf("]",O+1);if(t=P+1,R0)O=D.indexOf("[",t);else return null}else{O=-1;break}}var B=ai(D,[" ",","," ",">","(","[",".","#",":","+","~",'"',"'"],R+1);B<0&&(B=D.length);var W=D.substring(R,B);return W.length<=1?null:W},e.prototype.getText=function(){return this.ruleText},e.prototype.getFilterListId=function(){return this.filterListId},e.prototype.getType=function(){return this.type},e.prototype.isAllowlist=function(){return this.allowlist},e.prototype.getContent=function(){return this.content},e.prototype.getScript=function(D){var t,R;D===void 0&&(D={});var O=D.debug,P=O===void 0?!1:O,B=D.frameUrl,W=this.scriptData;if(W&&!this.isScriptlet)return W.code;if(W&&W.debug===P)if(B){if(B===W.frameUrl)return W.code}else return W.code;return this.initScript(D),(R=(t=this.scriptData)===null||t===void 0?void 0:t.code)!==null&&R!==void 0?R:null},e.prototype.getPermittedDomains=function(){return this.permittedDomains},e.prototype.isGeneric=function(){return!this.permittedDomains||this.permittedDomains.length===0},e.prototype.getRestrictedDomains=function(){return this.restrictedDomains},e.prototype.isExtendedCss=function(){return this.extendedCss},e.prototype.match=function(D){if(!this.permittedDomains&&!this.restrictedDomains&&!this.pathModifier)return!0;if(this.matchesRestrictedDomains(D.hostname)||this.hasPermittedDomains()&&!Ke.isDomainOrSubdomainOfAny(D.hostname,this.permittedDomains))return!1;if(this.pathModifier){var t=Pu(D.urlLowercase);return t?this.pathModifier.matchPathPattern(t):!1}return!0},e.parseType=function(D){switch(D){case H.CosmeticRuleMarker.ElementHiding:case H.CosmeticRuleMarker.ElementHidingExtCSS:return H.CosmeticRuleType.ElementHiding;case H.CosmeticRuleMarker.ElementHidingException:case H.CosmeticRuleMarker.ElementHidingExtCSSException:return H.CosmeticRuleType.ElementHiding;case H.CosmeticRuleMarker.Css:case H.CosmeticRuleMarker.CssExtCSS:return H.CosmeticRuleType.Css;case H.CosmeticRuleMarker.CssException:case H.CosmeticRuleMarker.CssExtCSSException:return H.CosmeticRuleType.Css;case H.CosmeticRuleMarker.Js:return H.CosmeticRuleType.Js;case H.CosmeticRuleMarker.JsException:return H.CosmeticRuleType.Js;case H.CosmeticRuleMarker.Html:return H.CosmeticRuleType.Html;case H.CosmeticRuleMarker.HtmlException:return H.CosmeticRuleType.Html;default:throw new SyntaxError("Unsupported rule type")}},e.parseAllowlist=function(D){switch(D){case H.CosmeticRuleMarker.ElementHidingException:case H.CosmeticRuleMarker.ElementHidingExtCSSException:case H.CosmeticRuleMarker.CssException:case H.CosmeticRuleMarker.CssExtCSSException:case H.CosmeticRuleMarker.JsException:case H.CosmeticRuleMarker.HtmlException:return!0;default:return!1}},e.validatePseudoClasses=function(D,t){var R=e.parsePseudoClass(t);if(R!==null&&e.SUPPORTED_PSEUDO_CLASSES.indexOf(R)<0)throw new SyntaxError("Unknown pseudo-class '".concat(R,"' in selector: '").concat(t,"'"))},e.validateElemhideRule=function(D,t){if(D.startsWith(Ee.MASK_START_URL))throw new SyntaxError(`Element hiding rule shouldn't start with "||"`);if(e.ELEMHIDE_VALIDATION_REGEX.test(t))throw new SyntaxError("Invalid elemhide rule, style presented")},e.validateJsRules=function(D,t){if(t.startsWith(oi)&&!jt.exports.isValidScriptletRule(D))throw new SyntaxError("Invalid scriptlet")},e.validateCssRules=function(D,t){if(!/{.+}/.test(t))throw new SyntaxError("Invalid CSS modifying rule, no style presented");if(/{.*url\(.*\)/gi.test(t))throw new SyntaxError("CSS modifying rule with 'url' was omitted");if(/{.*image-set\(.*\)/gi.test(t)||/{.*image\(.*\)/gi.test(t)||/{.*cross-fade\(.*\)/gi.test(t))throw new SyntaxError("CSS modifying rule with unsafe style was omitted");if(t.indexOf("\\",t.lastIndexOf("{"))>-1)throw new SyntaxError("CSS injection rule with '\\' was omitted")},e.prototype.hasPermittedDomains=function(){return this.permittedDomains!=null&&this.permittedDomains.length>0},e.prototype.hasRestrictedDomains=function(){return this.restrictedDomains!=null&&this.restrictedDomains.length>0},e.prototype.matchesPermittedDomains=function(D){return this.hasPermittedDomains()&&Ke.isDomainOrSubdomainOfAny(D,this.permittedDomains)},e.prototype.matchesRestrictedDomains=function(D){return this.hasRestrictedDomains()&&Ke.isDomainOrSubdomainOfAny(D,this.restrictedDomains)},e.validate=function(D,t,R,O){if(t!==H.CosmeticRuleType.Css&&t!==H.CosmeticRuleType.Js&&t!==H.CosmeticRuleType.Html&&(e.validatePseudoClasses(D,R),Nn(R,"{")))throw new SyntaxError("Invalid cosmetic rule, wrong brackets");if(t===H.CosmeticRuleType.ElementHiding&&e.validateElemhideRule(D,R),t===H.CosmeticRuleType.Css&&e.validateCssRules(D,R),t===H.CosmeticRuleType.Js&&e.validateJsRules(D,R),!O&&Nn(R,"/*")||Nn(R," /*")||Nn(R," //"))throw new SyntaxError("Cosmetic rule should not contain comments")},e.prototype.getScriptletData=function(){return this.scriptletData?this.scriptletData:(this.initScript(),this.scriptletData)},e.prototype.initScript=function(D){var t;D===void 0&&(D={});var R=D.debug,O=R===void 0?!1:R,P=D.frameUrl,B=this.getContent();if(!this.isScriptlet){this.scriptData={code:B};return}var W=B.substring(oi.length),q=Wl.parseRule(W),Q={args:q.args,engine:H.config.engine||"",name:q.name,ruleText:this.getText(),verbose:O,domainName:P,version:H.config.version||""};this.scriptData={code:(t=jt.exports.invoke(Q))!==null&&t!==void 0?t:null,debug:O,frameUrl:P},this.scriptletData={func:jt.exports.getScriptletFunction(Q.name),params:Q}},e.SUPPORTED_PSEUDO_CLASSES=[":active",":checked",":contains",":disabled",":empty",":enabled",":first-child",":first-of-type",":focus",":has",":has-text",":hover",":if",":if-not",":in-range",":invalid",":lang",":last-child",":last-of-type",":link",":matches-css",":matches-css-before",":matches-css-after",":not",":nth-child",":nth-last-child",":nth-last-of-type",":nth-of-type",":only-child",":only-of-type",":optional",":out-of-range",":read-only",":read-write",":required",":root",":target",":valid",":visited",":-abp-has",":-abp-contains",":xpath",":nth-ancestor",":upward",":remove",":matches-attr",":matches-property",":is",":where"],e.ELEMHIDE_VALIDATION_REGEX=/ {.+}/,e}(),Nu=function(){function e(){this.generic=[],this.specific=[],this.genericExtCss=[],this.specificExtCss=[]}return e.prototype.append=function(D){D.isGeneric()?D.isExtendedCss()?this.genericExtCss.push(D):this.generic.push(D):D.isExtendedCss()?this.specificExtCss.push(D):this.specific.push(D)},e}(),Hl=function(){function e(){this.generic=[],this.specific=[]}return e.prototype.append=function(D){D.isGeneric()?this.generic.push(D):this.specific.push(D)},e.prototype.getRules=function(){return vn(vn([],this.generic,!0),this.specific,!0)},e}(),Vl=function(){function e(){this.generic=[],this.specific=[]}return e.prototype.append=function(D){D.isGeneric()?this.generic.push(D):this.specific.push(D)},e.prototype.getRules=function(){return vn(vn([],this.generic,!0),this.specific,!0)},e}(),Mu=function(){function e(){this.elementHiding=new Nu,this.CSS=new Nu,this.JS=new Hl,this.Html=new Vl}return e.prototype.getScriptRules=function(){return this.JS.getRules()},e}();H.CosmeticOption=void 0,function(e){e[e.CosmeticOptionGenericCSS=2]="CosmeticOptionGenericCSS",e[e.CosmeticOptionSpecificCSS=4]="CosmeticOptionSpecificCSS",e[e.CosmeticOptionJS=8]="CosmeticOptionJS",e[e.CosmeticOptionHtml=16]="CosmeticOptionHtml",e[e.CosmeticOptionSourceGenericCSS=32]="CosmeticOptionSourceGenericCSS",e[e.CosmeticOptionSourceCSS=64]="CosmeticOptionSourceCSS",e[e.CosmeticOptionSourceJS=128]="CosmeticOptionSourceJS",e[e.CosmeticOptionAll=30]="CosmeticOptionAll",e[e.CosmeticOptionNone=0]="CosmeticOptionNone"}(H.CosmeticOption||(H.CosmeticOption={}));var Ge;(function(e){e[e.NetworkRules=0]="NetworkRules",e[e.CosmeticRules=2]="CosmeticRules",e[e.HostRules=4]="HostRules",e[e.All=6]="All"})(Ge||(Ge={}));var Bu=function(){function e(D,t){if(t===void 0&&(t=!1),this.ruleStorage=D,this.rulesCount=0,this.elementHidingLookupTable=new ur(D),this.cssLookupTable=new ur(D),this.jsLookupTable=new ur(D),this.htmlLookupTable=new ur(D),!t)for(var R=this.ruleStorage.createRuleStorageScanner(Ge.CosmeticRules);R.scan();){var O=R.getRule();O&&O.rule instanceof gn&&this.addRule(O.rule,O.index)}}return e.prototype.addRule=function(D,t){switch(D.getType()){case H.CosmeticRuleType.ElementHiding:{this.elementHidingLookupTable.addRule(D,t);break}case H.CosmeticRuleType.Css:{this.cssLookupTable.addRule(D,t);break}case H.CosmeticRuleType.Js:{this.jsLookupTable.addRule(D,t);break}case H.CosmeticRuleType.Html:{this.htmlLookupTable.addRule(D,t);break}}this.rulesCount+=1},e.matchOption=function(D,t){return(D&t)===t},e.prototype.match=function(D,t){var R=e.matchOption(t,H.CosmeticOption.CosmeticOptionGenericCSS),O=e.matchOption(t,H.CosmeticOption.CosmeticOptionSpecificCSS),P=e.matchOption(t,H.CosmeticOption.CosmeticOptionJS),B=e.matchOption(t,H.CosmeticOption.CosmeticOptionHtml),W=new Mu;return R&&(e.appendGenericRules(W.elementHiding,this.elementHidingLookupTable,D),e.appendGenericRules(W.CSS,this.cssLookupTable,D)),O&&(e.appendSpecificRules(W.elementHiding,this.elementHidingLookupTable,D),e.appendSpecificRules(W.CSS,this.cssLookupTable,D)),P&&(e.appendGenericRules(W.JS,this.jsLookupTable,D),e.appendSpecificRules(W.JS,this.jsLookupTable,D)),B&&(R&&e.appendGenericRules(W.Html,this.htmlLookupTable,D),e.appendSpecificRules(W.Html,this.htmlLookupTable,D)),W},e.appendGenericRules=function(D,t,R){for(var O=0,P=t.genericRules;O0)for(var P=0,B=O;P=0)throw new Error("Forbidden CSP directive: ".concat(D))}},e}(),di=function(){function e(D){this.optionValue=D||"",this.regex=null,this.cookieName=null,this.sameSite=null,this.maxAge=null;var t=this.optionValue.split(/;/);if(t.length<1)throw new Error("Cannot parse ".concat(this.optionValue));var R=t[0];if(R.startsWith("/")&&R.endsWith("/")){var O=R.substring(1,R.length-1);this.regex=new RegExp(O)}else this.cookieName=R;if(t.length>1)for(var P=1;P0?R:null,this.permittedApps=t.length>0?t:null}return e}();H.HTTPMethod=void 0,function(e){e.GET="GET",e.POST="POST",e.PUT="PUT",e.DELETE="DELETE",e.PATCH="PATCH",e.HEAD="HEAD",e.OPTIONS="OPTIONS",e.CONNECT="CONNECT",e.TRACE="TRACE"}(H.HTTPMethod||(H.HTTPMethod={}));var Vu=function(){function e(D){if(D==="")throw new SyntaxError("$method modifier value cannot be empty");for(var t=[],R=[],O=D.toUpperCase().split(e.PIPE_SEPARATOR),P=0;P0&&t.length>0)throw new SyntaxError("Negated values cannot be mixed with non-negated values: ".concat(D));this.restrictedValues=R.length>0?R:null,this.permittedValues=t.length>0?t:null}return e.PIPE_SEPARATOR="|",e.isHTTPMethod=function(D){return D in H.HTTPMethod},e}(),Gl=function(){function e(D){if(!D)throw new SyntaxError("$to modifier value cannot be empty");for(var t=[],R=[],O=D.toLowerCase().split(e.PIPE_SEPARATOR),P=0;P0?R:null,this.permittedValues=t.length>0?t:null}return e.PIPE_SEPARATOR="|",e}();function Yl(e){return typeof e=="object"&&e!==null&&"message"in e&&typeof e.message=="string"}function Kl(e){if(Yl(e))return e;try{return new Error(JSON.stringify(e))}catch{return new Error(String(e))}}function Uu(e){return Kl(e).message}var me={NotSet:0,Document:1,SubDocument:2,Script:4,Stylesheet:8,Object:16,Image:32,XmlHttpRequest:64,Media:128,Font:256,WebSocket:512,Ping:1024,CspReport:2048,Other:4096},fr={exports:{}},pr={exports:{}};let qu="[a-fA-F\\d:]",Pt=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${qu})|(?<=${qu})(?=\\s|$))`:"",it="(?: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}",je="[a-fA-F\\d]{1,4}",vr=` +(?: +(?:${je}:){7}(?:${je}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 +(?:${je}:){6}(?:${it}|:${je}|:)| // 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 +(?:${je}:){5}(?::${it}|(?::${je}){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 +(?:${je}:){4}(?:(?::${je}){0,1}:${it}|(?::${je}){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 +(?:${je}:){3}(?:(?::${je}){0,2}:${it}|(?::${je}){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 +(?:${je}:){2}(?:(?::${je}){0,3}:${it}|(?::${je}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 +(?:${je}:){1}(?:(?::${je}){0,4}:${it}|(?::${je}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 +(?::(?:(?::${je}){0,5}:${it}|(?::${je}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 +)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 +`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Jl=new RegExp(`(?:^${it}$)|(?:^${vr}$)`),Ql=new RegExp(`^${it}$`),Zl=new RegExp(`^${vr}$`),pi=e=>e&&e.exact?Jl:new RegExp(`(?:${Pt(e)}${it}${Pt(e)})|(?:${Pt(e)}${vr}${Pt(e)})`,"g");pi.v4=e=>e&&e.exact?Ql:new RegExp(`${Pt(e)}${it}${Pt(e)}`,"g"),pi.v6=e=>e&&e.exact?Zl:new RegExp(`${Pt(e)}${vr}${Pt(e)}`,"g");var zu=pi;let Xu=zu,vi={exact:!1},gr=`${Xu.v4().source}\\/(3[0-2]|[12]?[0-9])`,mr=`${Xu.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,ed=new RegExp(`^${gr}$`),td=new RegExp(`^${mr}$`),nd=new RegExp(`(?:^${gr}$)|(?:^${mr}$)`);pr.exports=({exact:e}=vi)=>e?nd:new RegExp(`(?:${gr})|(?:${mr})`,"g"),pr.exports.v4=({exact:e}=vi)=>e?ed:new RegExp(gr,"g"),pr.exports.v6=({exact:e}=vi)=>e?td:new RegExp(mr,"g");let{v4:rd,v6:ad}=pr.exports,Gu=rd({exact:!0}),Yu=ad({exact:!0});fr.exports=e=>Gu.test(e)?4:Yu.test(e)?6:0,fr.exports.v4=e=>Gu.test(e),fr.exports.v6=e=>Yu.test(e);let gi=zu,mn=e=>gi({exact:!0}).test(e);mn.v4=e=>gi.v4({exact:!0}).test(e),mn.v6=e=>gi.v6({exact:!0}).test(e),mn.version=e=>mn(e)?mn.v4(e)?4:6:void 0;var Ku=mn;let Ju="[a-fA-F\\d:]",_t=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Ju})|(?<=${Ju})(?=\\s|$))`:"",ot="(?: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}",Pe="[a-fA-F\\d]{1,4}",hr=` +(?: +(?:${Pe}:){7}(?:${Pe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8 +(?:${Pe}:){6}(?:${ot}|:${Pe}|:)| // 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 +(?:${Pe}:){5}(?::${ot}|(?::${Pe}){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 +(?:${Pe}:){4}(?:(?::${Pe}){0,1}:${ot}|(?::${Pe}){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 +(?:${Pe}:){3}(?:(?::${Pe}){0,2}:${ot}|(?::${Pe}){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 +(?:${Pe}:){2}(?:(?::${Pe}){0,3}:${ot}|(?::${Pe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4 +(?:${Pe}:){1}(?:(?::${Pe}){0,4}:${ot}|(?::${Pe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4 +(?::(?:(?::${Pe}){0,5}:${ot}|(?::${Pe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4 +)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1 +`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),id=new RegExp(`(?:^${ot}$)|(?:^${hr}$)`),od=new RegExp(`^${ot}$`),ud=new RegExp(`^${hr}$`),hn=e=>e&&e.exact?id:new RegExp(`(?:${_t(e)}${ot}${_t(e)})|(?:${_t(e)}${hr}${_t(e)})`,"g");hn.v4=e=>e&&e.exact?od:new RegExp(`${_t(e)}${ot}${_t(e)}`,"g"),hn.v6=e=>e&&e.exact?ud:new RegExp(`${_t(e)}${hr}${_t(e)}`,"g");let mi={exact:!1},yr=`${hn.v4().source}\\/(3[0-2]|[12]?[0-9])`,br=`${hn.v6().source}\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`,sd=new RegExp(`^${yr}$`),cd=new RegExp(`^${br}$`),ld=new RegExp(`(?:^${yr}$)|(?:^${br}$)`),Dr=({exact:e}=mi)=>e?ld:new RegExp(`(?:${yr})|(?:${br})`,"g");Dr.v4=({exact:e}=mi)=>e?sd:new RegExp(yr,"g"),Dr.v6=({exact:e}=mi)=>e?cd:new RegExp(br,"g");function dd(e){let D=fd(e);if(!D)throw new Error(`Invalid IP address: ${e}`);let t=0n,R=0n,O=Object.create(null);if(D===4)for(let P of e.split(".").map(BigInt).reverse())t+=P*2n**R,R+=8n;else{if(e.includes(".")&&(O.ipv4mapped=!0,e=e.split(":").map(W=>{if(W.includes(".")){let q=W.split(".").map(Q=>Number(Q).toString(16).padStart(2,"0"));return`${q[0]}${q[1]}:${q[2]}${q[3]}`}else return W}).join(":")),e.includes("%")){let W;[,e,W]=/(.+)%(.+)/.exec(e),O.scopeid=W}let P=e.split(":"),B=P.indexOf("");if(B!==-1)for(;P.length<8;)P.splice(B,0,"");for(let W of P.map(q=>BigInt(parseInt(q||0,16))).reverse())t+=W*2n**R,R+=16n}return O.number=t,O.version=D,O}function fd(e){return e.includes(":")?6:e.includes(".")?4:0}let Qu={4:32,6:128},Zu=e=>Array.from(new Set(e));function pd(e){return hn.v4({exact:!0}).test(e)?4:hn.v6({exact:!0}).test(e)?6:0}function vd(e){return Dr.v4({exact:!0}).test(e)?4:Dr.v6({exact:!0}).test(e)?6:0}function es(e){let D=vd(e),t=Object.create(null);if(t.single=!1,D)t.cidr=e,t.version=D;else{let ie=pd(e);if(ie)t.cidr=`${e}/${Qu[ie]}`,t.version=ie,t.single=!0;else throw new Error(`Network is not a CIDR or IP: ${e}`)}let[R,O]=t.cidr.split("/");t.prefix=O;let{number:P,version:B}=dd(R),W=Qu[B],q=P.toString(2).padStart(W,"0"),Q=Number(W-O),se=q.substring(0,W-Q);return t.start=BigInt(`0b${se}${"0".repeat(Q)}`),t.end=BigInt(`0b${se}${"1".repeat(Q)}`),t}function gd(e,D){return!(D.starte.end)}function ts(e,D){let t=Zu(Array.isArray(e)?e:[e]),R=Zu(Array.isArray(D)?D:[D]),O=R.length,P=0;for(let B of t){let W=es(B);for(let q of R){let Q=es(q);if(W.version===Q.version&&gd(W,Q)){P++;continue}}}return P===O}var hi=function(){function e(D){if(!D)throw new SyntaxError("Modifier cannot be empty");this.value=D;for(var t=[],R=[],O=D.split(Hu),P=0;P0?R:null,this.permitted=t.length>0?t:null}return e.prototype.getPermitted=function(){return this.permitted},e.prototype.getRestricted=function(){return this.restricted},e.prototype.getValue=function(){return this.value},e.prototype.match=function(D){return!this.restricted&&!this.permitted?!0:this.restricted&&this.restricted.includes(D)?!1:this.permitted?this.permitted.includes(D):!0},e}(),md=function(){function e(){this.ipv4Masks=[],this.ipv6Masks=[]}return e.prototype.contains=function(D){return Ku.v4(D)?this.ipv4Masks.some(function(t){return ts(t,D)}):this.ipv6Masks.some(function(t){return ts(t,D)})},e}(),ns=function(e){Zt(D,e);function D(t){var R=e.call(this,t)||this,O=R.getPermitted();O&&(R.permitted=D.stripValues(O),R.permittedNetmasks=D.parseNetmasks(R.permitted));var P=R.getRestricted();return P&&(R.restricted=D.stripValues(P),R.restrictedNetmasks=D.parseNetmasks(R.restricted)),R}return D.stripValues=function(t){return t.map(function(R){return(R.startsWith('"')&&R.endsWith('"')||R.startsWith("'")&&R.endsWith("'"))&&(R=R.substr(1,R.length-2)),R.replace(/\\/ig,"")})},D.prototype.matchAny=function(t,R){return this.restricted?!(t&&this.restricted.includes(t)||R&&this.restricted.includes(R)):this.restrictedNetmasks?!(R&&this.restrictedNetmasks.contains(R)):!!(this.permitted&&(t&&this.permitted.includes(t)||R&&this.permitted.includes(R))||this.permittedNetmasks&&R&&this.permittedNetmasks.contains(R))},D.parseNetmasks=function(t){var R=new md;return t.forEach(function(O){var P=fr.exports(O);P===4?R.ipv4Masks.push(O):P===6&&R.ipv6Masks.push(O)}),R},D}(hi),hd=function(){function e(D){this.value=D}return e.prototype.getValue=function(){return this.value},e}(),rs=function(e){Zt(D,e);function D(t){var R=e.call(this,t)||this;return R.permitted&&(R.restricted=null),R}return D}(hi),as=function(e){Zt(D,e);function D(t){var R=e.call(this,t)||this;return R.validate(),R}return D.prototype.validate=function(){if(!this.getValue())throw new Error("Invalid rule: Ctag modifier must not be empty");var t=this.permitted?this.permitted:this.restricted;if(t&&t.some(function(R){return!D.ALLOWED_TAGS.includes(R)}))throw new Error("Invalid rule: Invalid ctag modifier")},D.ALLOWED_TAGS=["device_audio","device_camera","device_gameconsole","device_laptop","device_nas","device_pc","device_phone","device_printer","device_securityalarm","device_tablet","device_tv","device_other","os_android","os_ios","os_linux","os_macos","os_windows","os_other","user_admin","user_regular","user_child"],D}(hi);function yi(e){for(var D=0,t=e;t>0;)D+=t&1,t>>=1;return D}function Er(e,D){var t=e&D;return yi(t)}H.NetworkRuleOption=void 0,function(e){e[e.NotSet=0]="NotSet",e[e.ThirdParty=1]="ThirdParty",e[e.MatchCase=2]="MatchCase",e[e.Important=4]="Important",e[e.Elemhide=8]="Elemhide",e[e.Generichide=16]="Generichide",e[e.Specifichide=32]="Specifichide",e[e.Genericblock=64]="Genericblock",e[e.Jsinject=128]="Jsinject",e[e.Urlblock=256]="Urlblock",e[e.Content=512]="Content",e[e.Extension=1024]="Extension",e[e.Stealth=2048]="Stealth",e[e.Popup=4096]="Popup",e[e.Csp=8192]="Csp",e[e.Replace=16384]="Replace",e[e.Cookie=32768]="Cookie",e[e.Redirect=65536]="Redirect",e[e.Badfilter=131072]="Badfilter",e[e.RemoveParam=262144]="RemoveParam",e[e.RemoveHeader=524288]="RemoveHeader",e[e.JsonPrune=1048576]="JsonPrune",e[e.Hls=2097152]="Hls",e[e.Network=4194304]="Network",e[e.Client=8388608]="Client",e[e.DnsRewrite=16777216]="DnsRewrite",e[e.DnsType=33554432]="DnsType",e[e.Ctag=67108864]="Ctag",e[e.Method=134217728]="Method",e[e.To=268435456]="To",e[e.Permissions=536870912]="Permissions",e[e.Header=1073741824]="Header"}(H.NetworkRuleOption||(H.NetworkRuleOption={})),H.NetworkRuleGroupOptions=void 0,function(e){e[e.AllowlistOnly=4088]="AllowlistOnly",e[e.OptionHostLevelRules=125960196]="OptionHostLevelRules",e[e.RemoveParamCompatibleOptions=393223]="RemoveParamCompatibleOptions",e[e.RemoveHeaderCompatibleOptions=655367]="RemoveHeaderCompatibleOptions"}(H.NetworkRuleGroupOptions||(H.NetworkRuleGroupOptions={}));var yd=function(){function e(){}return e}(),It=function(){function e(D,t){this.permittedDomains=null,this.restrictedDomains=null,this.denyAllowDomains=null,this.enabledOptions=H.NetworkRuleOption.NotSet,this.disabledOptions=H.NetworkRuleOption.NotSet,this.permittedRequestTypes=me.NotSet,this.restrictedRequestTypes=me.NotSet,this.advancedModifier=null,this.appModifier=null,this.methodModifier=null,this.toModifier=null,this.priorityWeight=1,this.ruleText=D,this.filterListId=t;var R=e.parseRuleText(D);this.allowlist=!!R.allowlist;var O=R.pattern;if(O&&e.hasSpaces(O))throw new SyntaxError("Rule has spaces, seems to be an host rule");if(R.options&&this.loadOptions(R.options),O===Ee.MASK_START_URL||O===Ee.MASK_ANY_CHARACTER||O===""||O.length=0},e.prototype.matchDomain=function(D){return!(this.hasRestrictedDomains()&&Ke.isDomainOrSubdomainOfAny(D,this.restrictedDomains)||this.hasPermittedDomains()&&!Ke.isDomainOrSubdomainOfAny(D,this.permittedDomains))},e.prototype.matchDomainModifier=function(D){if(!this.permittedDomains&&!this.restrictedDomains)return!0;var t=D.requestType===me.Document||D.requestType===me.SubDocument,R=(!this.permittedDomains||this.permittedDomains.length===0)&&this.restrictedDomains&&this.restrictedDomains.length>0,O=this.isRegexRule(),P=this.pattern.isPatternDomainSpecific(),B=!O&&!P;return t&&(R||B)?D.sourceHostname&&this.matchDomain(D.sourceHostname)||this.matchDomain(D.hostname):this.matchDomain(D.sourceHostname||"")},e.prototype.matchDenyAllowDomains=function(D){return this.denyAllowDomains?!(this.denyAllowDomains.length>0&&Ke.isDomainOrSubdomainOfAny(D,this.denyAllowDomains)):!0},e.prototype.matchToModifier=function(D){if(!this.toModifier)return!0;var t=this.getPermittedToDomains(),R=this.getRestrictedToDomains(),O=!!t&&Ke.isDomainOrSubdomainOfAny(D,t),P=!!R&&Ke.isDomainOrSubdomainOfAny(D,R);return O&&!P},e.prototype.matchClientTags=function(D){var t=this.getAdvancedModifier();if(!t||!(t instanceof as))return!0;if(!D)return!1;var R=t;return D.every(function(O){return R.match(O)})},e.prototype.matchClient=function(D,t){var R=this.getAdvancedModifier();if(!R||!(R instanceof ns))return!0;if(!D&&!t)return!1;var O=R;return O.matchAny(D,t)},e.prototype.matchDnsType=function(D){var t=this.getAdvancedModifier();if(!t||!(t instanceof rs))return!0;if(!D)return!1;var R=t;return R.match(D)},e.prototype.hasPermittedDomains=function(){return this.permittedDomains!=null&&this.permittedDomains.length>0},e.prototype.hasRestrictedDomains=function(){return this.restrictedDomains!=null&&this.restrictedDomains.length>0},e.prototype.hasPermittedApps=function(){return this.appModifier?this.appModifier.permittedApps!==null&&this.appModifier.permittedApps.length>0:!1},e.prototype.matchRequestType=function(D){return!(this.permittedRequestTypes!==me.NotSet&&(this.permittedRequestTypes&D)!==D||this.restrictedRequestTypes!==me.NotSet&&(this.restrictedRequestTypes&D)===D)},e.prototype.matchRequestTypeExplicit=function(D){return this.permittedRequestTypes===me.NotSet&&this.restrictedRequestTypes===me.NotSet&&D!==me.Document&&D!==me.SubDocument?!1:this.matchRequestType(D)},e.prototype.matchMethod=function(D){if(!D||!Vu.isHTTPMethod(D))return!1;var t=this.getPermittedMethods();if(t?.includes(D))return!0;var R=this.getRestrictedMethods();return!!R&&!R.includes(D)},e.hasSpaces=function(D){return D.indexOf(" ")>-1},e.prototype.loadOptions=function(D){var t;try{t=si(D)}catch(Q){var R=Uu(Q);throw new Error("Cannot parse ".concat(D,": ").concat(R))}for(var O=0;O0&&(W=P.substring(0,B),q=P.substring(B+1)),this.loadOption(W,q)}this.validateOptions()},e.prototype.hasOption=function(D){return this.isOptionEnabled(D)||this.isOptionDisabled(D)},e.prototype.isOptionEnabled=function(D){return(this.enabledOptions&D)===D},e.prototype.isSingleOptionEnabled=function(D){return this.enabledOptions===D},e.prototype.isOptionDisabled=function(D){return(this.disabledOptions&D)===D},e.prototype.isHigherPriority=function(D){return this.priorityWeight>D.priorityWeight},e.prototype.isGeneric=function(){return!this.hasPermittedDomains()},e.prototype.negatesBadfilter=function(D){return!(!this.isOptionEnabled(H.NetworkRuleOption.Badfilter)||this.allowlist!==D.allowlist||this.pattern.pattern!==D.pattern.pattern||this.permittedRequestTypes!==D.permittedRequestTypes||this.restrictedRequestTypes!==D.restrictedRequestTypes||(this.enabledOptions^H.NetworkRuleOption.Badfilter)!==D.enabledOptions||this.disabledOptions!==D.disabledOptions||!Tu(this.restrictedDomains,D.restrictedDomains)||!Ou(this.permittedDomains,D.permittedDomains))},e.prototype.isHostLevelNetworkRule=function(){return this.hasPermittedDomains()||this.hasRestrictedDomains()||this.permittedRequestTypes!==0&&this.restrictedRequestTypes!==0||this.disabledOptions!==H.NetworkRuleOption.NotSet?!1:this.enabledOptions!==H.NetworkRuleOption.NotSet?(this.enabledOptions&H.NetworkRuleGroupOptions.OptionHostLevelRules|this.enabledOptions^H.NetworkRuleGroupOptions.OptionHostLevelRules)===H.NetworkRuleGroupOptions.OptionHostLevelRules:!0},e.prototype.setOptionEnabled=function(D,t,R){if(R===void 0&&(R=!1),!R&&!this.allowlist&&(D&H.NetworkRuleGroupOptions.AllowlistOnly)===D)throw new SyntaxError("Modifier ".concat(H.NetworkRuleOption[D]," cannot be used in blacklist rule"));t?this.enabledOptions|=D:this.disabledOptions|=D},e.prototype.setRequestType=function(D,t){t?this.permittedRequestTypes|=D:this.restrictedRequestTypes|=D},e.prototype.setDenyAllowDomains=function(D){var t=new Ke(D,ni);if(t.restrictedDomains&&t.restrictedDomains.length>0)throw new SyntaxError("Invalid modifier: $denyallow domains cannot be negated");if(t.permittedDomains&&t.permittedDomains.some(function(R){return R.includes(Ee.MASK_ANY_CHARACTER)}))throw new SyntaxError("Invalid modifier: $denyallow domains wildcards are not supported");this.denyAllowDomains=t.permittedDomains},e.prototype.loadOption=function(D,t){var R=this,O=e.OPTIONS;if(!(D.startsWith(O.NOOP)&&!D.split(O.NOOP).some(function(W){return!!W})))switch(D){case O.THIRD_PARTY:case Le+O.FIRST_PARTY:this.setOptionEnabled(H.NetworkRuleOption.ThirdParty,!0);break;case Le+O.THIRD_PARTY:case O.FIRST_PARTY:this.setOptionEnabled(H.NetworkRuleOption.ThirdParty,!1);break;case O.MATCH_CASE:this.setOptionEnabled(H.NetworkRuleOption.MatchCase,!0);break;case Le+O.MATCH_CASE:this.setOptionEnabled(H.NetworkRuleOption.MatchCase,!1);break;case O.IMPORTANT:this.setOptionEnabled(H.NetworkRuleOption.Important,!0);break;case O.DOMAIN:var P=new Ke(t,ni);this.permittedDomains=P.permittedDomains,this.restrictedDomains=P.restrictedDomains;break;case O.DENYALLOW:this.setDenyAllowDomains(t);break;case O.METHOD:{this.setOptionEnabled(H.NetworkRuleOption.Method,!0),this.methodModifier=new Vu(t);break}case O.HEADER:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension does not support $header modifier yet");this.setOptionEnabled(H.NetworkRuleOption.Header,!0);break;case O.TO:{this.setOptionEnabled(H.NetworkRuleOption.To,!0),this.toModifier=new Gl(t);break}case O.ELEMHIDE:this.setOptionEnabled(H.NetworkRuleOption.Elemhide,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.GENERICHIDE:this.setOptionEnabled(H.NetworkRuleOption.Generichide,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.SPECIFICHIDE:this.setOptionEnabled(H.NetworkRuleOption.Specifichide,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.GENERICBLOCK:this.setOptionEnabled(H.NetworkRuleOption.Genericblock,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.JSINJECT:this.setOptionEnabled(H.NetworkRuleOption.Jsinject,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.URLBLOCK:this.setOptionEnabled(H.NetworkRuleOption.Urlblock,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.CONTENT:this.setOptionEnabled(H.NetworkRuleOption.Content,!0),this.setRequestType(me.Document,!0),this.setRequestType(me.SubDocument,!0);break;case O.DOCUMENT:case O.DOC:this.setRequestType(me.Document,!0),this.isAllowlist()&&(this.setOptionEnabled(H.NetworkRuleOption.Elemhide,!0,!0),this.setOptionEnabled(H.NetworkRuleOption.Jsinject,!0,!0),this.setOptionEnabled(H.NetworkRuleOption.Urlblock,!0,!0),this.setOptionEnabled(H.NetworkRuleOption.Content,!0,!0));break;case Le+O.DOCUMENT:case Le+O.DOC:this.setRequestType(me.Document,!1);break;case O.STEALTH:this.setOptionEnabled(H.NetworkRuleOption.Stealth,!0);break;case O.POPUP:this.setOptionEnabled(H.NetworkRuleOption.Popup,!0);break;case O.SCRIPT:this.setRequestType(me.Script,!0);break;case Le+O.SCRIPT:this.setRequestType(me.Script,!1);break;case O.STYLESHEET:this.setRequestType(me.Stylesheet,!0);break;case Le+O.STYLESHEET:this.setRequestType(me.Stylesheet,!1);break;case O.SUBDOCUMENT:this.setRequestType(me.SubDocument,!0);break;case Le+O.SUBDOCUMENT:this.setRequestType(me.SubDocument,!1);break;case O.OBJECT:this.setRequestType(me.Object,!0);break;case Le+O.OBJECT:this.setRequestType(me.Object,!1);break;case O.IMAGE:this.setRequestType(me.Image,!0);break;case Le+O.IMAGE:this.setRequestType(me.Image,!1);break;case O.XMLHTTPREQUEST:this.setRequestType(me.XmlHttpRequest,!0);break;case Le+O.XMLHTTPREQUEST:this.setRequestType(me.XmlHttpRequest,!1);break;case O.MEDIA:this.setRequestType(me.Media,!0);break;case Le+O.MEDIA:this.setRequestType(me.Media,!1);break;case O.FONT:this.setRequestType(me.Font,!0);break;case Le+O.FONT:this.setRequestType(me.Font,!1);break;case O.WEBSOCKET:this.setRequestType(me.WebSocket,!0);break;case Le+O.WEBSOCKET:this.setRequestType(me.WebSocket,!1);break;case O.OTHER:this.setRequestType(me.Other,!0);break;case Le+O.OTHER:this.setRequestType(me.Other,!1);break;case O.PING:this.setRequestType(me.Ping,!0);break;case Le+O.PING:this.setRequestType(me.Ping,!1);break;case O.BADFILTER:this.setOptionEnabled(H.NetworkRuleOption.Badfilter,!0);break;case O.CSP:this.setOptionEnabled(H.NetworkRuleOption.Csp,!0),this.advancedModifier=new Ul(t,this.isAllowlist());break;case O.REPLACE:this.setOptionEnabled(H.NetworkRuleOption.Replace,!0),this.advancedModifier=new Lu(t);break;case O.COOKIE:this.setOptionEnabled(H.NetworkRuleOption.Cookie,!0),this.advancedModifier=new di(t);break;case O.REDIRECT:this.setOptionEnabled(H.NetworkRuleOption.Redirect,!0),this.advancedModifier=new $u(t,this.ruleText,this.isAllowlist());break;case O.REDIRECTRULE:this.setOptionEnabled(H.NetworkRuleOption.Redirect,!0),this.advancedModifier=new $u(t,this.ruleText,this.isAllowlist(),!0);break;case O.REMOVEPARAM:this.setOptionEnabled(H.NetworkRuleOption.RemoveParam,!0),this.advancedModifier=new lr(t);break;case O.REMOVEHEADER:this.setOptionEnabled(H.NetworkRuleOption.RemoveHeader,!0),this.advancedModifier=new dr(t,this.isAllowlist());break;case O.PERMISSIONS:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension does not support $permissions modifier yet");this.setOptionEnabled(H.NetworkRuleOption.Permissions,!0);break;case O.JSONPRUNE:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension does not support $jsonprune modifier yet");this.setOptionEnabled(H.NetworkRuleOption.JsonPrune,!0);break;case O.HLS:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension does not support $hls modifier yet");this.setOptionEnabled(H.NetworkRuleOption.Hls,!0);break;case O.REFERRERPOLICY:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension does not support $referrerpolicy modifier");break;case O.CLIENT:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $client modifier");this.setOptionEnabled(H.NetworkRuleOption.Client,!0),this.advancedModifier=new ns(t);break;case O.DNSREWRITE:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $dnsrewrite modifier");this.setOptionEnabled(H.NetworkRuleOption.DnsRewrite,!0),this.advancedModifier=new hd(t);break;case O.DNSTYPE:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $dnstype modifier");this.setOptionEnabled(H.NetworkRuleOption.DnsType,!0),this.advancedModifier=new rs(t);break;case O.CTAG:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $ctag modifier");this.setOptionEnabled(H.NetworkRuleOption.Ctag,!0),this.advancedModifier=new as(t);break;case O.APP:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $app modifier");this.appModifier=new Xl(t);break;case O.NETWORK:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $network modifier");this.setOptionEnabled(H.NetworkRuleOption.Network,!0);break;case O.EXTENSION:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $extension modifier");this.setOptionEnabled(H.NetworkRuleOption.Extension,!0);break;case Le+O.EXTENSION:if(Xe(H.CompatibilityTypes.Extension))throw new SyntaxError("Extension doesn't support $extension modifier");this.setOptionEnabled(H.NetworkRuleOption.Extension,!1);break;case O.ALL:if(this.isAllowlist())throw new SyntaxError("Rule with $all modifier can not be allowlist rule");Object.values(me).forEach(function(W){R.setRequestType(W,!0)}),this.setOptionEnabled(H.NetworkRuleOption.Popup,!0);break;case O.EMPTY:case O.MP4:break;default:{var B=[D,t].filter(function(W){return W}).join("=");throw new SyntaxError("Unknown modifier: ".concat(B))}}},e.prototype.calculatePriorityWeight=function(){var D,t;if(this.priorityWeight+=Er(this.enabledOptions,e.CATEGORY_1_OPTIONS_MASK),this.priorityWeight+=Er(this.disabledOptions,e.CATEGORY_1_OPTIONS_MASK),this.denyAllowDomains&&this.denyAllowDomains.length>0&&(this.priorityWeight+=1),this.restrictedDomains&&this.restrictedDomains.length>0&&(this.priorityWeight+=1),!((D=this.methodModifier)===null||D===void 0)&&D.restrictedValues&&this.methodModifier.restrictedValues.length>0&&(this.priorityWeight+=1),this.restrictedRequestTypes!==me.NotSet&&(this.priorityWeight+=1),this.toModifier&&(this.priorityWeight+=1),this.permittedRequestTypes!==me.NotSet){var R=yi(this.permittedRequestTypes),O=e.CategoryTwoWeight/R;this.priorityWeight+=e.CategoryTwoWeight+O}if(!((t=this.methodModifier)===null||t===void 0)&&t.permittedValues&&this.methodModifier.permittedValues.length>0){var O=e.CategoryTwoWeight/this.methodModifier.permittedValues.length;this.priorityWeight+=e.CategoryTwoWeight+O}if(this.permittedDomains&&this.permittedDomains.length>0){var O=e.CategoryThreeWeight/this.permittedDomains.length;this.priorityWeight+=e.CategoryThreeWeight+O}this.isOptionEnabled(H.NetworkRuleOption.Redirect)&&(this.priorityWeight+=e.CategoryFourWeight),this.priorityWeight+=e.CategoryFiveWeight*Er(this.enabledOptions,e.SPECIFIC_EXCLUSIONS_MASK),this.isAllowlist()&&(this.priorityWeight+=e.CategorySixWeight),this.isOptionEnabled(H.NetworkRuleOption.Important)&&(this.priorityWeight+=e.CategorySevenWeight),this.priorityWeight=Math.ceil(this.priorityWeight)},e.prototype.validateOptions=function(){this.advancedModifier instanceof lr?this.validateRemoveParamRule():this.advancedModifier instanceof dr?this.validateRemoveHeaderRule():this.toModifier!==null?this.validateToRule():this.denyAllowDomains!==null&&this.validateDenyallowRule()},e.prototype.validateRemoveParamRule=function(){if((this.enabledOptions|H.NetworkRuleGroupOptions.RemoveParamCompatibleOptions)!==H.NetworkRuleGroupOptions.RemoveParamCompatibleOptions)throw new SyntaxError("$removeparam rules are not compatible with some other modifiers")},e.prototype.validateRemoveHeaderRule=function(){if((this.enabledOptions|H.NetworkRuleGroupOptions.RemoveHeaderCompatibleOptions)!==H.NetworkRuleGroupOptions.RemoveHeaderCompatibleOptions)throw new SyntaxError("$removeheader rules are not compatible with some other modifiers")},e.prototype.validateToRule=function(){if(this.denyAllowDomains)throw new SyntaxError("modifier $to is not compatible with $denyallow modifier")},e.prototype.validateDenyallowRule=function(){if(this.toModifier)throw new SyntaxError("modifier $to is not compatible with $denyallow modifier")},e.parseRuleText=function(D){var t=new yd;t.allowlist=!1;var R=0;if(D.startsWith(e.MASK_ALLOWLIST)&&(t.allowlist=!0,R=e.MASK_ALLOWLIST.length),D.length<=R)throw new SyntaxError("Rule is too short");if(t.pattern=D.substring(R),t.pattern.startsWith(Ee.MASK_REGEX_RULE)&&t.pattern.endsWith(Ee.MASK_REGEX_RULE)&&!t.pattern.includes("".concat(e.OPTIONS.REPLACE,"=")))return t;for(var O=D.lastIndexOf("".concat(e.OPTIONS.REMOVEPARAM,"=")),P=O>=0?O:D.length-2,B=!1,W=P;W>=R;W-=1){var q=D.charAt(W);if(q===e.OPTIONS_DELIMITER)if(W>R&&D.charAt(W-1)===e.ESCAPE_CHARACTER)B=!0;else{t.pattern=D.substring(R,W),t.options=D.substring(W+1),B&&(t.options=t.options.replace(e.RE_ESCAPED_OPTIONS_DELIMITER,e.OPTIONS_DELIMITER),e.RE_ESCAPED_OPTIONS_DELIMITER.lastIndex=0);break}}return t},e.CATEGORY_1_OPTIONS_MASK=H.NetworkRuleOption.ThirdParty|H.NetworkRuleOption.MatchCase|H.NetworkRuleOption.DnsRewrite,e.CategoryTwoWeight=50,e.CategoryThreeWeight=100,e.CategoryFourWeight=Math.pow(10,3),e.CategoryFiveWeight=Math.pow(10,4),e.SPECIFIC_EXCLUSIONS_MASK=H.NetworkRuleOption.Elemhide|H.NetworkRuleOption.Generichide|H.NetworkRuleOption.Specifichide|H.NetworkRuleOption.Content|H.NetworkRuleOption.Urlblock|H.NetworkRuleOption.Genericblock|H.NetworkRuleOption.Jsinject|H.NetworkRuleOption.Extension,e.CategorySixWeight=Math.pow(10,5),e.CategorySevenWeight=Math.pow(10,6),e.OPTIONS_DELIMITER=fi,e.ESCAPE_CHARACTER=zl,e.RE_ESCAPED_OPTIONS_DELIMITER=new RegExp("".concat(e.ESCAPE_CHARACTER).concat(e.OPTIONS_DELIMITER),"g"),e.MASK_ALLOWLIST=ql,e.NOT_MARK=Le,e.OPTIONS=cr,e}(),wr=function(){function e(D,t){var R;this.basicRule=null,this.documentRule=null,this.cspRules=null,this.cookieRules=null,this.replaceRules=null,this.removeParamRules=null,this.removeHeaderRules=null,this.redirectRules=null,this.stealthRule=null,this.popupRule=null,D=e.removeBadfilterRules(D),t&&(this.documentRule=t);var O=!0,P=!0;this.documentRule&&(this.documentRule.isOptionEnabled(H.NetworkRuleOption.Urlblock)?P=!1:this.documentRule.isOptionEnabled(H.NetworkRuleOption.Genericblock)&&(O=!1));for(var B=0,W=D;B0){var Q=P.find(function(ie){return ie.getAdvancedModifierValue()===""}),se=[];return O.forEach(function(ie){if(Q&&!ie.isHigherPriority(Q)){se.push(Q);return}var ce=P.find(function(pe){return!ie.isHigherPriority(pe)&&t.call(R,ie)(pe)});ce?se.push(ce):se.push(ie)}),se.filter(function(ie,ce){return se.indexOf(ie)===ce})}return O},e.prototype.getCspRules=function(){if(!this.cspRules)return[];for(var D=[],t=new Map,R=0,O=this.cspRules;R0?R.sort(function(O,P){return P.isHigherPriority(O)?1:-1})[0]:t.length>0&&this.basicRule&&!this.basicRule.isAllowlist()?t.sort(function(O,P){return P.isHigherPriority(O)?1:-1})[0]:null},e.prototype.getCookieRules=function(){if(!this.cookieRules)return[];var D=this.getBasicResult();if(D?.isAllowlist()&&D.isOptionEnabled(H.NetworkRuleOption.Urlblock))return[];var t=function(O){return function(P){var B=P.getAdvancedModifier(),W=O.getAdvancedModifier();return!!(P.getAdvancedModifierValue()===O.getAdvancedModifierValue()||B.matches(W.getCookieName()))}},R=e.filterAdvancedModifierRules(this.cookieRules,t);return R.concat(vn([],this.cookieRules.filter(function(O){return O.isAllowlist()}),!0))},e.prototype.getRemoveParamRules=function(){return this.removeParamRules?e.filterAdvancedModifierRules(this.removeParamRules,function(D){return function(t){return t.isHigherPriority(D)&&t.getAdvancedModifierValue()===D.getAdvancedModifierValue()}}):[]},e.prototype.getRemoveHeaderRules=function(){return this.removeHeaderRules?this.basicRule&&this.basicRule.isAllowlist()&&this.basicRule.isOptionEnabled(H.NetworkRuleOption.Urlblock)?[]:e.filterAdvancedModifierRules(this.removeHeaderRules,function(D){return function(t){return t.getAdvancedModifierValue()===D.getAdvancedModifierValue()}}):[]},e.putWithPriority=function(D,t,R){var O=D.getAdvancedModifierValue(),P=O?R.get(O):null,B=D;P&&!D.isHigherPriority(P)&&(B=P),t&&t.isHigherPriority(B)&&(B=t),R.set(O,B)},e.removeBadfilterRules=function(D){for(var t=[],R=0,O=D;R0?D.filter(function(B){if(B.isOptionEnabled(H.NetworkRuleOption.Badfilter))return!1;var W=t.some(function(q){return q.negatesBadfilter(B)});return!W}):D},e}(),bd=function(){function e(D){this.code=D}return e.prototype.attach=function(D){this.data||(this.data=[]),this.data.push(D)},e.prototype.add=function(D,t){for(var R=this,O=0;O=0?D.substring(0,R):D,P=O.trim().split(" ");if(P.length>=2){if(!Ku(P[0])){this.invalid=!0;return}this.ip=P[0],this.hostnames=P.slice(1).filter(function(B){return!!B})}else P.length===1&&ju(P[0])?(this.hostnames=[P[0]],this.ip="0.0.0.0"):this.invalid=!0}return e.prototype.match=function(D){return this.hostnames.includes(D)},e.prototype.getFilterListId=function(){return this.filterListId},e.prototype.getText=function(){return this.ruleText},e.prototype.getIp=function(){return this.ip},e.prototype.getHostnames=function(){return this.hostnames},e.prototype.isInvalid=function(){return this.invalid},e}(),Di=function(){function e(D,t,R,O){if(this.isHostnameRequest=!1,typeof D!="string")throw new TypeError("Invalid request url: ".concat(D));this.url=D,this.requestType=R,this.method=O,this.urlLowercase=e.compactUrl(D).toLowerCase(),this.sourceUrl=e.compactUrl(t);var P=ti(D);this.hostname=P.hostname,this.domain=P.domain,this.subdomains=e.getSubdomains(P);var B;t?(B=ti(t),this.sourceHostname=B.hostname,this.sourceDomain=B.domain,this.sourceSubdomains=e.getSubdomains(B)):(this.sourceHostname=null,this.sourceDomain=null,this.sourceSubdomains=[]),this.sourceDomain?this.thirdParty=this.domain!==this.sourceDomain:B&&B.isIp?this.thirdParty=this.hostname!==this.sourceHostname:this.thirdParty=null}return e.compactUrl=function(D){var t=D;return t&&t.length>e.MAX_URL_MATCH_LENGTH&&(t=t.substring(0,e.MAX_URL_MATCH_LENGTH)),t},e.getSubdomains=function(D){var t=D.domain,R=D.hostname,O=D.subdomain,P=D.publicSuffix,B=[];if(!t)return R?(B.push(R),B):[];if(P){B.push(P);for(var W=0;W=0;W-=1)Q="".concat(q[W],".").concat(Q),B.push(Q);return B},e.MAX_URL_MATCH_LENGTH=2e3,e}(),is=function(){function e(){this.basicRule=null,this.hostRules=[]}return e}(),Fd=function(){function e(D){this.ruleStorage=D,this.rulesCount=0,this.lookupTable=new Map,this.networkEngine=new bi(D,!0);for(var t=this.ruleStorage.createRuleStorageScanner(Ge.HostRules);t.scan();){var R=t.getRule();R&&(R.rule instanceof Ar?this.addRule(R.rule,R.index):R.rule instanceof It&&R.rule.isHostLevelNetworkRule()&&this.networkEngine.addRule(R.rule,R.index))}}return e.prototype.match=function(D){var t=new is;if(!D)return t;var R="http://".concat(D,"/"),O=new Di(R,R,me.Document);O.isHostnameRequest=!0;var P=this.networkEngine.match(O);if(P)return t.basicRule=P,t;var B=At(D),W=this.lookupTable.get(B);if(W)for(var q=0;qthis.limit&&this.shift(),this)}shift(){var ie=this.oldest;if(ie)return this.oldest[R]?(this.oldest=this.oldest[R],this.oldest[O]=void 0):(this.oldest=void 0,this.newest=void 0),ie[R]=ie[O]=void 0,this._keymap.delete(ie.key),--this.size,[ie.key,ie.value]}find(ie){let ce=this._keymap.get(ie);return ce?ce.value:void 0}has(ie){return this._keymap.has(ie)}delete(ie){var ce=this._keymap.get(ie);return ce?(this._keymap.delete(ce.key),ce[R]&&ce[O]?(ce[O][R]=ce[R],ce[R][O]=ce[O]):ce[R]?(ce[R][O]=void 0,this.oldest=ce[R]):ce[O]?(ce[O][R]=void 0,this.newest=ce[O]):this.oldest=this.newest=void 0,this.size--,ce.value):void 0}clear(){this.oldest=this.newest=void 0,this.size=0,this._keymap.clear()}keys(){return new q(this.oldest)}values(){return new Q(this.oldest)}entries(){return this}[Symbol.iterator](){return new W(this.oldest)}forEach(ie,ce){typeof ce!="object"&&(ce=this);let pe=this.oldest;for(;pe;)ie.call(ce,pe.value,pe.key,this),pe=pe[R]}toJSON(){for(var ie=new Array(this.size),ce=0,pe=this.oldest;pe;)ie[ce++]={key:pe.key,value:pe.value},pe=pe[R];return ie}toString(){for(var ie="",ce=this.oldest;ce;)ie+=String(ce.key)+":"+ce.value,ce=ce[R],ce&&(ie+=" < ");return ie}}t.LRUMap=P;function B(se,ie){this.key=se,this.value=ie,this[R]=void 0,this[O]=void 0}function W(se){this.entry=se}W.prototype[Symbol.iterator]=function(){return this},W.prototype.next=function(){let se=this.entry;return se?(this.entry=se[R],{done:!1,value:[se.key,se.value]}):{done:!0,value:void 0}};function q(se){this.entry=se}q.prototype[Symbol.iterator]=function(){return this},q.prototype.next=function(){let se=this.entry;return se?(this.entry=se[R],{done:!1,value:se.key}):{done:!0,value:void 0}};function Q(se){this.entry=se}Q.prototype[Symbol.iterator]=function(){return this},Q.prototype.next=function(){let se=this.entry;return se?(this.entry=se[R],{done:!1,value:se.value}):{done:!0,value:void 0}}})})(Ei,Ei.exports);var Cd=function(){function e(D,t){t===void 0&&(t=!1),this.ruleStorage=D,this.networkEngine=new bi(D,t),this.cosmeticEngine=new Bu(D,t),this.resultCache=new Ei.exports.LRUMap(e.REQUEST_CACHE_SIZE)}return e.prototype.loadRules=function(){for(var D=this.ruleStorage.createRuleStorageScanner(Ge.NetworkRules|Ge.CosmeticRules);D.scan();)this.addRule(D.getRule())},e.prototype.loadRulesAsync=function(D){return el(this,void 0,void 0,function(){var t,R;return tl(this,function(O){switch(O.label){case 0:t=this.ruleStorage.createRuleStorageScanner(Ge.NetworkRules|Ge.CosmeticRules),R=0,O.label=1;case 1:return t.scan()?(R+=1,R>=D?(R=0,[4,new Promise(function(P){return setTimeout(P,1)})]):[3,3]):[3,4];case 2:O.sent(),O.label=3;case 3:return this.addRule(t.getRule()),[3,1];case 4:return[2]}})})},e.prototype.matchRequest=function(D,t){t===void 0&&(t=null);var R="".concat(D.url,"#").concat(D.sourceHostname,"#").concat(D.requestType);D.method&&(R+="#".concat(D.method)),t&&(R+="#".concat(t.getText()));var O=this.resultCache.get(R);if(O)return O;var P=this.networkEngine.matchAll(D),B=new wr(P,t);return this.resultCache.set(R,B),B},e.prototype.matchFrame=function(D){var t=new Di(D,"",me.Document),R=this.networkEngine.matchAll(t);R=wr.removeBadfilterRules(R);var O=null;return R.forEach(function(P){P.isDocumentLevelAllowlistRule()&&(!O||P.isHigherPriority(O))&&(O=P)}),O},e.prototype.getCosmeticResult=function(D,t){return this.cosmeticEngine.match(D,t)},e.prototype.getRulesCount=function(){return this.networkEngine.rulesCount+this.cosmeticEngine.rulesCount},e.prototype.addRule=function(D){D&&(D.rule instanceof It?this.networkEngine.addRule(D.rule,D.index):D.rule instanceof gn&&this.cosmeticEngine.addRule(D.rule,D.index))},e.REQUEST_CACHE_SIZE=500,e}(),en=Math.pow(10,6),os=function(){function e(D,t){this.rule=D,this.index=t}return e}(),us=function(){function e(D,t){this.rule=D,this.index=t}return e}(),ss=function(){function e(D){this.currentScanner=null,this.currentScannerIdx=-1,this.scanners=D}return e.prototype.scan=function(){if(this.scanners.length===0)return!1;for(this.currentScanner||(this.currentScannerIdx=0,this.currentScanner=this.scanners[this.currentScannerIdx]);;){if(this.currentScanner.scan())return!0;if(this.currentScannerIdx===this.scanners.length-1)return!1;this.currentScannerIdx+=1,this.currentScanner=this.scanners[this.currentScannerIdx]}},e.prototype.getRule=function(){if(!this.currentScanner)return null;var D=this.currentScanner.getRule();if(!D)return null;var t=e.ruleListIdxToStorageIdx(D.rule.getFilterListId(),D.index);return new us(D.rule,t)},e.ruleListIdxToStorageIdx=function(D,t){return D/en+t},e.storageIdxToRuleListIdx=function(D){var t=Math.round(D%1*en),R=Math.trunc(D);return[t,R]},e}();H.logger=console;function xd(e){H.logger=e}var Nt=function(){function e(){}return e.createRule=function(D,t,R,O,P,B){if(R===void 0&&(R=!1),O===void 0&&(O=!1),P===void 0&&(P=!0),B===void 0&&(B=!0),!D||e.isComment(D))return null;e.isShort(D)&&H.logger.info("The rule is too short: ".concat(D));var W=D.trim();try{if(e.isCosmetic(W))return O?null:new gn(W,t);if(!P){var q=e.createHostRule(W,t);if(q)return q}if(!R)return new It(W,t)}catch(se){var Q='"'.concat(Uu(se),'" in the rule: "').concat(W,'"');if(B)H.logger.info("Error: ".concat(Q));else throw new Error(Q)}return null},e.createHostRule=function(D,t){var R=new Ar(D,t);return R.isInvalid()?null:R},e.isShort=function(D){return D?!!(D&&D.length<=3):!0},e.isCosmetic=function(D){var t=ii(D);return t[0]!==-1},e.isComment=function(D){return D.charAt(0)==="!"?!0:D.charAt(0)==="#"?D.length===1?!0:!e.isCosmetic(D):!1},e}(),kd=function(){function e(){this.cache=new Map}return e.prototype.get=function(D){return this.cache.get(D)},e.prototype.set=function(D,t){this.cache.set(D,t)},e.prototype.getSize=function(){return this.cache.size},e}(),Rd=function(){function e(D){var t=this;this.lists=D,this.listsMap=new Map,this.cache=new Map,this.lists.forEach(function(R){var O=R.getId();if(t.listsMap.get(O))throw new Error("Duplicate list ID: ".concat(O));t.listsMap.set(O,R)})}return e.prototype.createRuleStorageScanner=function(D){var t=this.lists.map(function(R){return R.newScanner(D)});return new ss(t)},e.prototype.retrieveRule=function(D,t){t===void 0&&(t=!0);var R=ss.storageIdxToRuleListIdx(D),O=R[0],P=R[1],B=this.getFromCache(O,P);if(B)return B;var W=this.listsMap.get(O);if(!W)return H.logger.warn("Failed to retrieve list ".concat(O,", should not happen in normal operation")),null;var q=W.retrieveRuleText(P);if(!q)return H.logger.warn("Failed to retrieve rule ".concat(P,", should not happen in normal operation")),null;var Q=Nt.createRule(q,O,!1,!1,t);return Q&&this.saveToCache(O,P,Q),Q},e.prototype.retrieveNetworkRule=function(D){var t=this.retrieveRule(D);return t&&t instanceof It?t:null},e.prototype.retrieveHostRule=function(D){var t=this.retrieveRule(D,!1);return t&&t instanceof Ar?t:null},e.prototype.getCacheSize=function(){return Array.from(this.cache.values()).reduce(function(D,t){return D+t.getSize()},0)},e.prototype.saveToCache=function(D,t,R){var O=this.cache.get(D);O||(O=new kd,this.cache.set(D,O)),O.set(t,R)},e.prototype.getFromCache=function(D,t){var R=this.cache.get(D);if(R)return R.get(t)},e}(),Sd=function(){function e(D){this.currentIndex=0,this.text=D}return e.prototype.readLine=function(){if(this.currentIndex===-1)return null;var D=this.currentIndex;if(this.currentIndex=this.text.indexOf(` +`,D),this.currentIndex===-1)return this.text.substring(D);var t=this.text.substring(D,this.currentIndex);return this.currentIndex+=1,t},e.prototype.getCurrentPos=function(){return this.currentIndex},e}(),cs=function(){function e(D,t,R){this.currentRule=null,this.currentRuleIndex=0,this.reader=D,this.listId=t,this.ignoreCosmetic=!!R.ignoreCosmetic||(R.scannerType&Ge.CosmeticRules)!==Ge.CosmeticRules,this.ignoreNetwork=(R.scannerType&Ge.NetworkRules)!==Ge.NetworkRules,this.ignoreHost=(R.scannerType&Ge.HostRules)!==Ge.HostRules,this.ignoreJS=!!R.ignoreJS,this.ignoreUnsafe=!!R.ignoreUnsafe}return e.prototype.scan=function(){for(;;){var D=this.reader.getCurrentPos(),t=this.readNextLine();if(t===null)return!1;if(t){var R=Nt.createRule(t,this.listId,this.ignoreNetwork,this.ignoreCosmetic,this.ignoreHost);if(R&&!this.isIgnored(R))return this.currentRule=R,this.currentRuleIndex=D,!0}}},e.prototype.getRule=function(){return this.currentRule?new os(this.currentRule,this.currentRuleIndex):null},e.prototype.readNextLine=function(){var D=this.reader.readLine();return D!=null?D.trim():null},e.prototype.isIgnored=function(D){return!this.ignoreCosmetic&&!this.ignoreJS&&!this.ignoreUnsafe?!1:D instanceof gn?this.ignoreCosmetic?!0:this.ignoreJS&&D.getType()===H.CosmeticRuleType.Js:!!(this.ignoreUnsafe&&D instanceof It&&D.getAdvancedModifier()&&D.getAdvancedModifier()instanceof dr)},e}(),Td=function(){function e(D,t,R,O,P){if(D>=en)throw new Error("Invalid list identifier, it must be less than ".concat(en));this.id=D,this.rulesText=t,this.ignoreCosmetic=!!R,this.ignoreJS=!!O,this.ignoreUnsafe=!!P}return e.prototype.close=function(){},e.prototype.getId=function(){return this.id},e.prototype.newScanner=function(D){var t=new Sd(this.rulesText);return new cs(t,this.id,{scannerType:D,ignoreCosmetic:this.ignoreCosmetic,ignoreJS:this.ignoreJS,ignoreUnsafe:this.ignoreUnsafe})},e.prototype.retrieveRuleText=function(D){if(D<0||D>=this.rulesText.length)return null;var t=this.rulesText.indexOf(` +`,D);t===-1&&(t=this.rulesText.length);var R=this.rulesText.substring(D,t).trim();return R||null},e}(),ls=function(){function e(D){this.currentIndex=0,this.buffer=D}return e.prototype.readLine=function(){if(this.currentIndex===-1)return null;var D=this.currentIndex;if(this.currentIndex=this.buffer.indexOf(e.EOL,D),this.currentIndex===-1)return e.decoder.decode(this.buffer.subarray(D));var t=this.buffer.subarray(D,this.currentIndex),R=e.decoder.decode(t);return this.currentIndex+=1,R},e.prototype.getCurrentPos=function(){return this.currentIndex},e.EOL=10,e.decoder=new TextDecoder("utf-8"),e}(),Od=function(){function e(D,t,R,O,P){if(D>=en)throw new Error("Invalid list identifier, it must be less than ".concat(en));this.id=D;var B=new TextEncoder;this.rulesBuffer=B.encode(t),this.ignoreCosmetic=!!R,this.ignoreJS=!!O,this.ignoreUnsafe=!!P}return e.prototype.close=function(){},e.prototype.getId=function(){return this.id},e.prototype.newScanner=function(D){var t=new ls(this.rulesBuffer);return new cs(t,this.id,{scannerType:D,ignoreCosmetic:this.ignoreCosmetic,ignoreJS:this.ignoreJS,ignoreUnsafe:this.ignoreUnsafe})},e.prototype.retrieveRuleText=function(D){if(D<0||D>=this.rulesBuffer.length)return null;var t=this.rulesBuffer.indexOf(ls.EOL,D);t===-1&&(t=this.rulesBuffer.length);var R=this.rulesBuffer.subarray(D,t),O=e.decoder.decode(R).trim();return O||null},e.decoder=new TextDecoder("utf-8"),e}(),jd=function(){function e(){}e.convertRules=function(t){for(var R=[],O=t.split(/\r?\n/),P=0,B=O;P1){var q=B.filter(function(ce){return!ce.startsWith("csp")}),Q=W.map(function(ce){return ce.split(O)[1]}),se="csp".concat(O).concat(Q.join("; "));B=q.concat(se)}if(P){var ie=B.join(",");return["".concat(t,"$").concat(ie)]}return null},e.convertUboComments=function(t){return t.startsWith("# ")||t.startsWith("####")?"! ".concat(t):null},e.executeConversion=function(t,R,O){var P=t,B=R[0];if(B){var W=R[1];if(W.match(e.CSS_RULE_REPLACE_PATTERN)){var q=e.CSS_RULE_REPLACE_PATTERN.exec(W);q!=null&&q.length===3&&(P=B+O,P+="".concat(q[1]," { ").concat(q[2]," }"))}}return P},e.convertPseudoElements=function(t){var R="before",O="after",P=":";if(!(t.includes(P+R)||t.includes(P+O))||!(t.includes(e.MASK_ELEMENT_HIDING)||t.includes(e.MASK_ELEMENT_HIDING_EXCEPTION)||t.includes(e.MASK_CSS)||t.includes(e.MASK_CSS_EXCEPTION)))return t;for(var B="",W=0;W|\+|~/,e.SCRIPT_HAS_TEXT_REPLACEMENT='$$$$script[tag-content="',e.UBO_RESPONSE_HEADER="#^responseheader(",e.UBO_RESPONSE_HEADER_REGEX=/##\^responseheader\((?!\/.+\/\))/i,e.UBO_RESPONSE_HEADER_EXCEPTION_REGEX=/#@#\^responseheader\((?!\/.+\/\))/i,e.UBO_RESPONSE_HEADER_REPLACEMENT="^$removeheader=",e.UBO_MATCHES_PATH=":matches-path(",e.UBO_REVERSED_MATCHES_PATH=":not(:matches-path(",e.MASK_ELEMENT_HIDING="##",e.UBO_HTML_RULE_MASK="##^",e.MASK_ELEMENT_HIDING_EXCEPTION="#@#",e.MASK_CSS="#$#",e.MASK_CSS_EXCEPTION="#@$#",e.MASK_CSS_EXTENDED_CSS_RULE="#?#",e.MASK_CSS_EXCEPTION_EXTENDED_CSS_RULE="#@?#",e.MASK_CSS_INJECT_EXTENDED_CSS_RULE="#$?#",e.MASK_CSS_EXCEPTION_INJECT_EXTENDED_CSS_RULE="#@$?#",e.REMOVE_RULE_PATTERN=":remove()",e.REMOVE_RULE_REPLACER=" { remove: true; }",e.REGEXP_DELIMITER="/",e.ESCAPING_SLASH="\\",e.splitIntoDomainAndOptions=function(t){for(var R=-1,O=!1,P=t.length-1;P>=0;P-=1){if(!O&&t[P]===fi){R=P;break}t[P]===D.REGEXP_DELIMITER&&(P===0||t[P-1]!==D.ESCAPING_SLASH)&&(O=!O)}if(R===-1)return[t,null];var B=t.slice(0,R),W=t.slice(R+1),q=si(W,!1);return[B,q]},e.OPTIONS_CONVERSION_MAP=new Map([["empty","redirect=nooptext"],["mp4","redirect=noopmp4-1s"],["inline-script","csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:"],["inline-font","csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:"]]),e.OPTIONS_ALIASES={"first-party":"~third-party",xhr:"xmlhttprequest",css:"stylesheet",frame:"subdocument",queryprune:"removeparam",doc:"document","1p":"~third-party","3p":"third-party",ghide:"generichide",ehide:"elemhide",shide:"specifichide"},e}(),Pd=function(){function e(){}return e.createValidationResult=function(D,t){return t?{valid:D,error:t}:{valid:D,error:null}},e.validateRegexp=function(D,t){if(D.startsWith(Ee.MASK_REGEX_RULE)&&D.endsWith(Ee.MASK_REGEX_RULE))try{new RegExp(D.slice(1,-1))}catch{throw new SyntaxError('Rule has invalid regex pattern: "'.concat(t,'"'))}},e.validate=function(D){var t=D.trim();if(!t||Nt.isComment(t))return e.createValidationResult(!0);if(Nt.isShort(t))return e.createValidationResult(!1,"Rule is too short: ".concat(t));try{if(Nt.isCosmetic(t))return new gn(t,0),e.createValidationResult(!0);var R=new It(t,0);e.validateRegexp(R.getPattern(),R.getText())}catch(P){var O='Error: "'.concat(P.message,'" in the rule: "').concat(t,'"');return e.createValidationResult(!1,O)}return e.createValidationResult(!0)},e}(),_d=function(){function e(){}return e.isRuleForDomain=function(D,t){var R=Nt.createRule(D,this.DUMMY_FILTER_ID);return R?R.matchesPermittedDomains(t):!1},e.isRuleForUrl=function(D,t){var R=yl(t);return R?this.isRuleForDomain(D,R):!1},e.DUMMY_FILTER_ID=0,e}();H.BufferRuleList=Od,H.CookieModifier=di,H.CosmeticEngine=Bu,H.CosmeticResult=Mu,H.CosmeticRule=gn,H.CosmeticRuleParser=li,H.DnsEngine=Fd,H.DnsResult=is,H.EXT_CSS_PSEUDO_INDICATORS=$n,H.Engine=Cd,H.HostRule=Ar,H.IndexedRule=os,H.IndexedStorageRule=us,H.LIST_ID_MAX_VALUE=en,H.MatchingResult=wr,H.NETWORK_RULE_OPTIONS=cr,H.NetworkEngine=bi,H.NetworkRule=It,H.OPTIONS_DELIMITER=fi,H.RemoveHeaderModifier=dr,H.RemoveParamModifier=lr,H.ReplaceModifier=Lu,H.Request=Di,H.RequestType=me,H.RuleConverter=jd,H.RuleFactory=Nt,H.RuleStorage=Rd,H.RuleSyntaxUtils=_d,H.RuleValidator=Pd,H.SimpleRegex=Ee,H.StringRuleList=Td,H.TSURLFILTER_VERSION=rl,H.cleanUrlParamByRegExp=ui,H.countEnabledBits=Er,H.fastHash=At,H.getBitCount=yi,H.getRelativeUrl=Pu,H.hasUnquotedSubstring=Nn,H.indexOfAny=ai,H.isCompatibleWith=Xe,H.isDomainName=ju,H.replaceAll=Mn,H.setConfiguration=al,H.setLogger=xd,H.splitByDelimiterWithEscapeCharacter=ri,H.startsAtIndexWith=Su,H.stringArraysEquals=Tu,H.stringArraysHaveIntersection=Ou,Object.defineProperty(H,"__esModule",{value:!0})})});var{setConfiguration:Hm,Engine:Zc,RuleStorage:Vm,StringRuleList:Um,Request:qm}=Qc(),Qa;self.adblockExt={};async function zm(){let H=await(await fetch("https://raw.githubusercontent.com/jerryn70/GoodbyeAds/master/Formats/GoodbyeAds-AdBlock-Filter.txt")).text(),Be=new Um(0,H,!1,!1),Zt=new Vm([Be]);Qa=new Zc(Zt),Hm({engine:"extension",version:"1.0.0",verbose:!0})}async function Xm(H){(!(Qa instanceof Zc)||Qa===void 0)&&await zm();let Be=H.request.url.includes("/service/")?self.__uv$config.decodeUrl(H.request.url.split("/service/")[1]):H.request.url,Zt=new qm(Be),wt=Qa.matchRequest(Zt);return console.log(Be),wt.basicRule!==null?(console.log("Blocking request to "+Be+" because of rule "+wt.basicRule.ruleText),null):wt}self.adblockExt.filterRequest=Xm;})(); diff --git a/public/marketplace/adblock/index.js.map b/public/marketplace/adblock/index.js.map new file mode 100644 index 0000000..365cc9a --- /dev/null +++ b/public/marketplace/adblock/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../node_modules/@adguard/tsurlfilter/dist/tsurlfilter.umd.js", "../src/index.js"], + "sourcesContent": ["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.tsUrlFilter = {}));\n})(this, (function (exports) { 'use strict';\n\n var extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n }\n\n var version = \"2.2.19\";\n\n var TSURLFILTER_VERSION = version;\n /**\n * Compatibility types are used to configure engine for better support of different libraries\n * For example:\n * extension doesn't support $app modifier. So if we set in configuration CompatibilityTypes.Extension,\n * engine would ignore rules with $app modifier\n */\n exports.CompatibilityTypes = void 0;\n (function (CompatibilityTypes) {\n CompatibilityTypes[CompatibilityTypes[\"Extension\"] = 1] = \"Extension\";\n CompatibilityTypes[CompatibilityTypes[\"CoreLibs\"] = 2] = \"CoreLibs\";\n CompatibilityTypes[CompatibilityTypes[\"Dns\"] = 4] = \"Dns\";\n })(exports.CompatibilityTypes || (exports.CompatibilityTypes = {}));\n /**\n * Application configuration class\n */\n var Configuration = /** @class */ (function () {\n function Configuration(inputConfig) {\n this.defaultConfig = {\n engine: null,\n version: null,\n verbose: false,\n compatibility: null,\n };\n /**\n * {'extension'|'corelibs'} engine application type\n */\n this.engine = null;\n /**\n * {string} version\n */\n this.version = null;\n /**\n * {boolean} verbose flag\n */\n this.verbose = false;\n /**\n * compatibility flag\n */\n this.compatibility = exports.CompatibilityTypes.Extension;\n var config = __assign(__assign({}, this.defaultConfig), inputConfig);\n this.engine = config.engine;\n this.version = config.version;\n this.verbose = config.verbose;\n this.compatibility = config.compatibility;\n }\n return Configuration;\n }());\n // eslint-disable-next-line import/no-mutable-exports\n exports.config = new Configuration();\n /**\n * Checks config is compatible with input level\n * @param compatibilityLevel\n * @private\n */\n function isCompatibleWith(compatibilityLevel) {\n if (exports.config.compatibility === null) {\n return false;\n }\n return (exports.config.compatibility & compatibilityLevel) === compatibilityLevel;\n }\n var setConfiguration = function (outerConfig) {\n exports.config = new Configuration(outerConfig);\n };\n\n function shareSameDomainSuffix(hostname, vhost) {\n if (hostname.endsWith(vhost)) {\n return (hostname.length === vhost.length ||\n hostname[hostname.length - vhost.length - 1] === '.');\n }\n return false;\n }\n function extractDomainWithSuffix(hostname, publicSuffix) {\n const publicSuffixIndex = hostname.length - publicSuffix.length - 2;\n const lastDotBeforeSuffixIndex = hostname.lastIndexOf('.', publicSuffixIndex);\n if (lastDotBeforeSuffixIndex === -1) {\n return hostname;\n }\n return hostname.slice(lastDotBeforeSuffixIndex + 1);\n }\n function getDomain(suffix, hostname, options) {\n if (options.validHosts !== null) {\n const validHosts = options.validHosts;\n for (let i = 0; i < validHosts.length; i += 1) {\n const vhost = validHosts[i];\n if ( shareSameDomainSuffix(hostname, vhost) === true) {\n return vhost;\n }\n }\n }\n if (suffix.length === hostname.length) {\n return null;\n }\n return extractDomainWithSuffix(hostname, suffix);\n }\n\n function getDomainWithoutSuffix(domain, suffix) {\n return domain.slice(0, -suffix.length - 1);\n }\n\n function extractHostname(url, urlIsValidHostname) {\n let start = 0;\n let end = url.length;\n let hasUpper = false;\n if (urlIsValidHostname === false) {\n if (url.startsWith('data:') === true) {\n return null;\n }\n while (start < url.length && url.charCodeAt(start) <= 32) {\n start += 1;\n }\n while (end > start + 1 && url.charCodeAt(end - 1) <= 32) {\n end -= 1;\n }\n if (url.charCodeAt(start) === 47 &&\n url.charCodeAt(start + 1) === 47 ) {\n start += 2;\n }\n else {\n const indexOfProtocol = url.indexOf(':/', start);\n if (indexOfProtocol !== -1) {\n const protocolSize = indexOfProtocol - start;\n const c0 = url.charCodeAt(start);\n const c1 = url.charCodeAt(start + 1);\n const c2 = url.charCodeAt(start + 2);\n const c3 = url.charCodeAt(start + 3);\n const c4 = url.charCodeAt(start + 4);\n if (protocolSize === 5 &&\n c0 === 104 &&\n c1 === 116 &&\n c2 === 116 &&\n c3 === 112 &&\n c4 === 115 ) ;\n else if (protocolSize === 4 &&\n c0 === 104 &&\n c1 === 116 &&\n c2 === 116 &&\n c3 === 112 ) ;\n else if (protocolSize === 3 &&\n c0 === 119 &&\n c1 === 115 &&\n c2 === 115 ) ;\n else if (protocolSize === 2 &&\n c0 === 119 &&\n c1 === 115 ) ;\n else {\n for (let i = start; i < indexOfProtocol; i += 1) {\n const lowerCaseCode = url.charCodeAt(i) | 32;\n if (((lowerCaseCode >= 97 && lowerCaseCode <= 122) ||\n (lowerCaseCode >= 48 && lowerCaseCode <= 57) ||\n lowerCaseCode === 46 ||\n lowerCaseCode === 45 ||\n lowerCaseCode === 43) === false\n ) {\n return null;\n }\n }\n }\n start = indexOfProtocol + 2;\n while (url.charCodeAt(start) === 47 ) {\n start += 1;\n }\n }\n }\n let indexOfIdentifier = -1;\n let indexOfClosingBracket = -1;\n let indexOfPort = -1;\n for (let i = start; i < end; i += 1) {\n const code = url.charCodeAt(i);\n if (code === 35 ||\n code === 47 ||\n code === 63\n ) {\n end = i;\n break;\n }\n else if (code === 64) {\n indexOfIdentifier = i;\n }\n else if (code === 93) {\n indexOfClosingBracket = i;\n }\n else if (code === 58) {\n indexOfPort = i;\n }\n else if (code >= 65 && code <= 90) {\n hasUpper = true;\n }\n }\n if (indexOfIdentifier !== -1 &&\n indexOfIdentifier > start &&\n indexOfIdentifier < end) {\n start = indexOfIdentifier + 1;\n }\n if (url.charCodeAt(start) === 91 ) {\n if (indexOfClosingBracket !== -1) {\n return url.slice(start + 1, indexOfClosingBracket).toLowerCase();\n }\n return null;\n }\n else if (indexOfPort !== -1 && indexOfPort > start && indexOfPort < end) {\n end = indexOfPort;\n }\n }\n while (end > start + 1 && url.charCodeAt(end - 1) === 46 ) {\n end -= 1;\n }\n const hostname = start !== 0 || end !== url.length ? url.slice(start, end) : url;\n if (hasUpper) {\n return hostname.toLowerCase();\n }\n return hostname;\n }\n\n function isProbablyIpv4(hostname) {\n if (hostname.length < 7) {\n return false;\n }\n if (hostname.length > 15) {\n return false;\n }\n let numberOfDots = 0;\n for (let i = 0; i < hostname.length; i += 1) {\n const code = hostname.charCodeAt(i);\n if (code === 46 ) {\n numberOfDots += 1;\n }\n else if (code < 48 || code > 57 ) {\n return false;\n }\n }\n return (numberOfDots === 3 &&\n hostname.charCodeAt(0) !== 46 &&\n hostname.charCodeAt(hostname.length - 1) !== 46 );\n }\n function isProbablyIpv6(hostname) {\n if (hostname.length < 3) {\n return false;\n }\n let start = hostname[0] === '[' ? 1 : 0;\n let end = hostname.length;\n if (hostname[end - 1] === ']') {\n end -= 1;\n }\n if (end - start > 39) {\n return false;\n }\n let hasColon = false;\n for (; start < end; start += 1) {\n const code = hostname.charCodeAt(start);\n if (code === 58 ) {\n hasColon = true;\n }\n else if (((code >= 48 && code <= 57) ||\n (code >= 97 && code <= 102) ||\n (code >= 65 && code <= 90)) ===\n false) {\n return false;\n }\n }\n return hasColon;\n }\n function isIp$1(hostname) {\n return isProbablyIpv6(hostname) || isProbablyIpv4(hostname);\n }\n\n function isValidAscii(code) {\n return ((code >= 97 && code <= 122) || (code >= 48 && code <= 57) || code > 127);\n }\n function isValidHostname (hostname) {\n if (hostname.length > 255) {\n return false;\n }\n if (hostname.length === 0) {\n return false;\n }\n if ( isValidAscii(hostname.charCodeAt(0)) === false) {\n return false;\n }\n let lastDotIndex = -1;\n let lastCharCode = -1;\n const len = hostname.length;\n for (let i = 0; i < len; i += 1) {\n const code = hostname.charCodeAt(i);\n if (code === 46 ) {\n if (\n i - lastDotIndex > 64 ||\n lastCharCode === 46 ||\n lastCharCode === 45 ||\n lastCharCode === 95) {\n return false;\n }\n lastDotIndex = i;\n }\n else if (( isValidAscii(code) || code === 45 || code === 95) ===\n false) {\n return false;\n }\n lastCharCode = code;\n }\n return (\n len - lastDotIndex - 1 <= 63 &&\n lastCharCode !== 45);\n }\n\n function setDefaultsImpl({ allowIcannDomains = true, allowPrivateDomains = false, detectIp = true, extractHostname = true, mixedInputs = true, validHosts = null, validateHostname = true, }) {\n return {\n allowIcannDomains,\n allowPrivateDomains,\n detectIp,\n extractHostname,\n mixedInputs,\n validHosts,\n validateHostname,\n };\n }\n const DEFAULT_OPTIONS = setDefaultsImpl({});\n function setDefaults(options) {\n if (options === undefined) {\n return DEFAULT_OPTIONS;\n }\n return setDefaultsImpl(options);\n }\n\n function getSubdomain(hostname, domain) {\n if (domain.length === hostname.length) {\n return '';\n }\n return hostname.slice(0, -domain.length - 1);\n }\n\n function getEmptyResult() {\n return {\n domain: null,\n domainWithoutSuffix: null,\n hostname: null,\n isIcann: null,\n isIp: null,\n isPrivate: null,\n publicSuffix: null,\n subdomain: null,\n };\n }\n function resetResult(result) {\n result.domain = null;\n result.domainWithoutSuffix = null;\n result.hostname = null;\n result.isIcann = null;\n result.isIp = null;\n result.isPrivate = null;\n result.publicSuffix = null;\n result.subdomain = null;\n }\n function parseImpl(url, step, suffixLookup, partialOptions, result) {\n const options = setDefaults(partialOptions);\n if (typeof url !== 'string') {\n return result;\n }\n if (options.extractHostname === false) {\n result.hostname = url;\n }\n else if (options.mixedInputs === true) {\n result.hostname = extractHostname(url, isValidHostname(url));\n }\n else {\n result.hostname = extractHostname(url, false);\n }\n if (step === 0 || result.hostname === null) {\n return result;\n }\n if (options.detectIp === true) {\n result.isIp = isIp$1(result.hostname);\n if (result.isIp === true) {\n return result;\n }\n }\n if (options.validateHostname === true &&\n options.extractHostname === true &&\n isValidHostname(result.hostname) === false) {\n result.hostname = null;\n return result;\n }\n suffixLookup(result.hostname, options, result);\n if (step === 2 || result.publicSuffix === null) {\n return result;\n }\n result.domain = getDomain(result.publicSuffix, result.hostname, options);\n if (step === 3 || result.domain === null) {\n return result;\n }\n result.subdomain = getSubdomain(result.hostname, result.domain);\n if (step === 4 ) {\n return result;\n }\n result.domainWithoutSuffix = getDomainWithoutSuffix(result.domain, result.publicSuffix);\n return result;\n }\n\n function fastPathLookup (hostname, options, out) {\n if (options.allowPrivateDomains === false && hostname.length > 3) {\n const last = hostname.length - 1;\n const c3 = hostname.charCodeAt(last);\n const c2 = hostname.charCodeAt(last - 1);\n const c1 = hostname.charCodeAt(last - 2);\n const c0 = hostname.charCodeAt(last - 3);\n if (c3 === 109 &&\n c2 === 111 &&\n c1 === 99 &&\n c0 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'com';\n return true;\n }\n else if (c3 === 103 &&\n c2 === 114 &&\n c1 === 111 &&\n c0 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'org';\n return true;\n }\n else if (c3 === 117 &&\n c2 === 100 &&\n c1 === 101 &&\n c0 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'edu';\n return true;\n }\n else if (c3 === 118 &&\n c2 === 111 &&\n c1 === 103 &&\n c0 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'gov';\n return true;\n }\n else if (c3 === 116 &&\n c2 === 101 &&\n c1 === 110 &&\n c0 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'net';\n return true;\n }\n else if (c3 === 101 &&\n c2 === 100 &&\n c1 === 46 ) {\n out.isIcann = true;\n out.isPrivate = false;\n out.publicSuffix = 'de';\n return true;\n }\n }\n return false;\n }\n\n const exceptions = (function () {\n const _0 = { \"$\": 1, \"succ\": {} }, _1 = { \"$\": 0, \"succ\": { \"city\": _0 } };\n const exceptions = { \"$\": 0, \"succ\": { \"ck\": { \"$\": 0, \"succ\": { \"www\": _0 } }, \"jp\": { \"$\": 0, \"succ\": { \"kawasaki\": _1, \"kitakyushu\": _1, \"kobe\": _1, \"nagoya\": _1, \"sapporo\": _1, \"sendai\": _1, \"yokohama\": _1 } } } };\n return exceptions;\n })();\n const rules = (function () {\n const _2 = { \"$\": 1, \"succ\": {} }, _3 = { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"net\": _2, \"mil\": _2, \"org\": _2 } }, _4 = { \"$\": 2, \"succ\": {} }, _5 = { \"$\": 1, \"succ\": { \"blogspot\": _4 } }, _6 = { \"$\": 1, \"succ\": { \"gov\": _2 } }, _7 = { \"$\": 0, \"succ\": { \"*\": _4 } }, _8 = { \"$\": 0, \"succ\": { \"*\": _2 } }, _9 = { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"net\": _2, \"org\": _2, \"gov\": _2 } }, _10 = { \"$\": 1, \"succ\": { \"co\": _4 } }, _11 = { \"$\": 1, \"succ\": { \"ng\": _4 } }, _12 = { \"$\": 0, \"succ\": { \"s3\": _4 } }, _13 = { \"$\": 0, \"succ\": { \"dualstack\": _12 } }, _14 = { \"$\": 0, \"succ\": { \"s3\": _4, \"dualstack\": _12, \"s3-website\": _4 } }, _15 = { \"$\": 0, \"succ\": { \"apps\": _4 } }, _16 = { \"$\": 0, \"succ\": { \"app\": _4 } }, _17 = { \"$\": 0, \"succ\": { \"j\": _4 } }, _18 = { \"$\": 0, \"succ\": { \"user\": _4 } }, _19 = { \"$\": 1, \"succ\": { \"ybo\": _4 } }, _20 = { \"$\": 1, \"succ\": { \"gov\": _2, \"blogspot\": _4, \"nym\": _4 } }, _21 = { \"$\": 0, \"succ\": { \"cust\": _4 } }, _22 = { \"$\": 1, \"succ\": { \"edu\": _2, \"biz\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"info\": _2, \"com\": _2 } }, _23 = { \"$\": 1, \"succ\": { \"blogspot\": _4, \"nym\": _4 } }, _24 = { \"$\": 1, \"succ\": { \"for\": _4 } }, _25 = { \"$\": 1, \"succ\": { \"barsy\": _4 } }, _26 = { \"$\": 0, \"succ\": { \"forgot\": _4 } }, _27 = { \"$\": 0, \"succ\": { \"jelastic\": _4 } }, _28 = { \"$\": 1, \"succ\": { \"gs\": _2 } }, _29 = { \"$\": 0, \"succ\": { \"nes\": _2 } }, _30 = { \"$\": 1, \"succ\": { \"k12\": _2, \"cc\": _2, \"lib\": _2 } }, _31 = { \"$\": 1, \"succ\": { \"cc\": _2, \"lib\": _2 } };\n const rules = { \"$\": 0, \"succ\": { \"ac\": _3, \"ad\": { \"$\": 1, \"succ\": { \"nom\": _2 } }, \"ae\": { \"$\": 1, \"succ\": { \"co\": _2, \"net\": _2, \"org\": _2, \"sch\": _2, \"ac\": _2, \"gov\": _2, \"mil\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"aero\": { \"$\": 1, \"succ\": { \"accident-investigation\": _2, \"accident-prevention\": _2, \"aerobatic\": _2, \"aeroclub\": _2, \"aerodrome\": _2, \"agents\": _2, \"aircraft\": _2, \"airline\": _2, \"airport\": _2, \"air-surveillance\": _2, \"airtraffic\": _2, \"air-traffic-control\": _2, \"ambulance\": _2, \"amusement\": _2, \"association\": _2, \"author\": _2, \"ballooning\": _2, \"broker\": _2, \"caa\": _2, \"cargo\": _2, \"catering\": _2, \"certification\": _2, \"championship\": _2, \"charter\": _2, \"civilaviation\": _2, \"club\": _2, \"conference\": _2, \"consultant\": _2, \"consulting\": _2, \"control\": _2, \"council\": _2, \"crew\": _2, \"design\": _2, \"dgca\": _2, \"educator\": _2, \"emergency\": _2, \"engine\": _2, \"engineer\": _2, \"entertainment\": _2, \"equipment\": _2, \"exchange\": _2, \"express\": _2, \"federation\": _2, \"flight\": _2, \"fuel\": _2, \"gliding\": _2, \"government\": _2, \"groundhandling\": _2, \"group\": _2, \"hanggliding\": _2, \"homebuilt\": _2, \"insurance\": _2, \"journal\": _2, \"journalist\": _2, \"leasing\": _2, \"logistics\": _2, \"magazine\": _2, \"maintenance\": _2, \"media\": _2, \"microlight\": _2, \"modelling\": _2, \"navigation\": _2, \"parachuting\": _2, \"paragliding\": _2, \"passenger-association\": _2, \"pilot\": _2, \"press\": _2, \"production\": _2, \"recreation\": _2, \"repbody\": _2, \"res\": _2, \"research\": _2, \"rotorcraft\": _2, \"safety\": _2, \"scientist\": _2, \"services\": _2, \"show\": _2, \"skydiving\": _2, \"software\": _2, \"student\": _2, \"trader\": _2, \"trading\": _2, \"trainer\": _2, \"union\": _2, \"workinggroup\": _2, \"works\": _2 } }, \"af\": { \"$\": 1, \"succ\": { \"gov\": _2, \"com\": _2, \"org\": _2, \"net\": _2, \"edu\": _2, \"nom\": _4 } }, \"ag\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"net\": _2, \"co\": _2, \"nom\": _2 } }, \"ai\": { \"$\": 1, \"succ\": { \"off\": _2, \"com\": _2, \"net\": _2, \"org\": _2, \"uwu\": _4, \"nom\": _4 } }, \"al\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"am\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"commune\": _2, \"net\": _2, \"org\": _2, \"blogspot\": _4, \"neko\": _4, \"nyaa\": _4 } }, \"ao\": { \"$\": 1, \"succ\": { \"ed\": _2, \"gv\": _2, \"og\": _2, \"co\": _2, \"pb\": _2, \"it\": _2 } }, \"aq\": _2, \"ar\": { \"$\": 1, \"succ\": { \"com\": _5, \"edu\": _2, \"gob\": _2, \"gov\": _2, \"int\": _2, \"mil\": _2, \"musica\": _2, \"net\": _2, \"org\": _2, \"tur\": _2 } }, \"arpa\": { \"$\": 1, \"succ\": { \"e164\": _2, \"in-addr\": _2, \"ip6\": _2, \"iris\": _2, \"uri\": _2, \"urn\": _2 } }, \"as\": _6, \"asia\": { \"$\": 1, \"succ\": { \"cloudns\": _4 } }, \"at\": { \"$\": 1, \"succ\": { \"ac\": { \"$\": 1, \"succ\": { \"sth\": _2 } }, \"co\": _5, \"gv\": _2, \"or\": _2, \"funkfeuer\": { \"$\": 0, \"succ\": { \"wien\": _4 } }, \"futurecms\": { \"$\": 0, \"succ\": { \"*\": _4, \"ex\": _7, \"in\": _7 } }, \"futurehosting\": _4, \"futuremailing\": _4, \"ortsinfo\": { \"$\": 0, \"succ\": { \"ex\": _7, \"kunden\": _7 } }, \"biz\": _4, \"info\": _4, \"priv\": _4, \"12hp\": _4, \"2ix\": _4, \"4lima\": _4, \"lima-city\": _4 } }, \"au\": { \"$\": 1, \"succ\": { \"com\": _5, \"net\": _2, \"org\": _2, \"edu\": { \"$\": 1, \"succ\": { \"act\": _2, \"catholic\": _2, \"nsw\": { \"$\": 1, \"succ\": { \"schools\": _2 } }, \"nt\": _2, \"qld\": _2, \"sa\": _2, \"tas\": _2, \"vic\": _2, \"wa\": _2 } }, \"gov\": { \"$\": 1, \"succ\": { \"qld\": _2, \"sa\": _2, \"tas\": _2, \"vic\": _2, \"wa\": _2 } }, \"asn\": _2, \"id\": _2, \"info\": _2, \"conf\": _2, \"oz\": _2, \"act\": _2, \"nsw\": _2, \"nt\": _2, \"qld\": _2, \"sa\": _2, \"tas\": _2, \"vic\": _2, \"wa\": _2 } }, \"aw\": { \"$\": 1, \"succ\": { \"com\": _2 } }, \"ax\": { \"$\": 1, \"succ\": { \"be\": _4, \"cat\": _4, \"es\": _4, \"eu\": _4, \"gg\": _4, \"mc\": _4, \"us\": _4, \"xy\": _4 } }, \"az\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"int\": _2, \"gov\": _2, \"org\": _2, \"edu\": _2, \"info\": _2, \"pp\": _2, \"mil\": _2, \"name\": _2, \"pro\": _2, \"biz\": _2 } }, \"ba\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"blogspot\": _4 } }, \"bb\": { \"$\": 1, \"succ\": { \"biz\": _2, \"co\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"info\": _2, \"net\": _2, \"org\": _2, \"store\": _2, \"tv\": _2 } }, \"bd\": _8, \"be\": { \"$\": 1, \"succ\": { \"ac\": _2, \"webhosting\": _4, \"blogspot\": _4, \"transurl\": _7 } }, \"bf\": _6, \"bg\": { \"$\": 1, \"succ\": { \"0\": _2, \"1\": _2, \"2\": _2, \"3\": _2, \"4\": _2, \"5\": _2, \"6\": _2, \"7\": _2, \"8\": _2, \"9\": _2, \"a\": _2, \"b\": _2, \"c\": _2, \"d\": _2, \"e\": _2, \"f\": _2, \"g\": _2, \"h\": _2, \"i\": _2, \"j\": _2, \"k\": _2, \"l\": _2, \"m\": _2, \"n\": _2, \"o\": _2, \"p\": _2, \"q\": _2, \"r\": _2, \"s\": _2, \"t\": _2, \"u\": _2, \"v\": _2, \"w\": _2, \"x\": _2, \"y\": _2, \"z\": _2, \"blogspot\": _4, \"barsy\": _4 } }, \"bh\": _9, \"bi\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"edu\": _2, \"or\": _2, \"org\": _2 } }, \"biz\": { \"$\": 1, \"succ\": { \"cloudns\": _4, \"dyndns\": _4, \"for-better\": _4, \"for-more\": _4, \"for-some\": _4, \"for-the\": _4, \"selfip\": _4, \"webhop\": _4, \"bpl\": _4, \"orx\": _4, \"mmafan\": _4, \"myftp\": _4, \"no-ip\": _4, \"dscloud\": _4 } }, \"bj\": { \"$\": 1, \"succ\": { \"asso\": _2, \"barreau\": _2, \"gouv\": _2, \"blogspot\": _4 } }, \"bm\": _9, \"bn\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"co\": _4 } }, \"bo\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gob\": _2, \"int\": _2, \"org\": _2, \"net\": _2, \"mil\": _2, \"tv\": _2, \"web\": _2, \"academia\": _2, \"agro\": _2, \"arte\": _2, \"blog\": _2, \"bolivia\": _2, \"ciencia\": _2, \"cooperativa\": _2, \"democracia\": _2, \"deporte\": _2, \"ecologia\": _2, \"economia\": _2, \"empresa\": _2, \"indigena\": _2, \"industria\": _2, \"info\": _2, \"medicina\": _2, \"movimiento\": _2, \"musica\": _2, \"natural\": _2, \"nombre\": _2, \"noticias\": _2, \"patria\": _2, \"politica\": _2, \"profesional\": _2, \"plurinacional\": _2, \"pueblo\": _2, \"revista\": _2, \"salud\": _2, \"tecnologia\": _2, \"tksat\": _2, \"transporte\": _2, \"wiki\": _2 } }, \"br\": { \"$\": 1, \"succ\": { \"9guacu\": _2, \"abc\": _2, \"adm\": _2, \"adv\": _2, \"agr\": _2, \"aju\": _2, \"am\": _2, \"anani\": _2, \"aparecida\": _2, \"app\": _2, \"arq\": _2, \"art\": _2, \"ato\": _2, \"b\": _2, \"barueri\": _2, \"belem\": _2, \"bhz\": _2, \"bib\": _2, \"bio\": _2, \"blog\": _2, \"bmd\": _2, \"boavista\": _2, \"bsb\": _2, \"campinagrande\": _2, \"campinas\": _2, \"caxias\": _2, \"cim\": _2, \"cng\": _2, \"cnt\": _2, \"com\": _5, \"contagem\": _2, \"coop\": _2, \"coz\": _2, \"cri\": _2, \"cuiaba\": _2, \"curitiba\": _2, \"def\": _2, \"des\": _2, \"det\": _2, \"dev\": _2, \"ecn\": _2, \"eco\": _2, \"edu\": _2, \"emp\": _2, \"enf\": _2, \"eng\": _2, \"esp\": _2, \"etc\": _2, \"eti\": _2, \"far\": _2, \"feira\": _2, \"flog\": _2, \"floripa\": _2, \"fm\": _2, \"fnd\": _2, \"fortal\": _2, \"fot\": _2, \"foz\": _2, \"fst\": _2, \"g12\": _2, \"geo\": _2, \"ggf\": _2, \"goiania\": _2, \"gov\": { \"$\": 1, \"succ\": { \"ac\": _2, \"al\": _2, \"am\": _2, \"ap\": _2, \"ba\": _2, \"ce\": _2, \"df\": _2, \"es\": _2, \"go\": _2, \"ma\": _2, \"mg\": _2, \"ms\": _2, \"mt\": _2, \"pa\": _2, \"pb\": _2, \"pe\": _2, \"pi\": _2, \"pr\": _2, \"rj\": _2, \"rn\": _2, \"ro\": _2, \"rr\": _2, \"rs\": _2, \"sc\": _2, \"se\": _2, \"sp\": _2, \"to\": _2 } }, \"gru\": _2, \"imb\": _2, \"ind\": _2, \"inf\": _2, \"jab\": _2, \"jampa\": _2, \"jdf\": _2, \"joinville\": _2, \"jor\": _2, \"jus\": _2, \"leg\": { \"$\": 1, \"succ\": { \"ac\": _4, \"al\": _4, \"am\": _4, \"ap\": _4, \"ba\": _4, \"ce\": _4, \"df\": _4, \"es\": _4, \"go\": _4, \"ma\": _4, \"mg\": _4, \"ms\": _4, \"mt\": _4, \"pa\": _4, \"pb\": _4, \"pe\": _4, \"pi\": _4, \"pr\": _4, \"rj\": _4, \"rn\": _4, \"ro\": _4, \"rr\": _4, \"rs\": _4, \"sc\": _4, \"se\": _4, \"sp\": _4, \"to\": _4 } }, \"lel\": _2, \"log\": _2, \"londrina\": _2, \"macapa\": _2, \"maceio\": _2, \"manaus\": _2, \"maringa\": _2, \"mat\": _2, \"med\": _2, \"mil\": _2, \"morena\": _2, \"mp\": _2, \"mus\": _2, \"natal\": _2, \"net\": _2, \"niteroi\": _2, \"nom\": _8, \"not\": _2, \"ntr\": _2, \"odo\": _2, \"ong\": _2, \"org\": _2, \"osasco\": _2, \"palmas\": _2, \"poa\": _2, \"ppg\": _2, \"pro\": _2, \"psc\": _2, \"psi\": _2, \"pvh\": _2, \"qsl\": _2, \"radio\": _2, \"rec\": _2, \"recife\": _2, \"rep\": _2, \"ribeirao\": _2, \"rio\": _2, \"riobranco\": _2, \"riopreto\": _2, \"salvador\": _2, \"sampa\": _2, \"santamaria\": _2, \"santoandre\": _2, \"saobernardo\": _2, \"saogonca\": _2, \"seg\": _2, \"sjc\": _2, \"slg\": _2, \"slz\": _2, \"sorocaba\": _2, \"srv\": _2, \"taxi\": _2, \"tc\": _2, \"tec\": _2, \"teo\": _2, \"the\": _2, \"tmp\": _2, \"trd\": _2, \"tur\": _2, \"tv\": _2, \"udi\": _2, \"vet\": _2, \"vix\": _2, \"vlog\": _2, \"wiki\": _2, \"zlg\": _2 } }, \"bs\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2, \"we\": _4 } }, \"bt\": _9, \"bv\": _2, \"bw\": { \"$\": 1, \"succ\": { \"co\": _2, \"org\": _2 } }, \"by\": { \"$\": 1, \"succ\": { \"gov\": _2, \"mil\": _2, \"com\": _5, \"of\": _2, \"nym\": _4 } }, \"bz\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2, \"za\": _4, \"nom\": _4, \"nym\": _4 } }, \"ca\": { \"$\": 1, \"succ\": { \"ab\": _2, \"bc\": _2, \"mb\": _2, \"nb\": _2, \"nf\": _2, \"nl\": _2, \"ns\": _2, \"nt\": _2, \"nu\": _2, \"on\": _2, \"pe\": _2, \"qc\": _2, \"sk\": _2, \"yk\": _2, \"gc\": _2, \"barsy\": _4, \"awdev\": _7, \"co\": _4, \"blogspot\": _4, \"no-ip\": _4 } }, \"cat\": _2, \"cc\": { \"$\": 1, \"succ\": { \"cloudns\": _4, \"ftpaccess\": _4, \"game-server\": _4, \"myphotos\": _4, \"scrapping\": _4, \"twmail\": _4, \"csx\": _4, \"fantasyleague\": _4 } }, \"cd\": _6, \"cf\": _5, \"cg\": _2, \"ch\": { \"$\": 1, \"succ\": { \"square7\": _4, \"blogspot\": _4, \"linkyard-cloud\": _4, \"dnsking\": _4, \"gotdns\": _4, \"12hp\": _4, \"2ix\": _4, \"4lima\": _4, \"lima-city\": _4 } }, \"ci\": { \"$\": 1, \"succ\": { \"org\": _2, \"or\": _2, \"com\": _2, \"co\": _2, \"edu\": _2, \"ed\": _2, \"ac\": _2, \"net\": _2, \"go\": _2, \"asso\": _2, \"xn--aroport-bya\": _2, \"a\u00E9roport\": _2, \"int\": _2, \"presse\": _2, \"md\": _2, \"gouv\": _2, \"fin\": _4, \"nl\": _4 } }, \"ck\": _8, \"cl\": { \"$\": 1, \"succ\": { \"aprendemas\": _2, \"co\": _2, \"gob\": _2, \"gov\": _2, \"mil\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"cm\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"gov\": _2, \"net\": _2 } }, \"cn\": { \"$\": 1, \"succ\": { \"ac\": _2, \"com\": { \"$\": 1, \"succ\": { \"amazonaws\": { \"$\": 0, \"succ\": { \"compute\": _7, \"eb\": { \"$\": 0, \"succ\": { \"cn-north-1\": _4, \"cn-northwest-1\": _4 } }, \"elb\": _7, \"cn-north-1\": _12 } } } }, \"edu\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"mil\": _2, \"xn--55qx5d\": _2, \"\u516C\u53F8\": _2, \"xn--io0a7i\": _2, \"\u7F51\u7EDC\": _2, \"xn--od0alg\": _2, \"\u7DB2\u7D61\": _2, \"ah\": _2, \"bj\": _2, \"cq\": _2, \"fj\": _2, \"gd\": _2, \"gs\": _2, \"gz\": _2, \"gx\": _2, \"ha\": _2, \"hb\": _2, \"he\": _2, \"hi\": _2, \"hl\": _2, \"hn\": _2, \"jl\": _2, \"js\": _2, \"jx\": _2, \"ln\": _2, \"nm\": _2, \"nx\": _2, \"qh\": _2, \"sc\": _2, \"sd\": _2, \"sh\": _2, \"sn\": _2, \"sx\": _2, \"tj\": _2, \"xj\": _2, \"xz\": _2, \"yn\": _2, \"zj\": _2, \"hk\": _2, \"mo\": _2, \"tw\": _2, \"instantcloud\": _4 } }, \"co\": { \"$\": 1, \"succ\": { \"arts\": _2, \"com\": _5, \"edu\": _2, \"firm\": _2, \"gov\": _2, \"info\": _2, \"int\": _2, \"mil\": _2, \"net\": _2, \"nom\": _2, \"org\": _2, \"rec\": _2, \"web\": _2, \"carrd\": _4, \"crd\": _4, \"otap\": _7, \"leadpages\": _4, \"lpages\": _4, \"mypi\": _4, \"n4t\": _4, \"nodum\": _4, \"repl\": _4 } }, \"com\": { \"$\": 1, \"succ\": { \"adobeaemcloud\": { \"$\": 2, \"succ\": { \"dev\": _7 } }, \"kasserver\": _4, \"amazonaws\": { \"$\": 0, \"succ\": { \"compute\": _7, \"compute-1\": _7, \"us-east-1\": { \"$\": 2, \"succ\": { \"dualstack\": _12 } }, \"elb\": _7, \"s3\": _4, \"s3-ap-northeast-1\": _4, \"s3-ap-northeast-2\": _4, \"s3-ap-south-1\": _4, \"s3-ap-southeast-1\": _4, \"s3-ap-southeast-2\": _4, \"s3-ca-central-1\": _4, \"s3-eu-central-1\": _4, \"s3-eu-west-1\": _4, \"s3-eu-west-2\": _4, \"s3-eu-west-3\": _4, \"s3-external-1\": _4, \"s3-fips-us-gov-west-1\": _4, \"s3-sa-east-1\": _4, \"s3-us-gov-west-1\": _4, \"s3-us-east-2\": _4, \"s3-us-west-1\": _4, \"s3-us-west-2\": _4, \"ap-northeast-2\": _14, \"ap-south-1\": _14, \"ca-central-1\": _14, \"eu-central-1\": _14, \"eu-west-2\": _14, \"eu-west-3\": _14, \"us-east-2\": _14, \"ap-northeast-1\": _13, \"ap-southeast-1\": _13, \"ap-southeast-2\": _13, \"eu-west-1\": _13, \"sa-east-1\": _13, \"s3-website-us-east-1\": _4, \"s3-website-us-west-1\": _4, \"s3-website-us-west-2\": _4, \"s3-website-ap-northeast-1\": _4, \"s3-website-ap-southeast-1\": _4, \"s3-website-ap-southeast-2\": _4, \"s3-website-eu-west-1\": _4, \"s3-website-sa-east-1\": _4 } }, \"elasticbeanstalk\": { \"$\": 2, \"succ\": { \"ap-northeast-1\": _4, \"ap-northeast-2\": _4, \"ap-northeast-3\": _4, \"ap-south-1\": _4, \"ap-southeast-1\": _4, \"ap-southeast-2\": _4, \"ca-central-1\": _4, \"eu-central-1\": _4, \"eu-west-1\": _4, \"eu-west-2\": _4, \"eu-west-3\": _4, \"sa-east-1\": _4, \"us-east-1\": _4, \"us-east-2\": _4, \"us-gov-west-1\": _4, \"us-west-1\": _4, \"us-west-2\": _4 } }, \"on-aptible\": _4, \"myasustor\": _4, \"balena-devices\": _4, \"betainabox\": _4, \"bplaced\": _4, \"ar\": _4, \"br\": _4, \"cn\": _4, \"de\": _4, \"eu\": _4, \"gb\": _4, \"hu\": _4, \"jpn\": _4, \"kr\": _4, \"mex\": _4, \"no\": _4, \"qc\": _4, \"ru\": _4, \"sa\": _4, \"uk\": _4, \"us\": _4, \"uy\": _4, \"za\": _4, \"africa\": _4, \"gr\": _4, \"co\": _4, \"xenapponazure\": _4, \"jdevcloud\": _4, \"wpdevcloud\": _4, \"cloudcontrolled\": _4, \"cloudcontrolapp\": _4, \"trycloudflare\": _4, \"customer-oci\": { \"$\": 0, \"succ\": { \"*\": _4, \"oci\": _7, \"ocp\": _7, \"ocs\": _7 } }, \"dattolocal\": _4, \"dattorelay\": _4, \"dattoweb\": _4, \"mydatto\": _4, \"builtwithdark\": _4, \"drayddns\": _4, \"dreamhosters\": _4, \"mydrobo\": _4, \"dyndns-at-home\": _4, \"dyndns-at-work\": _4, \"dyndns-blog\": _4, \"dyndns-free\": _4, \"dyndns-home\": _4, \"dyndns-ip\": _4, \"dyndns-mail\": _4, \"dyndns-office\": _4, \"dyndns-pics\": _4, \"dyndns-remote\": _4, \"dyndns-server\": _4, \"dyndns-web\": _4, \"dyndns-wiki\": _4, \"dyndns-work\": _4, \"blogdns\": _4, \"cechire\": _4, \"dnsalias\": _4, \"dnsdojo\": _4, \"doesntexist\": _4, \"dontexist\": _4, \"doomdns\": _4, \"dyn-o-saur\": _4, \"dynalias\": _4, \"est-a-la-maison\": _4, \"est-a-la-masion\": _4, \"est-le-patron\": _4, \"est-mon-blogueur\": _4, \"from-ak\": _4, \"from-al\": _4, \"from-ar\": _4, \"from-ca\": _4, \"from-ct\": _4, \"from-dc\": _4, \"from-de\": _4, \"from-fl\": _4, \"from-ga\": _4, \"from-hi\": _4, \"from-ia\": _4, \"from-id\": _4, \"from-il\": _4, \"from-in\": _4, \"from-ks\": _4, \"from-ky\": _4, \"from-ma\": _4, \"from-md\": _4, \"from-mi\": _4, \"from-mn\": _4, \"from-mo\": _4, \"from-ms\": _4, \"from-mt\": _4, \"from-nc\": _4, \"from-nd\": _4, \"from-ne\": _4, \"from-nh\": _4, \"from-nj\": _4, \"from-nm\": _4, \"from-nv\": _4, \"from-oh\": _4, \"from-ok\": _4, \"from-or\": _4, \"from-pa\": _4, \"from-pr\": _4, \"from-ri\": _4, \"from-sc\": _4, \"from-sd\": _4, \"from-tn\": _4, \"from-tx\": _4, \"from-ut\": _4, \"from-va\": _4, \"from-vt\": _4, \"from-wa\": _4, \"from-wi\": _4, \"from-wv\": _4, \"from-wy\": _4, \"getmyip\": _4, \"gotdns\": _4, \"hobby-site\": _4, \"homelinux\": _4, \"homeunix\": _4, \"iamallama\": _4, \"is-a-anarchist\": _4, \"is-a-blogger\": _4, \"is-a-bookkeeper\": _4, \"is-a-bulls-fan\": _4, \"is-a-caterer\": _4, \"is-a-chef\": _4, \"is-a-conservative\": _4, \"is-a-cpa\": _4, \"is-a-cubicle-slave\": _4, \"is-a-democrat\": _4, \"is-a-designer\": _4, \"is-a-doctor\": _4, \"is-a-financialadvisor\": _4, \"is-a-geek\": _4, \"is-a-green\": _4, \"is-a-guru\": _4, \"is-a-hard-worker\": _4, \"is-a-hunter\": _4, \"is-a-landscaper\": _4, \"is-a-lawyer\": _4, \"is-a-liberal\": _4, \"is-a-libertarian\": _4, \"is-a-llama\": _4, \"is-a-musician\": _4, \"is-a-nascarfan\": _4, \"is-a-nurse\": _4, \"is-a-painter\": _4, \"is-a-personaltrainer\": _4, \"is-a-photographer\": _4, \"is-a-player\": _4, \"is-a-republican\": _4, \"is-a-rockstar\": _4, \"is-a-socialist\": _4, \"is-a-student\": _4, \"is-a-teacher\": _4, \"is-a-techie\": _4, \"is-a-therapist\": _4, \"is-an-accountant\": _4, \"is-an-actor\": _4, \"is-an-actress\": _4, \"is-an-anarchist\": _4, \"is-an-artist\": _4, \"is-an-engineer\": _4, \"is-an-entertainer\": _4, \"is-certified\": _4, \"is-gone\": _4, \"is-into-anime\": _4, \"is-into-cars\": _4, \"is-into-cartoons\": _4, \"is-into-games\": _4, \"is-leet\": _4, \"is-not-certified\": _4, \"is-slick\": _4, \"is-uberleet\": _4, \"is-with-theband\": _4, \"isa-geek\": _4, \"isa-hockeynut\": _4, \"issmarterthanyou\": _4, \"likes-pie\": _4, \"likescandy\": _4, \"neat-url\": _4, \"saves-the-whales\": _4, \"selfip\": _4, \"sells-for-less\": _4, \"sells-for-u\": _4, \"servebbs\": _4, \"simple-url\": _4, \"space-to-rent\": _4, \"teaches-yoga\": _4, \"writesthisblog\": _4, \"ddnsfree\": _4, \"ddnsgeek\": _4, \"giize\": _4, \"gleeze\": _4, \"kozow\": _4, \"loseyourip\": _4, \"ooguy\": _4, \"theworkpc\": _4, \"mytuleap\": _4, \"evennode\": { \"$\": 0, \"succ\": { \"eu-1\": _4, \"eu-2\": _4, \"eu-3\": _4, \"eu-4\": _4, \"us-1\": _4, \"us-2\": _4, \"us-3\": _4, \"us-4\": _4 } }, \"onfabrica\": _4, \"fbsbx\": _15, \"fastly-terrarium\": _4, \"fastvps-server\": _4, \"mydobiss\": _4, \"firebaseapp\": _4, \"freebox-os\": _4, \"freeboxos\": _4, \"gentapps\": _4, \"gentlentapis\": _4, \"githubusercontent\": _4, \"0emm\": _7, \"appspot\": { \"$\": 2, \"succ\": { \"r\": _7 } }, \"blogspot\": _4, \"codespot\": _4, \"googleapis\": _4, \"googlecode\": _4, \"pagespeedmobilizer\": _4, \"publishproxy\": _4, \"withgoogle\": _4, \"withyoutube\": _4, \"awsmppl\": _4, \"herokuapp\": _4, \"herokussl\": _4, \"myravendb\": _4, \"pixolino\": _4, \"dopaas\": _4, \"hidora\": _4, \"ik-server\": { \"$\": 0, \"succ\": { \"jcloud\": _4 } }, \"jelastic\": { \"$\": 0, \"succ\": { \"demo\": _4 } }, \"joyent\": { \"$\": 0, \"succ\": { \"cns\": _7 } }, \"lpusercontent\": _4, \"lmpm\": _16, \"linode\": { \"$\": 0, \"succ\": { \"members\": _4, \"nodebalancer\": _7 } }, \"linodeobjects\": _7, \"barsycenter\": _4, \"barsyonline\": _4, \"miniserver\": _4, \"meteorapp\": { \"$\": 2, \"succ\": { \"eu\": _4 } }, \"4u\": _4, \"nfshost\": _4, \"001www\": _4, \"ddnslive\": _4, \"myiphost\": _4, \"blogsyte\": _4, \"ciscofreak\": _4, \"damnserver\": _4, \"ditchyourip\": _4, \"dnsiskinky\": _4, \"dynns\": _4, \"geekgalaxy\": _4, \"health-carereform\": _4, \"homesecuritymac\": _4, \"homesecuritypc\": _4, \"myactivedirectory\": _4, \"mysecuritycamera\": _4, \"net-freaks\": _4, \"onthewifi\": _4, \"point2this\": _4, \"quicksytes\": _4, \"securitytactics\": _4, \"serveexchange\": _4, \"servehumour\": _4, \"servep2p\": _4, \"servesarcasm\": _4, \"stufftoread\": _4, \"unusualperson\": _4, \"workisboring\": _4, \"3utilities\": _4, \"ddnsking\": _4, \"myvnc\": _4, \"servebeer\": _4, \"servecounterstrike\": _4, \"serveftp\": _4, \"servegame\": _4, \"servehalflife\": _4, \"servehttp\": _4, \"serveirc\": _4, \"servemp3\": _4, \"servepics\": _4, \"servequake\": _4, \"observableusercontent\": { \"$\": 0, \"succ\": { \"static\": _4 } }, \"operaunite\": _4, \"skygearapp\": _4, \"outsystemscloud\": _4, \"ownprovider\": _4, \"pgfog\": _4, \"pagefrontapp\": _4, \"pagexl\": _4, \"gotpantheon\": _4, \"platter-app\": _4, \"pleskns\": _4, \"prgmr\": { \"$\": 0, \"succ\": { \"xen\": _4 } }, \"qualifioapp\": _4, \"qbuser\": _4, \"qa2\": _4, \"dev-myqnapcloud\": _4, \"alpha-myqnapcloud\": _4, \"myqnapcloud\": _4, \"quipelements\": _7, \"rackmaze\": _4, \"rhcloud\": _4, \"render\": _16, \"onrender\": _4, \"logoip\": _4, \"scrysec\": _4, \"firewall-gateway\": _4, \"myshopblocks\": _4, \"shopitsite\": _4, \"1kapp\": _4, \"appchizi\": _4, \"applinzi\": _4, \"sinaapp\": _4, \"vipsinaapp\": _4, \"bounty-full\": { \"$\": 2, \"succ\": { \"alpha\": _4, \"beta\": _4 } }, \"stackhero-network\": _4, \"playstation-cloud\": _4, \"stdlib\": { \"$\": 0, \"succ\": { \"api\": _4 } }, \"temp-dns\": _4, \"dsmynas\": _4, \"familyds\": _4, \"thingdustdata\": _4, \"bloxcms\": _4, \"townnews-staging\": _4, \"hk\": _4, \"wafflecell\": _4, \"remotewd\": _4, \"wiardweb\": { \"$\": 0, \"succ\": { \"pages\": _4 } }, \"xnbay\": { \"$\": 2, \"succ\": { \"u2\": _4, \"u2-local\": _4 } }, \"yolasite\": _4, \"wpenginepowered\": _4, \"impertrixcdn\": _4, \"impertrix\": _4 } }, \"coop\": _2, \"cr\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"ed\": _2, \"fi\": _2, \"go\": _2, \"or\": _2, \"sa\": _2 } }, \"cu\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"org\": _2, \"net\": _2, \"gov\": _2, \"inf\": _2 } }, \"cv\": _5, \"cw\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"net\": _2, \"org\": _2 } }, \"cx\": { \"$\": 1, \"succ\": { \"gov\": _2, \"ath\": _4, \"info\": _4 } }, \"cy\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"com\": { \"$\": 1, \"succ\": { \"blogspot\": _4, \"scaleforce\": _17 } }, \"ekloges\": _2, \"gov\": _2, \"ltd\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"parliament\": _2, \"press\": _2, \"pro\": _2, \"tm\": _2 } }, \"cz\": { \"$\": 1, \"succ\": { \"co\": _4, \"realm\": _4, \"e4\": _4, \"blogspot\": _4, \"metacentrum\": { \"$\": 0, \"succ\": { \"cloud\": _4, \"custom\": _4 } }, \"muni\": { \"$\": 0, \"succ\": { \"cloud\": { \"$\": 0, \"succ\": { \"flt\": _4, \"usr\": _4 } } } } } }, \"de\": { \"$\": 1, \"succ\": { \"bplaced\": _4, \"square7\": _4, \"com\": _4, \"cosidns\": { \"$\": 0, \"succ\": { \"dyn\": _4 } }, \"dynamisches-dns\": _4, \"dnsupdater\": _4, \"internet-dns\": _4, \"l-o-g-i-n\": _4, \"dnshome\": _4, \"fuettertdasnetz\": _4, \"isteingeek\": _4, \"istmein\": _4, \"lebtimnetz\": _4, \"leitungsen\": _4, \"traeumtgerade\": _4, \"ddnss\": { \"$\": 2, \"succ\": { \"dyn\": _4, \"dyndns\": _4 } }, \"dyndns1\": _4, \"dyn-ip24\": _4, \"home-webserver\": { \"$\": 2, \"succ\": { \"dyn\": _4 } }, \"myhome-server\": _4, \"goip\": _4, \"blogspot\": _4, \"dyn-berlin\": _4, \"in-berlin\": _4, \"in-brb\": _4, \"in-butter\": _4, \"in-dsl\": _4, \"in-vpn\": _4, \"mein-iserv\": _4, \"schulserver\": _4, \"test-iserv\": _4, \"keymachine\": _4, \"git-repos\": _4, \"lcube-server\": _4, \"svn-repos\": _4, \"barsy\": _4, \"logoip\": _4, \"firewall-gateway\": _4, \"my-gateway\": _4, \"my-router\": _4, \"spdns\": _4, \"speedpartner\": { \"$\": 0, \"succ\": { \"customer\": _4 } }, \"taifun-dns\": _4, \"12hp\": _4, \"2ix\": _4, \"4lima\": _4, \"lima-city\": _4, \"dd-dns\": _4, \"dray-dns\": _4, \"draydns\": _4, \"dyn-vpn\": _4, \"dynvpn\": _4, \"mein-vigor\": _4, \"my-vigor\": _4, \"my-wan\": _4, \"syno-ds\": _4, \"synology-diskstation\": _4, \"synology-ds\": _4, \"uberspace\": _7, \"virtualuser\": _4, \"virtual-user\": _4, \"community-pro\": _4, \"diskussionsbereich\": _4 } }, \"dj\": _2, \"dk\": { \"$\": 1, \"succ\": { \"biz\": _4, \"co\": _4, \"firm\": _4, \"reg\": _4, \"store\": _4, \"blogspot\": _4 } }, \"dm\": _9, \"do\": { \"$\": 1, \"succ\": { \"art\": _2, \"com\": _2, \"edu\": _2, \"gob\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"sld\": _2, \"web\": _2 } }, \"dz\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"net\": _2, \"gov\": _2, \"edu\": _2, \"asso\": _2, \"pol\": _2, \"art\": _2 } }, \"ec\": { \"$\": 1, \"succ\": { \"com\": _2, \"info\": _2, \"net\": _2, \"fin\": _2, \"k12\": _2, \"med\": _2, \"pro\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2, \"gob\": _2, \"mil\": _2, \"nym\": _4 } }, \"edu\": { \"$\": 1, \"succ\": { \"rit\": { \"$\": 0, \"succ\": { \"git-pages\": _4 } } } }, \"ee\": { \"$\": 1, \"succ\": { \"edu\": _2, \"gov\": _2, \"riik\": _2, \"lib\": _2, \"med\": _2, \"com\": _5, \"pri\": _2, \"aip\": _2, \"org\": _2, \"fie\": _2 } }, \"eg\": { \"$\": 1, \"succ\": { \"com\": _5, \"edu\": _2, \"eun\": _2, \"gov\": _2, \"mil\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"sci\": _2 } }, \"er\": _8, \"es\": { \"$\": 1, \"succ\": { \"com\": _5, \"nom\": _2, \"org\": _2, \"gob\": _2, \"edu\": _2 } }, \"et\": { \"$\": 1, \"succ\": { \"com\": _2, \"gov\": _2, \"org\": _2, \"edu\": _2, \"biz\": _2, \"name\": _2, \"info\": _2, \"net\": _2 } }, \"eu\": { \"$\": 1, \"succ\": { \"mycd\": _4, \"cloudns\": _4, \"barsy\": _4, \"wellbeingzone\": _4, \"spdns\": _4, \"transurl\": _7, \"diskstation\": _4 } }, \"fi\": { \"$\": 1, \"succ\": { \"aland\": _2, \"dy\": _4, \"blogspot\": _4, \"xn--hkkinen-5wa\": _4, \"h\u00E4kkinen\": _4, \"iki\": _4 } }, \"fj\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"com\": _2, \"gov\": _2, \"info\": _2, \"mil\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"pro\": _2 } }, \"fk\": _8, \"fm\": _2, \"fo\": _2, \"fr\": { \"$\": 1, \"succ\": { \"asso\": _2, \"com\": _2, \"gouv\": _2, \"nom\": _2, \"prd\": _2, \"tm\": _2, \"aeroport\": _2, \"avocat\": _2, \"avoues\": _2, \"cci\": _2, \"chambagri\": _2, \"chirurgiens-dentistes\": _2, \"experts-comptables\": _2, \"geometre-expert\": _2, \"greta\": _2, \"huissier-justice\": _2, \"medecin\": _2, \"notaires\": _2, \"pharmacien\": _2, \"port\": _2, \"veterinaire\": _2, \"en-root\": _4, \"fbx-os\": _4, \"fbxos\": _4, \"freebox-os\": _4, \"freeboxos\": _4, \"blogspot\": _4, \"on-web\": _4, \"chirurgiens-dentistes-en-france\": _4 } }, \"ga\": _2, \"gb\": _2, \"gd\": { \"$\": 1, \"succ\": { \"nom\": _4 } }, \"ge\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"mil\": _2, \"net\": _2, \"pvt\": _2, \"nom\": _4 } }, \"gf\": _2, \"gg\": { \"$\": 1, \"succ\": { \"co\": _2, \"net\": _2, \"org\": _2, \"kaas\": _4, \"cya\": _4, \"panel\": { \"$\": 2, \"succ\": { \"daemon\": _4 } } } }, \"gh\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"mil\": _2 } }, \"gi\": { \"$\": 1, \"succ\": { \"com\": _2, \"ltd\": _2, \"gov\": _2, \"mod\": _2, \"edu\": _2, \"org\": _2 } }, \"gl\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"edu\": _2, \"net\": _2, \"org\": _2, \"biz\": _4, \"nom\": _4, \"xx\": _4 } }, \"gm\": _2, \"gn\": { \"$\": 1, \"succ\": { \"ac\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"net\": _2 } }, \"gov\": _2, \"gp\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"mobi\": _2, \"edu\": _2, \"org\": _2, \"asso\": _2, \"app\": _4 } }, \"gq\": _2, \"gr\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"blogspot\": _4, \"nym\": _4 } }, \"gs\": _2, \"gt\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gob\": _2, \"ind\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"nom\": _4, \"blog\": _4, \"de\": _4, \"to\": _4 } }, \"gu\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"guam\": _2, \"info\": _2, \"net\": _2, \"org\": _2, \"web\": _2 } }, \"gw\": _2, \"gy\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"nym\": _4, \"be\": _4 } }, \"hk\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"idv\": _2, \"net\": _2, \"org\": _2, \"xn--55qx5d\": _2, \"\u516C\u53F8\": _2, \"xn--wcvs22d\": _2, \"\u6559\u80B2\": _2, \"xn--lcvr32d\": _2, \"\u654E\u80B2\": _2, \"xn--mxtq1m\": _2, \"\u653F\u5E9C\": _2, \"xn--gmqw5a\": _2, \"\u500B\u4EBA\": _2, \"xn--ciqpn\": _2, \"\u4E2A\u4EBA\": _2, \"xn--gmq050i\": _2, \"\u7B87\u4EBA\": _2, \"xn--zf0avx\": _2, \"\u7DB2\u7EDC\": _2, \"xn--io0a7i\": _2, \"\u7F51\u7EDC\": _2, \"xn--mk0axi\": _2, \"\u7EC4\u7E54\": _2, \"xn--od0alg\": _2, \"\u7DB2\u7D61\": _2, \"xn--od0aq3b\": _2, \"\u7F51\u7D61\": _2, \"xn--tn0ag\": _2, \"\u7EC4\u7EC7\": _2, \"xn--uc0atv\": _2, \"\u7D44\u7E54\": _2, \"xn--uc0ay4a\": _2, \"\u7D44\u7EC7\": _2, \"blogspot\": _4, \"nym\": _4, \"ltd\": _4, \"inc\": _4 } }, \"hm\": _2, \"hn\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"org\": _2, \"net\": _2, \"mil\": _2, \"gob\": _2, \"nom\": _4, \"cc\": _4 } }, \"hr\": { \"$\": 1, \"succ\": { \"iz\": _2, \"from\": _2, \"name\": _2, \"com\": _2, \"blogspot\": _4, \"free\": _4 } }, \"ht\": { \"$\": 1, \"succ\": { \"com\": _2, \"shop\": _2, \"firm\": _2, \"info\": _2, \"adult\": _2, \"net\": _2, \"pro\": _2, \"org\": _2, \"med\": _2, \"art\": _2, \"coop\": _2, \"pol\": _2, \"asso\": _2, \"edu\": _2, \"rel\": _2, \"gouv\": _2, \"perso\": _2 } }, \"hu\": { \"$\": 1, \"succ\": { \"2000\": _2, \"co\": _2, \"info\": _2, \"org\": _2, \"priv\": _2, \"sport\": _2, \"tm\": _2, \"agrar\": _2, \"bolt\": _2, \"casino\": _2, \"city\": _2, \"erotica\": _2, \"erotika\": _2, \"film\": _2, \"forum\": _2, \"games\": _2, \"hotel\": _2, \"ingatlan\": _2, \"jogasz\": _2, \"konyvelo\": _2, \"lakas\": _2, \"media\": _2, \"news\": _2, \"reklam\": _2, \"sex\": _2, \"shop\": _2, \"suli\": _2, \"szex\": _2, \"tozsde\": _2, \"utazas\": _2, \"video\": _2, \"blogspot\": _4 } }, \"id\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _5, \"desa\": _2, \"go\": _2, \"mil\": _2, \"my\": _2, \"net\": _2, \"or\": _2, \"ponpes\": _2, \"sch\": _2, \"web\": _2 } }, \"ie\": _20, \"il\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _5, \"gov\": _2, \"idf\": _2, \"k12\": _2, \"muni\": _2, \"net\": _2, \"org\": _2 } }, \"im\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": { \"$\": 1, \"succ\": { \"ltd\": _2, \"plc\": _2 } }, \"com\": _2, \"net\": _2, \"org\": _2, \"tt\": _2, \"tv\": _2, \"ro\": _4, \"nom\": _4 } }, \"in\": { \"$\": 1, \"succ\": { \"co\": _2, \"firm\": _2, \"net\": _2, \"org\": _2, \"gen\": _2, \"ind\": _2, \"nic\": _2, \"ac\": _2, \"edu\": _2, \"res\": _2, \"gov\": _2, \"mil\": _2, \"cloudns\": _4, \"blogspot\": _4, \"barsy\": _4 } }, \"info\": { \"$\": 1, \"succ\": { \"cloudns\": _4, \"dynamic-dns\": _4, \"dyndns\": _4, \"barrel-of-knowledge\": _4, \"barrell-of-knowledge\": _4, \"for-our\": _4, \"groks-the\": _4, \"groks-this\": _4, \"here-for-more\": _4, \"knowsitall\": _4, \"selfip\": _4, \"webhop\": _4, \"barsy\": _4, \"mayfirst\": _4, \"forumz\": _4, \"nsupdate\": _4, \"dvrcam\": _4, \"ilovecollege\": _4, \"no-ip\": _4, \"dnsupdate\": _4, \"v-info\": _4 } }, \"int\": { \"$\": 1, \"succ\": { \"eu\": _2 } }, \"io\": { \"$\": 1, \"succ\": { \"2038\": _4, \"com\": _2, \"apigee\": _4, \"b-data\": _4, \"backplaneapp\": _4, \"banzaicloud\": { \"$\": 0, \"succ\": { \"app\": _4, \"backyards\": _7 } }, \"boxfuse\": _4, \"browsersafetymark\": _4, \"bigv\": { \"$\": 0, \"succ\": { \"uk0\": _4 } }, \"cleverapps\": _4, \"dappnode\": { \"$\": 0, \"succ\": { \"dyndns\": _4 } }, \"dedyn\": _4, \"drud\": _4, \"definima\": _4, \"enonic\": { \"$\": 2, \"succ\": { \"customer\": _4 } }, \"shw\": _4, \"github\": _4, \"gitlab\": _4, \"lolipop\": _4, \"hasura-app\": _4, \"hostyhosting\": _4, \"moonscale\": _7, \"jele\": _4, \"loginline\": _4, \"barsy\": _4, \"azurecontainer\": _7, \"ngrok\": _4, \"nodeart\": { \"$\": 0, \"succ\": { \"stage\": _4 } }, \"nodum\": _4, \"nid\": _4, \"pantheonsite\": _4, \"dyn53\": _4, \"protonet\": _4, \"qcx\": { \"$\": 2, \"succ\": { \"sys\": _7 } }, \"vaporcloud\": _4, \"vbrplsbx\": { \"$\": 0, \"succ\": { \"g\": _4 } }, \"on-k3s\": _7, \"on-rio\": _7, \"readthedocs\": _4, \"resindevice\": _4, \"resinstaging\": { \"$\": 0, \"succ\": { \"devices\": _4 } }, \"hzc\": _4, \"sandcats\": _4, \"shiftedit\": _4, \"mo-siemens\": _4, \"lair\": _15, \"stolos\": _7, \"spacekit\": _4, \"utwente\": _4, \"applicationcloud\": _4, \"scapp\": _4, \"s5y\": _7, \"telebit\": _4, \"thingdust\": { \"$\": 0, \"succ\": { \"dev\": _21, \"disrec\": _21, \"prod\": _21, \"testing\": _21 } }, \"wedeploy\": _4, \"basicserver\": _4, \"virtualserver\": _4 } }, \"iq\": _3, \"ir\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"gov\": _2, \"id\": _2, \"net\": _2, \"org\": _2, \"sch\": _2, \"xn--mgba3a4f16a\": _2, \"\u0627\u06CC\u0631\u0627\u0646\": _2, \"xn--mgba3a4fra\": _2, \"\u0627\u064A\u0631\u0627\u0646\": _2 } }, \"is\": { \"$\": 1, \"succ\": { \"net\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"int\": _2, \"cupcake\": _4, \"blogspot\": _4 } }, \"it\": { \"$\": 1, \"succ\": { \"gov\": _2, \"edu\": _2, \"abr\": _2, \"abruzzo\": _2, \"aosta-valley\": _2, \"aostavalley\": _2, \"bas\": _2, \"basilicata\": _2, \"cal\": _2, \"calabria\": _2, \"cam\": _2, \"campania\": _2, \"emilia-romagna\": _2, \"emiliaromagna\": _2, \"emr\": _2, \"friuli-v-giulia\": _2, \"friuli-ve-giulia\": _2, \"friuli-vegiulia\": _2, \"friuli-venezia-giulia\": _2, \"friuli-veneziagiulia\": _2, \"friuli-vgiulia\": _2, \"friuliv-giulia\": _2, \"friulive-giulia\": _2, \"friulivegiulia\": _2, \"friulivenezia-giulia\": _2, \"friuliveneziagiulia\": _2, \"friulivgiulia\": _2, \"fvg\": _2, \"laz\": _2, \"lazio\": _2, \"lig\": _2, \"liguria\": _2, \"lom\": _2, \"lombardia\": _2, \"lombardy\": _2, \"lucania\": _2, \"mar\": _2, \"marche\": _2, \"mol\": _2, \"molise\": _2, \"piedmont\": _2, \"piemonte\": _2, \"pmn\": _2, \"pug\": _2, \"puglia\": _2, \"sar\": _2, \"sardegna\": _2, \"sardinia\": _2, \"sic\": _2, \"sicilia\": _2, \"sicily\": _2, \"taa\": _2, \"tos\": _2, \"toscana\": _2, \"trentin-sud-tirol\": _2, \"xn--trentin-sd-tirol-rzb\": _2, \"trentin-s\u00FCd-tirol\": _2, \"trentin-sudtirol\": _2, \"xn--trentin-sdtirol-7vb\": _2, \"trentin-s\u00FCdtirol\": _2, \"trentin-sued-tirol\": _2, \"trentin-suedtirol\": _2, \"trentino-a-adige\": _2, \"trentino-aadige\": _2, \"trentino-alto-adige\": _2, \"trentino-altoadige\": _2, \"trentino-s-tirol\": _2, \"trentino-stirol\": _2, \"trentino-sud-tirol\": _2, \"xn--trentino-sd-tirol-c3b\": _2, \"trentino-s\u00FCd-tirol\": _2, \"trentino-sudtirol\": _2, \"xn--trentino-sdtirol-szb\": _2, \"trentino-s\u00FCdtirol\": _2, \"trentino-sued-tirol\": _2, \"trentino-suedtirol\": _2, \"trentino\": _2, \"trentinoa-adige\": _2, \"trentinoaadige\": _2, \"trentinoalto-adige\": _2, \"trentinoaltoadige\": _2, \"trentinos-tirol\": _2, \"trentinostirol\": _2, \"trentinosud-tirol\": _2, \"xn--trentinosd-tirol-rzb\": _2, \"trentinos\u00FCd-tirol\": _2, \"trentinosudtirol\": _2, \"xn--trentinosdtirol-7vb\": _2, \"trentinos\u00FCdtirol\": _2, \"trentinosued-tirol\": _2, \"trentinosuedtirol\": _2, \"trentinsud-tirol\": _2, \"xn--trentinsd-tirol-6vb\": _2, \"trentins\u00FCd-tirol\": _2, \"trentinsudtirol\": _2, \"xn--trentinsdtirol-nsb\": _2, \"trentins\u00FCdtirol\": _2, \"trentinsued-tirol\": _2, \"trentinsuedtirol\": _2, \"tuscany\": _2, \"umb\": _2, \"umbria\": _2, \"val-d-aosta\": _2, \"val-daosta\": _2, \"vald-aosta\": _2, \"valdaosta\": _2, \"valle-aosta\": _2, \"valle-d-aosta\": _2, \"valle-daosta\": _2, \"valleaosta\": _2, \"valled-aosta\": _2, \"valledaosta\": _2, \"vallee-aoste\": _2, \"xn--valle-aoste-ebb\": _2, \"vall\u00E9e-aoste\": _2, \"vallee-d-aoste\": _2, \"xn--valle-d-aoste-ehb\": _2, \"vall\u00E9e-d-aoste\": _2, \"valleeaoste\": _2, \"xn--valleaoste-e7a\": _2, \"vall\u00E9eaoste\": _2, \"valleedaoste\": _2, \"xn--valledaoste-ebb\": _2, \"vall\u00E9edaoste\": _2, \"vao\": _2, \"vda\": _2, \"ven\": _2, \"veneto\": _2, \"ag\": _2, \"agrigento\": _2, \"al\": _2, \"alessandria\": _2, \"alto-adige\": _2, \"altoadige\": _2, \"an\": _2, \"ancona\": _2, \"andria-barletta-trani\": _2, \"andria-trani-barletta\": _2, \"andriabarlettatrani\": _2, \"andriatranibarletta\": _2, \"ao\": _2, \"aosta\": _2, \"aoste\": _2, \"ap\": _2, \"aq\": _2, \"aquila\": _2, \"ar\": _2, \"arezzo\": _2, \"ascoli-piceno\": _2, \"ascolipiceno\": _2, \"asti\": _2, \"at\": _2, \"av\": _2, \"avellino\": _2, \"ba\": _2, \"balsan-sudtirol\": _2, \"xn--balsan-sdtirol-nsb\": _2, \"balsan-s\u00FCdtirol\": _2, \"balsan-suedtirol\": _2, \"balsan\": _2, \"bari\": _2, \"barletta-trani-andria\": _2, \"barlettatraniandria\": _2, \"belluno\": _2, \"benevento\": _2, \"bergamo\": _2, \"bg\": _2, \"bi\": _2, \"biella\": _2, \"bl\": _2, \"bn\": _2, \"bo\": _2, \"bologna\": _2, \"bolzano-altoadige\": _2, \"bolzano\": _2, \"bozen-sudtirol\": _2, \"xn--bozen-sdtirol-2ob\": _2, \"bozen-s\u00FCdtirol\": _2, \"bozen-suedtirol\": _2, \"bozen\": _2, \"br\": _2, \"brescia\": _2, \"brindisi\": _2, \"bs\": _2, \"bt\": _2, \"bulsan-sudtirol\": _2, \"xn--bulsan-sdtirol-nsb\": _2, \"bulsan-s\u00FCdtirol\": _2, \"bulsan-suedtirol\": _2, \"bulsan\": _2, \"bz\": _2, \"ca\": _2, \"cagliari\": _2, \"caltanissetta\": _2, \"campidano-medio\": _2, \"campidanomedio\": _2, \"campobasso\": _2, \"carbonia-iglesias\": _2, \"carboniaiglesias\": _2, \"carrara-massa\": _2, \"carraramassa\": _2, \"caserta\": _2, \"catania\": _2, \"catanzaro\": _2, \"cb\": _2, \"ce\": _2, \"cesena-forli\": _2, \"xn--cesena-forl-mcb\": _2, \"cesena-forl\u00EC\": _2, \"cesenaforli\": _2, \"xn--cesenaforl-i8a\": _2, \"cesenaforl\u00EC\": _2, \"ch\": _2, \"chieti\": _2, \"ci\": _2, \"cl\": _2, \"cn\": _2, \"co\": _2, \"como\": _2, \"cosenza\": _2, \"cr\": _2, \"cremona\": _2, \"crotone\": _2, \"cs\": _2, \"ct\": _2, \"cuneo\": _2, \"cz\": _2, \"dell-ogliastra\": _2, \"dellogliastra\": _2, \"en\": _2, \"enna\": _2, \"fc\": _2, \"fe\": _2, \"fermo\": _2, \"ferrara\": _2, \"fg\": _2, \"fi\": _2, \"firenze\": _2, \"florence\": _2, \"fm\": _2, \"foggia\": _2, \"forli-cesena\": _2, \"xn--forl-cesena-fcb\": _2, \"forl\u00EC-cesena\": _2, \"forlicesena\": _2, \"xn--forlcesena-c8a\": _2, \"forl\u00ECcesena\": _2, \"fr\": _2, \"frosinone\": _2, \"ge\": _2, \"genoa\": _2, \"genova\": _2, \"go\": _2, \"gorizia\": _2, \"gr\": _2, \"grosseto\": _2, \"iglesias-carbonia\": _2, \"iglesiascarbonia\": _2, \"im\": _2, \"imperia\": _2, \"is\": _2, \"isernia\": _2, \"kr\": _2, \"la-spezia\": _2, \"laquila\": _2, \"laspezia\": _2, \"latina\": _2, \"lc\": _2, \"le\": _2, \"lecce\": _2, \"lecco\": _2, \"li\": _2, \"livorno\": _2, \"lo\": _2, \"lodi\": _2, \"lt\": _2, \"lu\": _2, \"lucca\": _2, \"macerata\": _2, \"mantova\": _2, \"massa-carrara\": _2, \"massacarrara\": _2, \"matera\": _2, \"mb\": _2, \"mc\": _2, \"me\": _2, \"medio-campidano\": _2, \"mediocampidano\": _2, \"messina\": _2, \"mi\": _2, \"milan\": _2, \"milano\": _2, \"mn\": _2, \"mo\": _2, \"modena\": _2, \"monza-brianza\": _2, \"monza-e-della-brianza\": _2, \"monza\": _2, \"monzabrianza\": _2, \"monzaebrianza\": _2, \"monzaedellabrianza\": _2, \"ms\": _2, \"mt\": _2, \"na\": _2, \"naples\": _2, \"napoli\": _2, \"no\": _2, \"novara\": _2, \"nu\": _2, \"nuoro\": _2, \"og\": _2, \"ogliastra\": _2, \"olbia-tempio\": _2, \"olbiatempio\": _2, \"or\": _2, \"oristano\": _2, \"ot\": _2, \"pa\": _2, \"padova\": _2, \"padua\": _2, \"palermo\": _2, \"parma\": _2, \"pavia\": _2, \"pc\": _2, \"pd\": _2, \"pe\": _2, \"perugia\": _2, \"pesaro-urbino\": _2, \"pesarourbino\": _2, \"pescara\": _2, \"pg\": _2, \"pi\": _2, \"piacenza\": _2, \"pisa\": _2, \"pistoia\": _2, \"pn\": _2, \"po\": _2, \"pordenone\": _2, \"potenza\": _2, \"pr\": _2, \"prato\": _2, \"pt\": _2, \"pu\": _2, \"pv\": _2, \"pz\": _2, \"ra\": _2, \"ragusa\": _2, \"ravenna\": _2, \"rc\": _2, \"re\": _2, \"reggio-calabria\": _2, \"reggio-emilia\": _2, \"reggiocalabria\": _2, \"reggioemilia\": _2, \"rg\": _2, \"ri\": _2, \"rieti\": _2, \"rimini\": _2, \"rm\": _2, \"rn\": _2, \"ro\": _2, \"roma\": _2, \"rome\": _2, \"rovigo\": _2, \"sa\": _2, \"salerno\": _2, \"sassari\": _2, \"savona\": _2, \"si\": _2, \"siena\": _2, \"siracusa\": _2, \"so\": _2, \"sondrio\": _2, \"sp\": _2, \"sr\": _2, \"ss\": _2, \"suedtirol\": _2, \"xn--sdtirol-n2a\": _2, \"s\u00FCdtirol\": _2, \"sv\": _2, \"ta\": _2, \"taranto\": _2, \"te\": _2, \"tempio-olbia\": _2, \"tempioolbia\": _2, \"teramo\": _2, \"terni\": _2, \"tn\": _2, \"to\": _2, \"torino\": _2, \"tp\": _2, \"tr\": _2, \"trani-andria-barletta\": _2, \"trani-barletta-andria\": _2, \"traniandriabarletta\": _2, \"tranibarlettaandria\": _2, \"trapani\": _2, \"trento\": _2, \"treviso\": _2, \"trieste\": _2, \"ts\": _2, \"turin\": _2, \"tv\": _2, \"ud\": _2, \"udine\": _2, \"urbino-pesaro\": _2, \"urbinopesaro\": _2, \"va\": _2, \"varese\": _2, \"vb\": _2, \"vc\": _2, \"ve\": _2, \"venezia\": _2, \"venice\": _2, \"verbania\": _2, \"vercelli\": _2, \"verona\": _2, \"vi\": _2, \"vibo-valentia\": _2, \"vibovalentia\": _2, \"vicenza\": _2, \"viterbo\": _2, \"vr\": _2, \"vs\": _2, \"vt\": _2, \"vv\": _2, \"blogspot\": _4, \"16-b\": _4, \"32-b\": _4, \"64-b\": _4, \"syncloud\": _4 } }, \"je\": { \"$\": 1, \"succ\": { \"co\": _2, \"net\": _2, \"org\": _2 } }, \"jm\": _8, \"jo\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"net\": _2, \"edu\": _2, \"sch\": _2, \"gov\": _2, \"mil\": _2, \"name\": _2 } }, \"jobs\": _2, \"jp\": { \"$\": 1, \"succ\": { \"ac\": _2, \"ad\": _2, \"co\": _2, \"ed\": _2, \"go\": _2, \"gr\": _2, \"lg\": _2, \"ne\": { \"$\": 1, \"succ\": { \"aseinet\": _18, \"gehirn\": _4 } }, \"or\": _2, \"aichi\": { \"$\": 1, \"succ\": { \"aisai\": _2, \"ama\": _2, \"anjo\": _2, \"asuke\": _2, \"chiryu\": _2, \"chita\": _2, \"fuso\": _2, \"gamagori\": _2, \"handa\": _2, \"hazu\": _2, \"hekinan\": _2, \"higashiura\": _2, \"ichinomiya\": _2, \"inazawa\": _2, \"inuyama\": _2, \"isshiki\": _2, \"iwakura\": _2, \"kanie\": _2, \"kariya\": _2, \"kasugai\": _2, \"kira\": _2, \"kiyosu\": _2, \"komaki\": _2, \"konan\": _2, \"kota\": _2, \"mihama\": _2, \"miyoshi\": _2, \"nishio\": _2, \"nisshin\": _2, \"obu\": _2, \"oguchi\": _2, \"oharu\": _2, \"okazaki\": _2, \"owariasahi\": _2, \"seto\": _2, \"shikatsu\": _2, \"shinshiro\": _2, \"shitara\": _2, \"tahara\": _2, \"takahama\": _2, \"tobishima\": _2, \"toei\": _2, \"togo\": _2, \"tokai\": _2, \"tokoname\": _2, \"toyoake\": _2, \"toyohashi\": _2, \"toyokawa\": _2, \"toyone\": _2, \"toyota\": _2, \"tsushima\": _2, \"yatomi\": _2 } }, \"akita\": { \"$\": 1, \"succ\": { \"akita\": _2, \"daisen\": _2, \"fujisato\": _2, \"gojome\": _2, \"hachirogata\": _2, \"happou\": _2, \"higashinaruse\": _2, \"honjo\": _2, \"honjyo\": _2, \"ikawa\": _2, \"kamikoani\": _2, \"kamioka\": _2, \"katagami\": _2, \"kazuno\": _2, \"kitaakita\": _2, \"kosaka\": _2, \"kyowa\": _2, \"misato\": _2, \"mitane\": _2, \"moriyoshi\": _2, \"nikaho\": _2, \"noshiro\": _2, \"odate\": _2, \"oga\": _2, \"ogata\": _2, \"semboku\": _2, \"yokote\": _2, \"yurihonjo\": _2 } }, \"aomori\": { \"$\": 1, \"succ\": { \"aomori\": _2, \"gonohe\": _2, \"hachinohe\": _2, \"hashikami\": _2, \"hiranai\": _2, \"hirosaki\": _2, \"itayanagi\": _2, \"kuroishi\": _2, \"misawa\": _2, \"mutsu\": _2, \"nakadomari\": _2, \"noheji\": _2, \"oirase\": _2, \"owani\": _2, \"rokunohe\": _2, \"sannohe\": _2, \"shichinohe\": _2, \"shingo\": _2, \"takko\": _2, \"towada\": _2, \"tsugaru\": _2, \"tsuruta\": _2 } }, \"chiba\": { \"$\": 1, \"succ\": { \"abiko\": _2, \"asahi\": _2, \"chonan\": _2, \"chosei\": _2, \"choshi\": _2, \"chuo\": _2, \"funabashi\": _2, \"futtsu\": _2, \"hanamigawa\": _2, \"ichihara\": _2, \"ichikawa\": _2, \"ichinomiya\": _2, \"inzai\": _2, \"isumi\": _2, \"kamagaya\": _2, \"kamogawa\": _2, \"kashiwa\": _2, \"katori\": _2, \"katsuura\": _2, \"kimitsu\": _2, \"kisarazu\": _2, \"kozaki\": _2, \"kujukuri\": _2, \"kyonan\": _2, \"matsudo\": _2, \"midori\": _2, \"mihama\": _2, \"minamiboso\": _2, \"mobara\": _2, \"mutsuzawa\": _2, \"nagara\": _2, \"nagareyama\": _2, \"narashino\": _2, \"narita\": _2, \"noda\": _2, \"oamishirasato\": _2, \"omigawa\": _2, \"onjuku\": _2, \"otaki\": _2, \"sakae\": _2, \"sakura\": _2, \"shimofusa\": _2, \"shirako\": _2, \"shiroi\": _2, \"shisui\": _2, \"sodegaura\": _2, \"sosa\": _2, \"tako\": _2, \"tateyama\": _2, \"togane\": _2, \"tohnosho\": _2, \"tomisato\": _2, \"urayasu\": _2, \"yachimata\": _2, \"yachiyo\": _2, \"yokaichiba\": _2, \"yokoshibahikari\": _2, \"yotsukaido\": _2 } }, \"ehime\": { \"$\": 1, \"succ\": { \"ainan\": _2, \"honai\": _2, \"ikata\": _2, \"imabari\": _2, \"iyo\": _2, \"kamijima\": _2, \"kihoku\": _2, \"kumakogen\": _2, \"masaki\": _2, \"matsuno\": _2, \"matsuyama\": _2, \"namikata\": _2, \"niihama\": _2, \"ozu\": _2, \"saijo\": _2, \"seiyo\": _2, \"shikokuchuo\": _2, \"tobe\": _2, \"toon\": _2, \"uchiko\": _2, \"uwajima\": _2, \"yawatahama\": _2 } }, \"fukui\": { \"$\": 1, \"succ\": { \"echizen\": _2, \"eiheiji\": _2, \"fukui\": _2, \"ikeda\": _2, \"katsuyama\": _2, \"mihama\": _2, \"minamiechizen\": _2, \"obama\": _2, \"ohi\": _2, \"ono\": _2, \"sabae\": _2, \"sakai\": _2, \"takahama\": _2, \"tsuruga\": _2, \"wakasa\": _2 } }, \"fukuoka\": { \"$\": 1, \"succ\": { \"ashiya\": _2, \"buzen\": _2, \"chikugo\": _2, \"chikuho\": _2, \"chikujo\": _2, \"chikushino\": _2, \"chikuzen\": _2, \"chuo\": _2, \"dazaifu\": _2, \"fukuchi\": _2, \"hakata\": _2, \"higashi\": _2, \"hirokawa\": _2, \"hisayama\": _2, \"iizuka\": _2, \"inatsuki\": _2, \"kaho\": _2, \"kasuga\": _2, \"kasuya\": _2, \"kawara\": _2, \"keisen\": _2, \"koga\": _2, \"kurate\": _2, \"kurogi\": _2, \"kurume\": _2, \"minami\": _2, \"miyako\": _2, \"miyama\": _2, \"miyawaka\": _2, \"mizumaki\": _2, \"munakata\": _2, \"nakagawa\": _2, \"nakama\": _2, \"nishi\": _2, \"nogata\": _2, \"ogori\": _2, \"okagaki\": _2, \"okawa\": _2, \"oki\": _2, \"omuta\": _2, \"onga\": _2, \"onojo\": _2, \"oto\": _2, \"saigawa\": _2, \"sasaguri\": _2, \"shingu\": _2, \"shinyoshitomi\": _2, \"shonai\": _2, \"soeda\": _2, \"sue\": _2, \"tachiarai\": _2, \"tagawa\": _2, \"takata\": _2, \"toho\": _2, \"toyotsu\": _2, \"tsuiki\": _2, \"ukiha\": _2, \"umi\": _2, \"usui\": _2, \"yamada\": _2, \"yame\": _2, \"yanagawa\": _2, \"yukuhashi\": _2 } }, \"fukushima\": { \"$\": 1, \"succ\": { \"aizubange\": _2, \"aizumisato\": _2, \"aizuwakamatsu\": _2, \"asakawa\": _2, \"bandai\": _2, \"date\": _2, \"fukushima\": _2, \"furudono\": _2, \"futaba\": _2, \"hanawa\": _2, \"higashi\": _2, \"hirata\": _2, \"hirono\": _2, \"iitate\": _2, \"inawashiro\": _2, \"ishikawa\": _2, \"iwaki\": _2, \"izumizaki\": _2, \"kagamiishi\": _2, \"kaneyama\": _2, \"kawamata\": _2, \"kitakata\": _2, \"kitashiobara\": _2, \"koori\": _2, \"koriyama\": _2, \"kunimi\": _2, \"miharu\": _2, \"mishima\": _2, \"namie\": _2, \"nango\": _2, \"nishiaizu\": _2, \"nishigo\": _2, \"okuma\": _2, \"omotego\": _2, \"ono\": _2, \"otama\": _2, \"samegawa\": _2, \"shimogo\": _2, \"shirakawa\": _2, \"showa\": _2, \"soma\": _2, \"sukagawa\": _2, \"taishin\": _2, \"tamakawa\": _2, \"tanagura\": _2, \"tenei\": _2, \"yabuki\": _2, \"yamato\": _2, \"yamatsuri\": _2, \"yanaizu\": _2, \"yugawa\": _2 } }, \"gifu\": { \"$\": 1, \"succ\": { \"anpachi\": _2, \"ena\": _2, \"gifu\": _2, \"ginan\": _2, \"godo\": _2, \"gujo\": _2, \"hashima\": _2, \"hichiso\": _2, \"hida\": _2, \"higashishirakawa\": _2, \"ibigawa\": _2, \"ikeda\": _2, \"kakamigahara\": _2, \"kani\": _2, \"kasahara\": _2, \"kasamatsu\": _2, \"kawaue\": _2, \"kitagata\": _2, \"mino\": _2, \"minokamo\": _2, \"mitake\": _2, \"mizunami\": _2, \"motosu\": _2, \"nakatsugawa\": _2, \"ogaki\": _2, \"sakahogi\": _2, \"seki\": _2, \"sekigahara\": _2, \"shirakawa\": _2, \"tajimi\": _2, \"takayama\": _2, \"tarui\": _2, \"toki\": _2, \"tomika\": _2, \"wanouchi\": _2, \"yamagata\": _2, \"yaotsu\": _2, \"yoro\": _2 } }, \"gunma\": { \"$\": 1, \"succ\": { \"annaka\": _2, \"chiyoda\": _2, \"fujioka\": _2, \"higashiagatsuma\": _2, \"isesaki\": _2, \"itakura\": _2, \"kanna\": _2, \"kanra\": _2, \"katashina\": _2, \"kawaba\": _2, \"kiryu\": _2, \"kusatsu\": _2, \"maebashi\": _2, \"meiwa\": _2, \"midori\": _2, \"minakami\": _2, \"naganohara\": _2, \"nakanojo\": _2, \"nanmoku\": _2, \"numata\": _2, \"oizumi\": _2, \"ora\": _2, \"ota\": _2, \"shibukawa\": _2, \"shimonita\": _2, \"shinto\": _2, \"showa\": _2, \"takasaki\": _2, \"takayama\": _2, \"tamamura\": _2, \"tatebayashi\": _2, \"tomioka\": _2, \"tsukiyono\": _2, \"tsumagoi\": _2, \"ueno\": _2, \"yoshioka\": _2 } }, \"hiroshima\": { \"$\": 1, \"succ\": { \"asaminami\": _2, \"daiwa\": _2, \"etajima\": _2, \"fuchu\": _2, \"fukuyama\": _2, \"hatsukaichi\": _2, \"higashihiroshima\": _2, \"hongo\": _2, \"jinsekikogen\": _2, \"kaita\": _2, \"kui\": _2, \"kumano\": _2, \"kure\": _2, \"mihara\": _2, \"miyoshi\": _2, \"naka\": _2, \"onomichi\": _2, \"osakikamijima\": _2, \"otake\": _2, \"saka\": _2, \"sera\": _2, \"seranishi\": _2, \"shinichi\": _2, \"shobara\": _2, \"takehara\": _2 } }, \"hokkaido\": { \"$\": 1, \"succ\": { \"abashiri\": _2, \"abira\": _2, \"aibetsu\": _2, \"akabira\": _2, \"akkeshi\": _2, \"asahikawa\": _2, \"ashibetsu\": _2, \"ashoro\": _2, \"assabu\": _2, \"atsuma\": _2, \"bibai\": _2, \"biei\": _2, \"bifuka\": _2, \"bihoro\": _2, \"biratori\": _2, \"chippubetsu\": _2, \"chitose\": _2, \"date\": _2, \"ebetsu\": _2, \"embetsu\": _2, \"eniwa\": _2, \"erimo\": _2, \"esan\": _2, \"esashi\": _2, \"fukagawa\": _2, \"fukushima\": _2, \"furano\": _2, \"furubira\": _2, \"haboro\": _2, \"hakodate\": _2, \"hamatonbetsu\": _2, \"hidaka\": _2, \"higashikagura\": _2, \"higashikawa\": _2, \"hiroo\": _2, \"hokuryu\": _2, \"hokuto\": _2, \"honbetsu\": _2, \"horokanai\": _2, \"horonobe\": _2, \"ikeda\": _2, \"imakane\": _2, \"ishikari\": _2, \"iwamizawa\": _2, \"iwanai\": _2, \"kamifurano\": _2, \"kamikawa\": _2, \"kamishihoro\": _2, \"kamisunagawa\": _2, \"kamoenai\": _2, \"kayabe\": _2, \"kembuchi\": _2, \"kikonai\": _2, \"kimobetsu\": _2, \"kitahiroshima\": _2, \"kitami\": _2, \"kiyosato\": _2, \"koshimizu\": _2, \"kunneppu\": _2, \"kuriyama\": _2, \"kuromatsunai\": _2, \"kushiro\": _2, \"kutchan\": _2, \"kyowa\": _2, \"mashike\": _2, \"matsumae\": _2, \"mikasa\": _2, \"minamifurano\": _2, \"mombetsu\": _2, \"moseushi\": _2, \"mukawa\": _2, \"muroran\": _2, \"naie\": _2, \"nakagawa\": _2, \"nakasatsunai\": _2, \"nakatombetsu\": _2, \"nanae\": _2, \"nanporo\": _2, \"nayoro\": _2, \"nemuro\": _2, \"niikappu\": _2, \"niki\": _2, \"nishiokoppe\": _2, \"noboribetsu\": _2, \"numata\": _2, \"obihiro\": _2, \"obira\": _2, \"oketo\": _2, \"okoppe\": _2, \"otaru\": _2, \"otobe\": _2, \"otofuke\": _2, \"otoineppu\": _2, \"oumu\": _2, \"ozora\": _2, \"pippu\": _2, \"rankoshi\": _2, \"rebun\": _2, \"rikubetsu\": _2, \"rishiri\": _2, \"rishirifuji\": _2, \"saroma\": _2, \"sarufutsu\": _2, \"shakotan\": _2, \"shari\": _2, \"shibecha\": _2, \"shibetsu\": _2, \"shikabe\": _2, \"shikaoi\": _2, \"shimamaki\": _2, \"shimizu\": _2, \"shimokawa\": _2, \"shinshinotsu\": _2, \"shintoku\": _2, \"shiranuka\": _2, \"shiraoi\": _2, \"shiriuchi\": _2, \"sobetsu\": _2, \"sunagawa\": _2, \"taiki\": _2, \"takasu\": _2, \"takikawa\": _2, \"takinoue\": _2, \"teshikaga\": _2, \"tobetsu\": _2, \"tohma\": _2, \"tomakomai\": _2, \"tomari\": _2, \"toya\": _2, \"toyako\": _2, \"toyotomi\": _2, \"toyoura\": _2, \"tsubetsu\": _2, \"tsukigata\": _2, \"urakawa\": _2, \"urausu\": _2, \"uryu\": _2, \"utashinai\": _2, \"wakkanai\": _2, \"wassamu\": _2, \"yakumo\": _2, \"yoichi\": _2 } }, \"hyogo\": { \"$\": 1, \"succ\": { \"aioi\": _2, \"akashi\": _2, \"ako\": _2, \"amagasaki\": _2, \"aogaki\": _2, \"asago\": _2, \"ashiya\": _2, \"awaji\": _2, \"fukusaki\": _2, \"goshiki\": _2, \"harima\": _2, \"himeji\": _2, \"ichikawa\": _2, \"inagawa\": _2, \"itami\": _2, \"kakogawa\": _2, \"kamigori\": _2, \"kamikawa\": _2, \"kasai\": _2, \"kasuga\": _2, \"kawanishi\": _2, \"miki\": _2, \"minamiawaji\": _2, \"nishinomiya\": _2, \"nishiwaki\": _2, \"ono\": _2, \"sanda\": _2, \"sannan\": _2, \"sasayama\": _2, \"sayo\": _2, \"shingu\": _2, \"shinonsen\": _2, \"shiso\": _2, \"sumoto\": _2, \"taishi\": _2, \"taka\": _2, \"takarazuka\": _2, \"takasago\": _2, \"takino\": _2, \"tamba\": _2, \"tatsuno\": _2, \"toyooka\": _2, \"yabu\": _2, \"yashiro\": _2, \"yoka\": _2, \"yokawa\": _2 } }, \"ibaraki\": { \"$\": 1, \"succ\": { \"ami\": _2, \"asahi\": _2, \"bando\": _2, \"chikusei\": _2, \"daigo\": _2, \"fujishiro\": _2, \"hitachi\": _2, \"hitachinaka\": _2, \"hitachiomiya\": _2, \"hitachiota\": _2, \"ibaraki\": _2, \"ina\": _2, \"inashiki\": _2, \"itako\": _2, \"iwama\": _2, \"joso\": _2, \"kamisu\": _2, \"kasama\": _2, \"kashima\": _2, \"kasumigaura\": _2, \"koga\": _2, \"miho\": _2, \"mito\": _2, \"moriya\": _2, \"naka\": _2, \"namegata\": _2, \"oarai\": _2, \"ogawa\": _2, \"omitama\": _2, \"ryugasaki\": _2, \"sakai\": _2, \"sakuragawa\": _2, \"shimodate\": _2, \"shimotsuma\": _2, \"shirosato\": _2, \"sowa\": _2, \"suifu\": _2, \"takahagi\": _2, \"tamatsukuri\": _2, \"tokai\": _2, \"tomobe\": _2, \"tone\": _2, \"toride\": _2, \"tsuchiura\": _2, \"tsukuba\": _2, \"uchihara\": _2, \"ushiku\": _2, \"yachiyo\": _2, \"yamagata\": _2, \"yawara\": _2, \"yuki\": _2 } }, \"ishikawa\": { \"$\": 1, \"succ\": { \"anamizu\": _2, \"hakui\": _2, \"hakusan\": _2, \"kaga\": _2, \"kahoku\": _2, \"kanazawa\": _2, \"kawakita\": _2, \"komatsu\": _2, \"nakanoto\": _2, \"nanao\": _2, \"nomi\": _2, \"nonoichi\": _2, \"noto\": _2, \"shika\": _2, \"suzu\": _2, \"tsubata\": _2, \"tsurugi\": _2, \"uchinada\": _2, \"wajima\": _2 } }, \"iwate\": { \"$\": 1, \"succ\": { \"fudai\": _2, \"fujisawa\": _2, \"hanamaki\": _2, \"hiraizumi\": _2, \"hirono\": _2, \"ichinohe\": _2, \"ichinoseki\": _2, \"iwaizumi\": _2, \"iwate\": _2, \"joboji\": _2, \"kamaishi\": _2, \"kanegasaki\": _2, \"karumai\": _2, \"kawai\": _2, \"kitakami\": _2, \"kuji\": _2, \"kunohe\": _2, \"kuzumaki\": _2, \"miyako\": _2, \"mizusawa\": _2, \"morioka\": _2, \"ninohe\": _2, \"noda\": _2, \"ofunato\": _2, \"oshu\": _2, \"otsuchi\": _2, \"rikuzentakata\": _2, \"shiwa\": _2, \"shizukuishi\": _2, \"sumita\": _2, \"tanohata\": _2, \"tono\": _2, \"yahaba\": _2, \"yamada\": _2 } }, \"kagawa\": { \"$\": 1, \"succ\": { \"ayagawa\": _2, \"higashikagawa\": _2, \"kanonji\": _2, \"kotohira\": _2, \"manno\": _2, \"marugame\": _2, \"mitoyo\": _2, \"naoshima\": _2, \"sanuki\": _2, \"tadotsu\": _2, \"takamatsu\": _2, \"tonosho\": _2, \"uchinomi\": _2, \"utazu\": _2, \"zentsuji\": _2 } }, \"kagoshima\": { \"$\": 1, \"succ\": { \"akune\": _2, \"amami\": _2, \"hioki\": _2, \"isa\": _2, \"isen\": _2, \"izumi\": _2, \"kagoshima\": _2, \"kanoya\": _2, \"kawanabe\": _2, \"kinko\": _2, \"kouyama\": _2, \"makurazaki\": _2, \"matsumoto\": _2, \"minamitane\": _2, \"nakatane\": _2, \"nishinoomote\": _2, \"satsumasendai\": _2, \"soo\": _2, \"tarumizu\": _2, \"yusui\": _2 } }, \"kanagawa\": { \"$\": 1, \"succ\": { \"aikawa\": _2, \"atsugi\": _2, \"ayase\": _2, \"chigasaki\": _2, \"ebina\": _2, \"fujisawa\": _2, \"hadano\": _2, \"hakone\": _2, \"hiratsuka\": _2, \"isehara\": _2, \"kaisei\": _2, \"kamakura\": _2, \"kiyokawa\": _2, \"matsuda\": _2, \"minamiashigara\": _2, \"miura\": _2, \"nakai\": _2, \"ninomiya\": _2, \"odawara\": _2, \"oi\": _2, \"oiso\": _2, \"sagamihara\": _2, \"samukawa\": _2, \"tsukui\": _2, \"yamakita\": _2, \"yamato\": _2, \"yokosuka\": _2, \"yugawara\": _2, \"zama\": _2, \"zushi\": _2 } }, \"kochi\": { \"$\": 1, \"succ\": { \"aki\": _2, \"geisei\": _2, \"hidaka\": _2, \"higashitsuno\": _2, \"ino\": _2, \"kagami\": _2, \"kami\": _2, \"kitagawa\": _2, \"kochi\": _2, \"mihara\": _2, \"motoyama\": _2, \"muroto\": _2, \"nahari\": _2, \"nakamura\": _2, \"nankoku\": _2, \"nishitosa\": _2, \"niyodogawa\": _2, \"ochi\": _2, \"okawa\": _2, \"otoyo\": _2, \"otsuki\": _2, \"sakawa\": _2, \"sukumo\": _2, \"susaki\": _2, \"tosa\": _2, \"tosashimizu\": _2, \"toyo\": _2, \"tsuno\": _2, \"umaji\": _2, \"yasuda\": _2, \"yusuhara\": _2 } }, \"kumamoto\": { \"$\": 1, \"succ\": { \"amakusa\": _2, \"arao\": _2, \"aso\": _2, \"choyo\": _2, \"gyokuto\": _2, \"kamiamakusa\": _2, \"kikuchi\": _2, \"kumamoto\": _2, \"mashiki\": _2, \"mifune\": _2, \"minamata\": _2, \"minamioguni\": _2, \"nagasu\": _2, \"nishihara\": _2, \"oguni\": _2, \"ozu\": _2, \"sumoto\": _2, \"takamori\": _2, \"uki\": _2, \"uto\": _2, \"yamaga\": _2, \"yamato\": _2, \"yatsushiro\": _2 } }, \"kyoto\": { \"$\": 1, \"succ\": { \"ayabe\": _2, \"fukuchiyama\": _2, \"higashiyama\": _2, \"ide\": _2, \"ine\": _2, \"joyo\": _2, \"kameoka\": _2, \"kamo\": _2, \"kita\": _2, \"kizu\": _2, \"kumiyama\": _2, \"kyotamba\": _2, \"kyotanabe\": _2, \"kyotango\": _2, \"maizuru\": _2, \"minami\": _2, \"minamiyamashiro\": _2, \"miyazu\": _2, \"muko\": _2, \"nagaokakyo\": _2, \"nakagyo\": _2, \"nantan\": _2, \"oyamazaki\": _2, \"sakyo\": _2, \"seika\": _2, \"tanabe\": _2, \"uji\": _2, \"ujitawara\": _2, \"wazuka\": _2, \"yamashina\": _2, \"yawata\": _2 } }, \"mie\": { \"$\": 1, \"succ\": { \"asahi\": _2, \"inabe\": _2, \"ise\": _2, \"kameyama\": _2, \"kawagoe\": _2, \"kiho\": _2, \"kisosaki\": _2, \"kiwa\": _2, \"komono\": _2, \"kumano\": _2, \"kuwana\": _2, \"matsusaka\": _2, \"meiwa\": _2, \"mihama\": _2, \"minamiise\": _2, \"misugi\": _2, \"miyama\": _2, \"nabari\": _2, \"shima\": _2, \"suzuka\": _2, \"tado\": _2, \"taiki\": _2, \"taki\": _2, \"tamaki\": _2, \"toba\": _2, \"tsu\": _2, \"udono\": _2, \"ureshino\": _2, \"watarai\": _2, \"yokkaichi\": _2 } }, \"miyagi\": { \"$\": 1, \"succ\": { \"furukawa\": _2, \"higashimatsushima\": _2, \"ishinomaki\": _2, \"iwanuma\": _2, \"kakuda\": _2, \"kami\": _2, \"kawasaki\": _2, \"marumori\": _2, \"matsushima\": _2, \"minamisanriku\": _2, \"misato\": _2, \"murata\": _2, \"natori\": _2, \"ogawara\": _2, \"ohira\": _2, \"onagawa\": _2, \"osaki\": _2, \"rifu\": _2, \"semine\": _2, \"shibata\": _2, \"shichikashuku\": _2, \"shikama\": _2, \"shiogama\": _2, \"shiroishi\": _2, \"tagajo\": _2, \"taiwa\": _2, \"tome\": _2, \"tomiya\": _2, \"wakuya\": _2, \"watari\": _2, \"yamamoto\": _2, \"zao\": _2 } }, \"miyazaki\": { \"$\": 1, \"succ\": { \"aya\": _2, \"ebino\": _2, \"gokase\": _2, \"hyuga\": _2, \"kadogawa\": _2, \"kawaminami\": _2, \"kijo\": _2, \"kitagawa\": _2, \"kitakata\": _2, \"kitaura\": _2, \"kobayashi\": _2, \"kunitomi\": _2, \"kushima\": _2, \"mimata\": _2, \"miyakonojo\": _2, \"miyazaki\": _2, \"morotsuka\": _2, \"nichinan\": _2, \"nishimera\": _2, \"nobeoka\": _2, \"saito\": _2, \"shiiba\": _2, \"shintomi\": _2, \"takaharu\": _2, \"takanabe\": _2, \"takazaki\": _2, \"tsuno\": _2 } }, \"nagano\": { \"$\": 1, \"succ\": { \"achi\": _2, \"agematsu\": _2, \"anan\": _2, \"aoki\": _2, \"asahi\": _2, \"azumino\": _2, \"chikuhoku\": _2, \"chikuma\": _2, \"chino\": _2, \"fujimi\": _2, \"hakuba\": _2, \"hara\": _2, \"hiraya\": _2, \"iida\": _2, \"iijima\": _2, \"iiyama\": _2, \"iizuna\": _2, \"ikeda\": _2, \"ikusaka\": _2, \"ina\": _2, \"karuizawa\": _2, \"kawakami\": _2, \"kiso\": _2, \"kisofukushima\": _2, \"kitaaiki\": _2, \"komagane\": _2, \"komoro\": _2, \"matsukawa\": _2, \"matsumoto\": _2, \"miasa\": _2, \"minamiaiki\": _2, \"minamimaki\": _2, \"minamiminowa\": _2, \"minowa\": _2, \"miyada\": _2, \"miyota\": _2, \"mochizuki\": _2, \"nagano\": _2, \"nagawa\": _2, \"nagiso\": _2, \"nakagawa\": _2, \"nakano\": _2, \"nozawaonsen\": _2, \"obuse\": _2, \"ogawa\": _2, \"okaya\": _2, \"omachi\": _2, \"omi\": _2, \"ookuwa\": _2, \"ooshika\": _2, \"otaki\": _2, \"otari\": _2, \"sakae\": _2, \"sakaki\": _2, \"saku\": _2, \"sakuho\": _2, \"shimosuwa\": _2, \"shinanomachi\": _2, \"shiojiri\": _2, \"suwa\": _2, \"suzaka\": _2, \"takagi\": _2, \"takamori\": _2, \"takayama\": _2, \"tateshina\": _2, \"tatsuno\": _2, \"togakushi\": _2, \"togura\": _2, \"tomi\": _2, \"ueda\": _2, \"wada\": _2, \"yamagata\": _2, \"yamanouchi\": _2, \"yasaka\": _2, \"yasuoka\": _2 } }, \"nagasaki\": { \"$\": 1, \"succ\": { \"chijiwa\": _2, \"futsu\": _2, \"goto\": _2, \"hasami\": _2, \"hirado\": _2, \"iki\": _2, \"isahaya\": _2, \"kawatana\": _2, \"kuchinotsu\": _2, \"matsuura\": _2, \"nagasaki\": _2, \"obama\": _2, \"omura\": _2, \"oseto\": _2, \"saikai\": _2, \"sasebo\": _2, \"seihi\": _2, \"shimabara\": _2, \"shinkamigoto\": _2, \"togitsu\": _2, \"tsushima\": _2, \"unzen\": _2 } }, \"nara\": { \"$\": 1, \"succ\": { \"ando\": _2, \"gose\": _2, \"heguri\": _2, \"higashiyoshino\": _2, \"ikaruga\": _2, \"ikoma\": _2, \"kamikitayama\": _2, \"kanmaki\": _2, \"kashiba\": _2, \"kashihara\": _2, \"katsuragi\": _2, \"kawai\": _2, \"kawakami\": _2, \"kawanishi\": _2, \"koryo\": _2, \"kurotaki\": _2, \"mitsue\": _2, \"miyake\": _2, \"nara\": _2, \"nosegawa\": _2, \"oji\": _2, \"ouda\": _2, \"oyodo\": _2, \"sakurai\": _2, \"sango\": _2, \"shimoichi\": _2, \"shimokitayama\": _2, \"shinjo\": _2, \"soni\": _2, \"takatori\": _2, \"tawaramoto\": _2, \"tenkawa\": _2, \"tenri\": _2, \"uda\": _2, \"yamatokoriyama\": _2, \"yamatotakada\": _2, \"yamazoe\": _2, \"yoshino\": _2 } }, \"niigata\": { \"$\": 1, \"succ\": { \"aga\": _2, \"agano\": _2, \"gosen\": _2, \"itoigawa\": _2, \"izumozaki\": _2, \"joetsu\": _2, \"kamo\": _2, \"kariwa\": _2, \"kashiwazaki\": _2, \"minamiuonuma\": _2, \"mitsuke\": _2, \"muika\": _2, \"murakami\": _2, \"myoko\": _2, \"nagaoka\": _2, \"niigata\": _2, \"ojiya\": _2, \"omi\": _2, \"sado\": _2, \"sanjo\": _2, \"seiro\": _2, \"seirou\": _2, \"sekikawa\": _2, \"shibata\": _2, \"tagami\": _2, \"tainai\": _2, \"tochio\": _2, \"tokamachi\": _2, \"tsubame\": _2, \"tsunan\": _2, \"uonuma\": _2, \"yahiko\": _2, \"yoita\": _2, \"yuzawa\": _2 } }, \"oita\": { \"$\": 1, \"succ\": { \"beppu\": _2, \"bungoono\": _2, \"bungotakada\": _2, \"hasama\": _2, \"hiji\": _2, \"himeshima\": _2, \"hita\": _2, \"kamitsue\": _2, \"kokonoe\": _2, \"kuju\": _2, \"kunisaki\": _2, \"kusu\": _2, \"oita\": _2, \"saiki\": _2, \"taketa\": _2, \"tsukumi\": _2, \"usa\": _2, \"usuki\": _2, \"yufu\": _2 } }, \"okayama\": { \"$\": 1, \"succ\": { \"akaiwa\": _2, \"asakuchi\": _2, \"bizen\": _2, \"hayashima\": _2, \"ibara\": _2, \"kagamino\": _2, \"kasaoka\": _2, \"kibichuo\": _2, \"kumenan\": _2, \"kurashiki\": _2, \"maniwa\": _2, \"misaki\": _2, \"nagi\": _2, \"niimi\": _2, \"nishiawakura\": _2, \"okayama\": _2, \"satosho\": _2, \"setouchi\": _2, \"shinjo\": _2, \"shoo\": _2, \"soja\": _2, \"takahashi\": _2, \"tamano\": _2, \"tsuyama\": _2, \"wake\": _2, \"yakage\": _2 } }, \"okinawa\": { \"$\": 1, \"succ\": { \"aguni\": _2, \"ginowan\": _2, \"ginoza\": _2, \"gushikami\": _2, \"haebaru\": _2, \"higashi\": _2, \"hirara\": _2, \"iheya\": _2, \"ishigaki\": _2, \"ishikawa\": _2, \"itoman\": _2, \"izena\": _2, \"kadena\": _2, \"kin\": _2, \"kitadaito\": _2, \"kitanakagusuku\": _2, \"kumejima\": _2, \"kunigami\": _2, \"minamidaito\": _2, \"motobu\": _2, \"nago\": _2, \"naha\": _2, \"nakagusuku\": _2, \"nakijin\": _2, \"nanjo\": _2, \"nishihara\": _2, \"ogimi\": _2, \"okinawa\": _2, \"onna\": _2, \"shimoji\": _2, \"taketomi\": _2, \"tarama\": _2, \"tokashiki\": _2, \"tomigusuku\": _2, \"tonaki\": _2, \"urasoe\": _2, \"uruma\": _2, \"yaese\": _2, \"yomitan\": _2, \"yonabaru\": _2, \"yonaguni\": _2, \"zamami\": _2 } }, \"osaka\": { \"$\": 1, \"succ\": { \"abeno\": _2, \"chihayaakasaka\": _2, \"chuo\": _2, \"daito\": _2, \"fujiidera\": _2, \"habikino\": _2, \"hannan\": _2, \"higashiosaka\": _2, \"higashisumiyoshi\": _2, \"higashiyodogawa\": _2, \"hirakata\": _2, \"ibaraki\": _2, \"ikeda\": _2, \"izumi\": _2, \"izumiotsu\": _2, \"izumisano\": _2, \"kadoma\": _2, \"kaizuka\": _2, \"kanan\": _2, \"kashiwara\": _2, \"katano\": _2, \"kawachinagano\": _2, \"kishiwada\": _2, \"kita\": _2, \"kumatori\": _2, \"matsubara\": _2, \"minato\": _2, \"minoh\": _2, \"misaki\": _2, \"moriguchi\": _2, \"neyagawa\": _2, \"nishi\": _2, \"nose\": _2, \"osakasayama\": _2, \"sakai\": _2, \"sayama\": _2, \"sennan\": _2, \"settsu\": _2, \"shijonawate\": _2, \"shimamoto\": _2, \"suita\": _2, \"tadaoka\": _2, \"taishi\": _2, \"tajiri\": _2, \"takaishi\": _2, \"takatsuki\": _2, \"tondabayashi\": _2, \"toyonaka\": _2, \"toyono\": _2, \"yao\": _2 } }, \"saga\": { \"$\": 1, \"succ\": { \"ariake\": _2, \"arita\": _2, \"fukudomi\": _2, \"genkai\": _2, \"hamatama\": _2, \"hizen\": _2, \"imari\": _2, \"kamimine\": _2, \"kanzaki\": _2, \"karatsu\": _2, \"kashima\": _2, \"kitagata\": _2, \"kitahata\": _2, \"kiyama\": _2, \"kouhoku\": _2, \"kyuragi\": _2, \"nishiarita\": _2, \"ogi\": _2, \"omachi\": _2, \"ouchi\": _2, \"saga\": _2, \"shiroishi\": _2, \"taku\": _2, \"tara\": _2, \"tosu\": _2, \"yoshinogari\": _2 } }, \"saitama\": { \"$\": 1, \"succ\": { \"arakawa\": _2, \"asaka\": _2, \"chichibu\": _2, \"fujimi\": _2, \"fujimino\": _2, \"fukaya\": _2, \"hanno\": _2, \"hanyu\": _2, \"hasuda\": _2, \"hatogaya\": _2, \"hatoyama\": _2, \"hidaka\": _2, \"higashichichibu\": _2, \"higashimatsuyama\": _2, \"honjo\": _2, \"ina\": _2, \"iruma\": _2, \"iwatsuki\": _2, \"kamiizumi\": _2, \"kamikawa\": _2, \"kamisato\": _2, \"kasukabe\": _2, \"kawagoe\": _2, \"kawaguchi\": _2, \"kawajima\": _2, \"kazo\": _2, \"kitamoto\": _2, \"koshigaya\": _2, \"kounosu\": _2, \"kuki\": _2, \"kumagaya\": _2, \"matsubushi\": _2, \"minano\": _2, \"misato\": _2, \"miyashiro\": _2, \"miyoshi\": _2, \"moroyama\": _2, \"nagatoro\": _2, \"namegawa\": _2, \"niiza\": _2, \"ogano\": _2, \"ogawa\": _2, \"ogose\": _2, \"okegawa\": _2, \"omiya\": _2, \"otaki\": _2, \"ranzan\": _2, \"ryokami\": _2, \"saitama\": _2, \"sakado\": _2, \"satte\": _2, \"sayama\": _2, \"shiki\": _2, \"shiraoka\": _2, \"soka\": _2, \"sugito\": _2, \"toda\": _2, \"tokigawa\": _2, \"tokorozawa\": _2, \"tsurugashima\": _2, \"urawa\": _2, \"warabi\": _2, \"yashio\": _2, \"yokoze\": _2, \"yono\": _2, \"yorii\": _2, \"yoshida\": _2, \"yoshikawa\": _2, \"yoshimi\": _2 } }, \"shiga\": { \"$\": 1, \"succ\": { \"aisho\": _2, \"gamo\": _2, \"higashiomi\": _2, \"hikone\": _2, \"koka\": _2, \"konan\": _2, \"kosei\": _2, \"koto\": _2, \"kusatsu\": _2, \"maibara\": _2, \"moriyama\": _2, \"nagahama\": _2, \"nishiazai\": _2, \"notogawa\": _2, \"omihachiman\": _2, \"otsu\": _2, \"ritto\": _2, \"ryuoh\": _2, \"takashima\": _2, \"takatsuki\": _2, \"torahime\": _2, \"toyosato\": _2, \"yasu\": _2 } }, \"shimane\": { \"$\": 1, \"succ\": { \"akagi\": _2, \"ama\": _2, \"gotsu\": _2, \"hamada\": _2, \"higashiizumo\": _2, \"hikawa\": _2, \"hikimi\": _2, \"izumo\": _2, \"kakinoki\": _2, \"masuda\": _2, \"matsue\": _2, \"misato\": _2, \"nishinoshima\": _2, \"ohda\": _2, \"okinoshima\": _2, \"okuizumo\": _2, \"shimane\": _2, \"tamayu\": _2, \"tsuwano\": _2, \"unnan\": _2, \"yakumo\": _2, \"yasugi\": _2, \"yatsuka\": _2 } }, \"shizuoka\": { \"$\": 1, \"succ\": { \"arai\": _2, \"atami\": _2, \"fuji\": _2, \"fujieda\": _2, \"fujikawa\": _2, \"fujinomiya\": _2, \"fukuroi\": _2, \"gotemba\": _2, \"haibara\": _2, \"hamamatsu\": _2, \"higashiizu\": _2, \"ito\": _2, \"iwata\": _2, \"izu\": _2, \"izunokuni\": _2, \"kakegawa\": _2, \"kannami\": _2, \"kawanehon\": _2, \"kawazu\": _2, \"kikugawa\": _2, \"kosai\": _2, \"makinohara\": _2, \"matsuzaki\": _2, \"minamiizu\": _2, \"mishima\": _2, \"morimachi\": _2, \"nishiizu\": _2, \"numazu\": _2, \"omaezaki\": _2, \"shimada\": _2, \"shimizu\": _2, \"shimoda\": _2, \"shizuoka\": _2, \"susono\": _2, \"yaizu\": _2, \"yoshida\": _2 } }, \"tochigi\": { \"$\": 1, \"succ\": { \"ashikaga\": _2, \"bato\": _2, \"haga\": _2, \"ichikai\": _2, \"iwafune\": _2, \"kaminokawa\": _2, \"kanuma\": _2, \"karasuyama\": _2, \"kuroiso\": _2, \"mashiko\": _2, \"mibu\": _2, \"moka\": _2, \"motegi\": _2, \"nasu\": _2, \"nasushiobara\": _2, \"nikko\": _2, \"nishikata\": _2, \"nogi\": _2, \"ohira\": _2, \"ohtawara\": _2, \"oyama\": _2, \"sakura\": _2, \"sano\": _2, \"shimotsuke\": _2, \"shioya\": _2, \"takanezawa\": _2, \"tochigi\": _2, \"tsuga\": _2, \"ujiie\": _2, \"utsunomiya\": _2, \"yaita\": _2 } }, \"tokushima\": { \"$\": 1, \"succ\": { \"aizumi\": _2, \"anan\": _2, \"ichiba\": _2, \"itano\": _2, \"kainan\": _2, \"komatsushima\": _2, \"matsushige\": _2, \"mima\": _2, \"minami\": _2, \"miyoshi\": _2, \"mugi\": _2, \"nakagawa\": _2, \"naruto\": _2, \"sanagochi\": _2, \"shishikui\": _2, \"tokushima\": _2, \"wajiki\": _2 } }, \"tokyo\": { \"$\": 1, \"succ\": { \"adachi\": _2, \"akiruno\": _2, \"akishima\": _2, \"aogashima\": _2, \"arakawa\": _2, \"bunkyo\": _2, \"chiyoda\": _2, \"chofu\": _2, \"chuo\": _2, \"edogawa\": _2, \"fuchu\": _2, \"fussa\": _2, \"hachijo\": _2, \"hachioji\": _2, \"hamura\": _2, \"higashikurume\": _2, \"higashimurayama\": _2, \"higashiyamato\": _2, \"hino\": _2, \"hinode\": _2, \"hinohara\": _2, \"inagi\": _2, \"itabashi\": _2, \"katsushika\": _2, \"kita\": _2, \"kiyose\": _2, \"kodaira\": _2, \"koganei\": _2, \"kokubunji\": _2, \"komae\": _2, \"koto\": _2, \"kouzushima\": _2, \"kunitachi\": _2, \"machida\": _2, \"meguro\": _2, \"minato\": _2, \"mitaka\": _2, \"mizuho\": _2, \"musashimurayama\": _2, \"musashino\": _2, \"nakano\": _2, \"nerima\": _2, \"ogasawara\": _2, \"okutama\": _2, \"ome\": _2, \"oshima\": _2, \"ota\": _2, \"setagaya\": _2, \"shibuya\": _2, \"shinagawa\": _2, \"shinjuku\": _2, \"suginami\": _2, \"sumida\": _2, \"tachikawa\": _2, \"taito\": _2, \"tama\": _2, \"toshima\": _2 } }, \"tottori\": { \"$\": 1, \"succ\": { \"chizu\": _2, \"hino\": _2, \"kawahara\": _2, \"koge\": _2, \"kotoura\": _2, \"misasa\": _2, \"nanbu\": _2, \"nichinan\": _2, \"sakaiminato\": _2, \"tottori\": _2, \"wakasa\": _2, \"yazu\": _2, \"yonago\": _2 } }, \"toyama\": { \"$\": 1, \"succ\": { \"asahi\": _2, \"fuchu\": _2, \"fukumitsu\": _2, \"funahashi\": _2, \"himi\": _2, \"imizu\": _2, \"inami\": _2, \"johana\": _2, \"kamiichi\": _2, \"kurobe\": _2, \"nakaniikawa\": _2, \"namerikawa\": _2, \"nanto\": _2, \"nyuzen\": _2, \"oyabe\": _2, \"taira\": _2, \"takaoka\": _2, \"tateyama\": _2, \"toga\": _2, \"tonami\": _2, \"toyama\": _2, \"unazuki\": _2, \"uozu\": _2, \"yamada\": _2 } }, \"wakayama\": { \"$\": 1, \"succ\": { \"arida\": _2, \"aridagawa\": _2, \"gobo\": _2, \"hashimoto\": _2, \"hidaka\": _2, \"hirogawa\": _2, \"inami\": _2, \"iwade\": _2, \"kainan\": _2, \"kamitonda\": _2, \"katsuragi\": _2, \"kimino\": _2, \"kinokawa\": _2, \"kitayama\": _2, \"koya\": _2, \"koza\": _2, \"kozagawa\": _2, \"kudoyama\": _2, \"kushimoto\": _2, \"mihama\": _2, \"misato\": _2, \"nachikatsuura\": _2, \"shingu\": _2, \"shirahama\": _2, \"taiji\": _2, \"tanabe\": _2, \"wakayama\": _2, \"yuasa\": _2, \"yura\": _2 } }, \"yamagata\": { \"$\": 1, \"succ\": { \"asahi\": _2, \"funagata\": _2, \"higashine\": _2, \"iide\": _2, \"kahoku\": _2, \"kaminoyama\": _2, \"kaneyama\": _2, \"kawanishi\": _2, \"mamurogawa\": _2, \"mikawa\": _2, \"murayama\": _2, \"nagai\": _2, \"nakayama\": _2, \"nanyo\": _2, \"nishikawa\": _2, \"obanazawa\": _2, \"oe\": _2, \"oguni\": _2, \"ohkura\": _2, \"oishida\": _2, \"sagae\": _2, \"sakata\": _2, \"sakegawa\": _2, \"shinjo\": _2, \"shirataka\": _2, \"shonai\": _2, \"takahata\": _2, \"tendo\": _2, \"tozawa\": _2, \"tsuruoka\": _2, \"yamagata\": _2, \"yamanobe\": _2, \"yonezawa\": _2, \"yuza\": _2 } }, \"yamaguchi\": { \"$\": 1, \"succ\": { \"abu\": _2, \"hagi\": _2, \"hikari\": _2, \"hofu\": _2, \"iwakuni\": _2, \"kudamatsu\": _2, \"mitou\": _2, \"nagato\": _2, \"oshima\": _2, \"shimonoseki\": _2, \"shunan\": _2, \"tabuse\": _2, \"tokuyama\": _2, \"toyota\": _2, \"ube\": _2, \"yuu\": _2 } }, \"yamanashi\": { \"$\": 1, \"succ\": { \"chuo\": _2, \"doshi\": _2, \"fuefuki\": _2, \"fujikawa\": _2, \"fujikawaguchiko\": _2, \"fujiyoshida\": _2, \"hayakawa\": _2, \"hokuto\": _2, \"ichikawamisato\": _2, \"kai\": _2, \"kofu\": _2, \"koshu\": _2, \"kosuge\": _2, \"minami-alps\": _2, \"minobu\": _2, \"nakamichi\": _2, \"nanbu\": _2, \"narusawa\": _2, \"nirasaki\": _2, \"nishikatsura\": _2, \"oshino\": _2, \"otsuki\": _2, \"showa\": _2, \"tabayama\": _2, \"tsuru\": _2, \"uenohara\": _2, \"yamanakako\": _2, \"yamanashi\": _2 } }, \"xn--4pvxs\": _2, \"\u6803\u6728\": _2, \"xn--vgu402c\": _2, \"\u611B\u77E5\": _2, \"xn--c3s14m\": _2, \"\u611B\u5A9B\": _2, \"xn--f6qx53a\": _2, \"\u5175\u5EAB\": _2, \"xn--8pvr4u\": _2, \"\u718A\u672C\": _2, \"xn--uist22h\": _2, \"\u8328\u57CE\": _2, \"xn--djrs72d6uy\": _2, \"\u5317\u6D77\u9053\": _2, \"xn--mkru45i\": _2, \"\u5343\u8449\": _2, \"xn--0trq7p7nn\": _2, \"\u548C\u6B4C\u5C71\": _2, \"xn--8ltr62k\": _2, \"\u9577\u5D0E\": _2, \"xn--2m4a15e\": _2, \"\u9577\u91CE\": _2, \"xn--efvn9s\": _2, \"\u65B0\u6F5F\": _2, \"xn--32vp30h\": _2, \"\u9752\u68EE\": _2, \"xn--4it797k\": _2, \"\u9759\u5CA1\": _2, \"xn--1lqs71d\": _2, \"\u6771\u4EAC\": _2, \"xn--5rtp49c\": _2, \"\u77F3\u5DDD\": _2, \"xn--5js045d\": _2, \"\u57FC\u7389\": _2, \"xn--ehqz56n\": _2, \"\u4E09\u91CD\": _2, \"xn--1lqs03n\": _2, \"\u4EAC\u90FD\": _2, \"xn--qqqt11m\": _2, \"\u4F50\u8CC0\": _2, \"xn--kbrq7o\": _2, \"\u5927\u5206\": _2, \"xn--pssu33l\": _2, \"\u5927\u962A\": _2, \"xn--ntsq17g\": _2, \"\u5948\u826F\": _2, \"xn--uisz3g\": _2, \"\u5BAE\u57CE\": _2, \"xn--6btw5a\": _2, \"\u5BAE\u5D0E\": _2, \"xn--1ctwo\": _2, \"\u5BCC\u5C71\": _2, \"xn--6orx2r\": _2, \"\u5C71\u53E3\": _2, \"xn--rht61e\": _2, \"\u5C71\u5F62\": _2, \"xn--rht27z\": _2, \"\u5C71\u68A8\": _2, \"xn--djty4k\": _2, \"\u5CA9\u624B\": _2, \"xn--nit225k\": _2, \"\u5C90\u961C\": _2, \"xn--rht3d\": _2, \"\u5CA1\u5C71\": _2, \"xn--klty5x\": _2, \"\u5CF6\u6839\": _2, \"xn--kltx9a\": _2, \"\u5E83\u5CF6\": _2, \"xn--kltp7d\": _2, \"\u5FB3\u5CF6\": _2, \"xn--uuwu58a\": _2, \"\u6C96\u7E04\": _2, \"xn--zbx025d\": _2, \"\u6ECB\u8CC0\": _2, \"xn--ntso0iqx3a\": _2, \"\u795E\u5948\u5DDD\": _2, \"xn--elqq16h\": _2, \"\u798F\u4E95\": _2, \"xn--4it168d\": _2, \"\u798F\u5CA1\": _2, \"xn--klt787d\": _2, \"\u798F\u5CF6\": _2, \"xn--rny31h\": _2, \"\u79CB\u7530\": _2, \"xn--7t0a264c\": _2, \"\u7FA4\u99AC\": _2, \"xn--5rtq34k\": _2, \"\u9999\u5DDD\": _2, \"xn--k7yn95e\": _2, \"\u9AD8\u77E5\": _2, \"xn--tor131o\": _2, \"\u9CE5\u53D6\": _2, \"xn--d5qv7z876c\": _2, \"\u9E7F\u5150\u5CF6\": _2, \"kawasaki\": _8, \"kitakyushu\": _8, \"kobe\": _8, \"nagoya\": _8, \"sapporo\": _8, \"sendai\": _8, \"yokohama\": _8, \"usercontent\": _4, \"blogspot\": _4 } }, \"ke\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _5, \"go\": _2, \"info\": _2, \"me\": _2, \"mobi\": _2, \"ne\": _2, \"or\": _2, \"sc\": _2, \"nom\": _4 } }, \"kg\": { \"$\": 1, \"succ\": { \"org\": _2, \"net\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"blog\": _4, \"io\": _4, \"jp\": _4, \"tv\": _4, \"uk\": _4, \"us\": _4 } }, \"kh\": _8, \"ki\": _22, \"km\": { \"$\": 1, \"succ\": { \"org\": _2, \"nom\": _2, \"gov\": _2, \"prd\": _2, \"tm\": _2, \"edu\": _2, \"mil\": _2, \"ass\": _2, \"com\": _2, \"coop\": _2, \"asso\": _2, \"presse\": _2, \"medecin\": _2, \"notaires\": _2, \"pharmaciens\": _2, \"veterinaire\": _2, \"gouv\": _2 } }, \"kn\": { \"$\": 1, \"succ\": { \"net\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2 } }, \"kp\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"rep\": _2, \"tra\": _2 } }, \"kr\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"es\": _2, \"go\": _2, \"hs\": _2, \"kg\": _2, \"mil\": _2, \"ms\": _2, \"ne\": _2, \"or\": _2, \"pe\": _2, \"re\": _2, \"sc\": _2, \"busan\": _2, \"chungbuk\": _2, \"chungnam\": _2, \"daegu\": _2, \"daejeon\": _2, \"gangwon\": _2, \"gwangju\": _2, \"gyeongbuk\": _2, \"gyeonggi\": _2, \"gyeongnam\": _2, \"incheon\": _2, \"jeju\": _2, \"jeonbuk\": _2, \"jeonnam\": _2, \"seoul\": _2, \"ulsan\": _2, \"blogspot\": _4 } }, \"kw\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"emb\": _2, \"gov\": _2, \"ind\": _2, \"net\": _2, \"org\": _2 } }, \"ky\": _9, \"kz\": { \"$\": 1, \"succ\": { \"org\": _2, \"edu\": _2, \"net\": _2, \"gov\": _2, \"mil\": _2, \"com\": _2, \"nym\": _4 } }, \"la\": { \"$\": 1, \"succ\": { \"int\": _2, \"net\": _2, \"info\": _2, \"edu\": _2, \"gov\": _2, \"per\": _2, \"com\": _2, \"org\": _2, \"bnr\": _4, \"c\": _4, \"nym\": _4 } }, \"lb\": _9, \"lc\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"co\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2, \"nym\": _4, \"oy\": _4 } }, \"li\": { \"$\": 1, \"succ\": { \"blogspot\": _4, \"caa\": _4, \"nom\": _4, \"nym\": _4 } }, \"lk\": { \"$\": 1, \"succ\": { \"gov\": _2, \"sch\": _2, \"net\": _2, \"int\": _2, \"com\": _2, \"org\": _2, \"edu\": _2, \"ngo\": _2, \"soc\": _2, \"web\": _2, \"ltd\": _2, \"assn\": _2, \"grp\": _2, \"hotel\": _2, \"ac\": _2 } }, \"lr\": _9, \"ls\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _2, \"edu\": _2, \"gov\": _2, \"info\": _2, \"net\": _2, \"org\": _2, \"sc\": _2, \"de\": _4 } }, \"lt\": _20, \"lu\": _23, \"lv\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"org\": _2, \"mil\": _2, \"id\": _2, \"net\": _2, \"asn\": _2, \"conf\": _2, \"nom\": _4 } }, \"ly\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"gov\": _2, \"plc\": _2, \"edu\": _2, \"sch\": _2, \"med\": _2, \"org\": _2, \"id\": _2 } }, \"ma\": { \"$\": 1, \"succ\": { \"co\": _2, \"net\": _2, \"gov\": _2, \"org\": _2, \"ac\": _2, \"press\": _2 } }, \"mc\": { \"$\": 1, \"succ\": { \"tm\": _2, \"asso\": _2 } }, \"md\": { \"$\": 1, \"succ\": { \"blogspot\": _4, \"at\": _4, \"de\": _4, \"jp\": _4, \"to\": _4 } }, \"me\": { \"$\": 1, \"succ\": { \"co\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"ac\": _2, \"gov\": _2, \"its\": _2, \"priv\": _2, \"c66\": _4, \"daplie\": { \"$\": 2, \"succ\": { \"localhost\": _4 } }, \"edgestack\": _4, \"couk\": _4, \"ukco\": _4, \"filegear\": _4, \"filegear-au\": _4, \"filegear-de\": _4, \"filegear-gb\": _4, \"filegear-ie\": _4, \"filegear-jp\": _4, \"filegear-sg\": _4, \"glitch\": _4, \"ravendb\": _4, \"barsy\": _4, \"nctu\": _4, \"soundcast\": _4, \"tcp4\": _4, \"brasilia\": _4, \"ddns\": _4, \"dnsfor\": _4, \"hopto\": _4, \"loginto\": _4, \"noip\": _4, \"webhop\": _4, \"nym\": _4, \"diskstation\": _4, \"dscloud\": _4, \"i234\": _4, \"myds\": _4, \"synology\": _4, \"wedeploy\": _4, \"yombo\": _4, \"nohost\": _4 } }, \"mg\": { \"$\": 1, \"succ\": { \"org\": _2, \"nom\": _2, \"gov\": _2, \"prd\": _2, \"tm\": _2, \"edu\": _2, \"mil\": _2, \"com\": _2, \"co\": _2 } }, \"mh\": _2, \"mil\": _2, \"mk\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"net\": _2, \"edu\": _2, \"gov\": _2, \"inf\": _2, \"name\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"ml\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gouv\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"presse\": _2 } }, \"mm\": _8, \"mn\": { \"$\": 1, \"succ\": { \"gov\": _2, \"edu\": _2, \"org\": _2, \"nyc\": _4, \"nym\": _4 } }, \"mo\": _9, \"mobi\": { \"$\": 1, \"succ\": { \"barsy\": _4, \"dscloud\": _4 } }, \"mp\": _2, \"mq\": _2, \"mr\": { \"$\": 1, \"succ\": { \"gov\": _2, \"blogspot\": _4 } }, \"ms\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"lab\": _4 } }, \"mt\": { \"$\": 1, \"succ\": { \"com\": _5, \"edu\": _2, \"net\": _2, \"org\": _2 } }, \"mu\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"ac\": _2, \"co\": _2, \"or\": _2 } }, \"museum\": { \"$\": 1, \"succ\": { \"academy\": _2, \"agriculture\": _2, \"air\": _2, \"airguard\": _2, \"alabama\": _2, \"alaska\": _2, \"amber\": _2, \"ambulance\": _2, \"american\": _2, \"americana\": _2, \"americanantiques\": _2, \"americanart\": _2, \"amsterdam\": _2, \"and\": _2, \"annefrank\": _2, \"anthro\": _2, \"anthropology\": _2, \"antiques\": _2, \"aquarium\": _2, \"arboretum\": _2, \"archaeological\": _2, \"archaeology\": _2, \"architecture\": _2, \"art\": _2, \"artanddesign\": _2, \"artcenter\": _2, \"artdeco\": _2, \"arteducation\": _2, \"artgallery\": _2, \"arts\": _2, \"artsandcrafts\": _2, \"asmatart\": _2, \"assassination\": _2, \"assisi\": _2, \"association\": _2, \"astronomy\": _2, \"atlanta\": _2, \"austin\": _2, \"australia\": _2, \"automotive\": _2, \"aviation\": _2, \"axis\": _2, \"badajoz\": _2, \"baghdad\": _2, \"bahn\": _2, \"bale\": _2, \"baltimore\": _2, \"barcelona\": _2, \"baseball\": _2, \"basel\": _2, \"baths\": _2, \"bauern\": _2, \"beauxarts\": _2, \"beeldengeluid\": _2, \"bellevue\": _2, \"bergbau\": _2, \"berkeley\": _2, \"berlin\": _2, \"bern\": _2, \"bible\": _2, \"bilbao\": _2, \"bill\": _2, \"birdart\": _2, \"birthplace\": _2, \"bonn\": _2, \"boston\": _2, \"botanical\": _2, \"botanicalgarden\": _2, \"botanicgarden\": _2, \"botany\": _2, \"brandywinevalley\": _2, \"brasil\": _2, \"bristol\": _2, \"british\": _2, \"britishcolumbia\": _2, \"broadcast\": _2, \"brunel\": _2, \"brussel\": _2, \"brussels\": _2, \"bruxelles\": _2, \"building\": _2, \"burghof\": _2, \"bus\": _2, \"bushey\": _2, \"cadaques\": _2, \"california\": _2, \"cambridge\": _2, \"can\": _2, \"canada\": _2, \"capebreton\": _2, \"carrier\": _2, \"cartoonart\": _2, \"casadelamoneda\": _2, \"castle\": _2, \"castres\": _2, \"celtic\": _2, \"center\": _2, \"chattanooga\": _2, \"cheltenham\": _2, \"chesapeakebay\": _2, \"chicago\": _2, \"children\": _2, \"childrens\": _2, \"childrensgarden\": _2, \"chiropractic\": _2, \"chocolate\": _2, \"christiansburg\": _2, \"cincinnati\": _2, \"cinema\": _2, \"circus\": _2, \"civilisation\": _2, \"civilization\": _2, \"civilwar\": _2, \"clinton\": _2, \"clock\": _2, \"coal\": _2, \"coastaldefence\": _2, \"cody\": _2, \"coldwar\": _2, \"collection\": _2, \"colonialwilliamsburg\": _2, \"coloradoplateau\": _2, \"columbia\": _2, \"columbus\": _2, \"communication\": _2, \"communications\": _2, \"community\": _2, \"computer\": _2, \"computerhistory\": _2, \"xn--comunicaes-v6a2o\": _2, \"comunica\u00E7\u00F5es\": _2, \"contemporary\": _2, \"contemporaryart\": _2, \"convent\": _2, \"copenhagen\": _2, \"corporation\": _2, \"xn--correios-e-telecomunicaes-ghc29a\": _2, \"correios-e-telecomunica\u00E7\u00F5es\": _2, \"corvette\": _2, \"costume\": _2, \"countryestate\": _2, \"county\": _2, \"crafts\": _2, \"cranbrook\": _2, \"creation\": _2, \"cultural\": _2, \"culturalcenter\": _2, \"culture\": _2, \"cyber\": _2, \"cymru\": _2, \"dali\": _2, \"dallas\": _2, \"database\": _2, \"ddr\": _2, \"decorativearts\": _2, \"delaware\": _2, \"delmenhorst\": _2, \"denmark\": _2, \"depot\": _2, \"design\": _2, \"detroit\": _2, \"dinosaur\": _2, \"discovery\": _2, \"dolls\": _2, \"donostia\": _2, \"durham\": _2, \"eastafrica\": _2, \"eastcoast\": _2, \"education\": _2, \"educational\": _2, \"egyptian\": _2, \"eisenbahn\": _2, \"elburg\": _2, \"elvendrell\": _2, \"embroidery\": _2, \"encyclopedic\": _2, \"england\": _2, \"entomology\": _2, \"environment\": _2, \"environmentalconservation\": _2, \"epilepsy\": _2, \"essex\": _2, \"estate\": _2, \"ethnology\": _2, \"exeter\": _2, \"exhibition\": _2, \"family\": _2, \"farm\": _2, \"farmequipment\": _2, \"farmers\": _2, \"farmstead\": _2, \"field\": _2, \"figueres\": _2, \"filatelia\": _2, \"film\": _2, \"fineart\": _2, \"finearts\": _2, \"finland\": _2, \"flanders\": _2, \"florida\": _2, \"force\": _2, \"fortmissoula\": _2, \"fortworth\": _2, \"foundation\": _2, \"francaise\": _2, \"frankfurt\": _2, \"franziskaner\": _2, \"freemasonry\": _2, \"freiburg\": _2, \"fribourg\": _2, \"frog\": _2, \"fundacio\": _2, \"furniture\": _2, \"gallery\": _2, \"garden\": _2, \"gateway\": _2, \"geelvinck\": _2, \"gemological\": _2, \"geology\": _2, \"georgia\": _2, \"giessen\": _2, \"glas\": _2, \"glass\": _2, \"gorge\": _2, \"grandrapids\": _2, \"graz\": _2, \"guernsey\": _2, \"halloffame\": _2, \"hamburg\": _2, \"handson\": _2, \"harvestcelebration\": _2, \"hawaii\": _2, \"health\": _2, \"heimatunduhren\": _2, \"hellas\": _2, \"helsinki\": _2, \"hembygdsforbund\": _2, \"heritage\": _2, \"histoire\": _2, \"historical\": _2, \"historicalsociety\": _2, \"historichouses\": _2, \"historisch\": _2, \"historisches\": _2, \"history\": _2, \"historyofscience\": _2, \"horology\": _2, \"house\": _2, \"humanities\": _2, \"illustration\": _2, \"imageandsound\": _2, \"indian\": _2, \"indiana\": _2, \"indianapolis\": _2, \"indianmarket\": _2, \"intelligence\": _2, \"interactive\": _2, \"iraq\": _2, \"iron\": _2, \"isleofman\": _2, \"jamison\": _2, \"jefferson\": _2, \"jerusalem\": _2, \"jewelry\": _2, \"jewish\": _2, \"jewishart\": _2, \"jfk\": _2, \"journalism\": _2, \"judaica\": _2, \"judygarland\": _2, \"juedisches\": _2, \"juif\": _2, \"karate\": _2, \"karikatur\": _2, \"kids\": _2, \"koebenhavn\": _2, \"koeln\": _2, \"kunst\": _2, \"kunstsammlung\": _2, \"kunstunddesign\": _2, \"labor\": _2, \"labour\": _2, \"lajolla\": _2, \"lancashire\": _2, \"landes\": _2, \"lans\": _2, \"xn--lns-qla\": _2, \"l\u00E4ns\": _2, \"larsson\": _2, \"lewismiller\": _2, \"lincoln\": _2, \"linz\": _2, \"living\": _2, \"livinghistory\": _2, \"localhistory\": _2, \"london\": _2, \"losangeles\": _2, \"louvre\": _2, \"loyalist\": _2, \"lucerne\": _2, \"luxembourg\": _2, \"luzern\": _2, \"mad\": _2, \"madrid\": _2, \"mallorca\": _2, \"manchester\": _2, \"mansion\": _2, \"mansions\": _2, \"manx\": _2, \"marburg\": _2, \"maritime\": _2, \"maritimo\": _2, \"maryland\": _2, \"marylhurst\": _2, \"media\": _2, \"medical\": _2, \"medizinhistorisches\": _2, \"meeres\": _2, \"memorial\": _2, \"mesaverde\": _2, \"michigan\": _2, \"midatlantic\": _2, \"military\": _2, \"mill\": _2, \"miners\": _2, \"mining\": _2, \"minnesota\": _2, \"missile\": _2, \"missoula\": _2, \"modern\": _2, \"moma\": _2, \"money\": _2, \"monmouth\": _2, \"monticello\": _2, \"montreal\": _2, \"moscow\": _2, \"motorcycle\": _2, \"muenchen\": _2, \"muenster\": _2, \"mulhouse\": _2, \"muncie\": _2, \"museet\": _2, \"museumcenter\": _2, \"museumvereniging\": _2, \"music\": _2, \"national\": _2, \"nationalfirearms\": _2, \"nationalheritage\": _2, \"nativeamerican\": _2, \"naturalhistory\": _2, \"naturalhistorymuseum\": _2, \"naturalsciences\": _2, \"nature\": _2, \"naturhistorisches\": _2, \"natuurwetenschappen\": _2, \"naumburg\": _2, \"naval\": _2, \"nebraska\": _2, \"neues\": _2, \"newhampshire\": _2, \"newjersey\": _2, \"newmexico\": _2, \"newport\": _2, \"newspaper\": _2, \"newyork\": _2, \"niepce\": _2, \"norfolk\": _2, \"north\": _2, \"nrw\": _2, \"nyc\": _2, \"nyny\": _2, \"oceanographic\": _2, \"oceanographique\": _2, \"omaha\": _2, \"online\": _2, \"ontario\": _2, \"openair\": _2, \"oregon\": _2, \"oregontrail\": _2, \"otago\": _2, \"oxford\": _2, \"pacific\": _2, \"paderborn\": _2, \"palace\": _2, \"paleo\": _2, \"palmsprings\": _2, \"panama\": _2, \"paris\": _2, \"pasadena\": _2, \"pharmacy\": _2, \"philadelphia\": _2, \"philadelphiaarea\": _2, \"philately\": _2, \"phoenix\": _2, \"photography\": _2, \"pilots\": _2, \"pittsburgh\": _2, \"planetarium\": _2, \"plantation\": _2, \"plants\": _2, \"plaza\": _2, \"portal\": _2, \"portland\": _2, \"portlligat\": _2, \"posts-and-telecommunications\": _2, \"preservation\": _2, \"presidio\": _2, \"press\": _2, \"project\": _2, \"public\": _2, \"pubol\": _2, \"quebec\": _2, \"railroad\": _2, \"railway\": _2, \"research\": _2, \"resistance\": _2, \"riodejaneiro\": _2, \"rochester\": _2, \"rockart\": _2, \"roma\": _2, \"russia\": _2, \"saintlouis\": _2, \"salem\": _2, \"salvadordali\": _2, \"salzburg\": _2, \"sandiego\": _2, \"sanfrancisco\": _2, \"santabarbara\": _2, \"santacruz\": _2, \"santafe\": _2, \"saskatchewan\": _2, \"satx\": _2, \"savannahga\": _2, \"schlesisches\": _2, \"schoenbrunn\": _2, \"schokoladen\": _2, \"school\": _2, \"schweiz\": _2, \"science\": _2, \"scienceandhistory\": _2, \"scienceandindustry\": _2, \"sciencecenter\": _2, \"sciencecenters\": _2, \"science-fiction\": _2, \"sciencehistory\": _2, \"sciences\": _2, \"sciencesnaturelles\": _2, \"scotland\": _2, \"seaport\": _2, \"settlement\": _2, \"settlers\": _2, \"shell\": _2, \"sherbrooke\": _2, \"sibenik\": _2, \"silk\": _2, \"ski\": _2, \"skole\": _2, \"society\": _2, \"sologne\": _2, \"soundandvision\": _2, \"southcarolina\": _2, \"southwest\": _2, \"space\": _2, \"spy\": _2, \"square\": _2, \"stadt\": _2, \"stalbans\": _2, \"starnberg\": _2, \"state\": _2, \"stateofdelaware\": _2, \"station\": _2, \"steam\": _2, \"steiermark\": _2, \"stjohn\": _2, \"stockholm\": _2, \"stpetersburg\": _2, \"stuttgart\": _2, \"suisse\": _2, \"surgeonshall\": _2, \"surrey\": _2, \"svizzera\": _2, \"sweden\": _2, \"sydney\": _2, \"tank\": _2, \"tcm\": _2, \"technology\": _2, \"telekommunikation\": _2, \"television\": _2, \"texas\": _2, \"textile\": _2, \"theater\": _2, \"time\": _2, \"timekeeping\": _2, \"topology\": _2, \"torino\": _2, \"touch\": _2, \"town\": _2, \"transport\": _2, \"tree\": _2, \"trolley\": _2, \"trust\": _2, \"trustee\": _2, \"uhren\": _2, \"ulm\": _2, \"undersea\": _2, \"university\": _2, \"usa\": _2, \"usantiques\": _2, \"usarts\": _2, \"uscountryestate\": _2, \"usculture\": _2, \"usdecorativearts\": _2, \"usgarden\": _2, \"ushistory\": _2, \"ushuaia\": _2, \"uslivinghistory\": _2, \"utah\": _2, \"uvic\": _2, \"valley\": _2, \"vantaa\": _2, \"versailles\": _2, \"viking\": _2, \"village\": _2, \"virginia\": _2, \"virtual\": _2, \"virtuel\": _2, \"vlaanderen\": _2, \"volkenkunde\": _2, \"wales\": _2, \"wallonie\": _2, \"war\": _2, \"washingtondc\": _2, \"watchandclock\": _2, \"watch-and-clock\": _2, \"western\": _2, \"westfalen\": _2, \"whaling\": _2, \"wildlife\": _2, \"williamsburg\": _2, \"windmill\": _2, \"workshop\": _2, \"york\": _2, \"yorkshire\": _2, \"yosemite\": _2, \"youth\": _2, \"zoological\": _2, \"zoology\": _2, \"xn--9dbhblg6di\": _2, \"\u05D9\u05E8\u05D5\u05E9\u05DC\u05D9\u05DD\": _2, \"xn--h1aegh\": _2, \"\u0438\u043A\u043E\u043C\": _2 } }, \"mv\": { \"$\": 1, \"succ\": { \"aero\": _2, \"biz\": _2, \"com\": _2, \"coop\": _2, \"edu\": _2, \"gov\": _2, \"info\": _2, \"int\": _2, \"mil\": _2, \"museum\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"pro\": _2 } }, \"mw\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _2, \"com\": _2, \"coop\": _2, \"edu\": _2, \"gov\": _2, \"int\": _2, \"museum\": _2, \"net\": _2, \"org\": _2 } }, \"mx\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"gob\": _2, \"edu\": _2, \"net\": _2, \"blogspot\": _4, \"nym\": _4 } }, \"my\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"edu\": _2, \"mil\": _2, \"name\": _2, \"blogspot\": _4 } }, \"mz\": { \"$\": 1, \"succ\": { \"ac\": _2, \"adv\": _2, \"co\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2 } }, \"na\": { \"$\": 1, \"succ\": { \"info\": _2, \"pro\": _2, \"name\": _2, \"school\": _2, \"or\": _2, \"dr\": _2, \"us\": _2, \"mx\": _2, \"ca\": _2, \"in\": _2, \"cc\": _2, \"tv\": _2, \"ws\": _2, \"mobi\": _2, \"co\": _2, \"com\": _2, \"org\": _2 } }, \"name\": { \"$\": 1, \"succ\": { \"her\": _26, \"his\": _26 } }, \"nc\": { \"$\": 1, \"succ\": { \"asso\": _2, \"nom\": _2 } }, \"ne\": _2, \"net\": { \"$\": 1, \"succ\": { \"adobeaemcloud\": _4, \"alwaysdata\": _4, \"cloudfront\": _4, \"t3l3p0rt\": _4, \"myfritz\": _4, \"blackbaudcdn\": _4, \"boomla\": _4, \"bplaced\": _4, \"square7\": _4, \"gb\": _4, \"hu\": _4, \"jp\": _4, \"se\": _4, \"uk\": _4, \"in\": _4, \"clic2000\": _4, \"cloudaccess\": _4, \"cdn77-ssl\": _4, \"cdn77\": { \"$\": 0, \"succ\": { \"r\": _4 } }, \"cloudeity\": _4, \"feste-ip\": _4, \"knx-server\": _4, \"static-access\": _4, \"cryptonomic\": _7, \"dattolocal\": _4, \"mydatto\": _4, \"debian\": _4, \"bitbridge\": _4, \"at-band-camp\": _4, \"blogdns\": _4, \"broke-it\": _4, \"buyshouses\": _4, \"dnsalias\": _4, \"dnsdojo\": _4, \"does-it\": _4, \"dontexist\": _4, \"dynalias\": _4, \"dynathome\": _4, \"endofinternet\": _4, \"from-az\": _4, \"from-co\": _4, \"from-la\": _4, \"from-ny\": _4, \"gets-it\": _4, \"ham-radio-op\": _4, \"homeftp\": _4, \"homeip\": _4, \"homelinux\": _4, \"homeunix\": _4, \"in-the-band\": _4, \"is-a-chef\": _4, \"is-a-geek\": _4, \"isa-geek\": _4, \"kicks-ass\": _4, \"office-on-the\": _4, \"podzone\": _4, \"scrapper-site\": _4, \"selfip\": _4, \"sells-it\": _4, \"servebbs\": _4, \"serveftp\": _4, \"thruhere\": _4, \"webhop\": _4, \"definima\": _4, \"casacam\": _4, \"dynu\": _4, \"dynv6\": _4, \"twmail\": _4, \"ru\": _4, \"channelsdvr\": { \"$\": 2, \"succ\": { \"u\": _4 } }, \"fastlylb\": { \"$\": 2, \"succ\": { \"map\": _4 } }, \"fastly\": { \"$\": 0, \"succ\": { \"freetls\": _4, \"map\": _4, \"prod\": { \"$\": 0, \"succ\": { \"a\": _4, \"global\": _4 } }, \"ssl\": { \"$\": 0, \"succ\": { \"a\": _4, \"b\": _4, \"global\": _4 } } } }, \"edgeapp\": _4, \"flynnhosting\": _4, \"cloudfunctions\": _4, \"moonscale\": _4, \"in-dsl\": _4, \"in-vpn\": _4, \"ipifony\": _4, \"iobb\": _4, \"cloudjiffy\": _4, \"elastx\": { \"$\": 0, \"succ\": { \"jls-sto1\": _4 } }, \"saveincloud\": _27, \"kinghost\": _4, \"uni5\": _4, \"barsy\": _4, \"memset\": _4, \"azurewebsites\": _4, \"azure-mobile\": _4, \"cloudapp\": _4, \"dnsup\": _4, \"hicam\": _4, \"now-dns\": _4, \"ownip\": _4, \"vpndns\": _4, \"eating-organic\": _4, \"mydissent\": _4, \"myeffect\": _4, \"mymediapc\": _4, \"mypsx\": _4, \"mysecuritycamera\": _4, \"nhlfan\": _4, \"no-ip\": _4, \"pgafan\": _4, \"privatizehealthinsurance\": _4, \"bounceme\": _4, \"ddns\": _4, \"redirectme\": _4, \"serveblog\": _4, \"serveminecraft\": _4, \"sytes\": _4, \"cloudycluster\": _4, \"rackmaze\": _4, \"schokokeks\": _4, \"firewall-gateway\": _4, \"seidat\": _4, \"senseering\": _4, \"siteleaf\": _4, \"srcf\": { \"$\": 0, \"succ\": { \"soc\": _4, \"user\": _4 } }, \"dsmynas\": _4, \"familyds\": _4, \"community-pro\": _4, \"meinforum\": _4, \"yandexcloud\": { \"$\": 2, \"succ\": { \"storage\": _4, \"website\": _4 } }, \"za\": _4 } }, \"nf\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"per\": _2, \"rec\": _2, \"web\": _2, \"arts\": _2, \"firm\": _2, \"info\": _2, \"other\": _2, \"store\": _2 } }, \"ng\": { \"$\": 1, \"succ\": { \"com\": _5, \"edu\": _2, \"gov\": _2, \"i\": _2, \"mil\": _2, \"mobi\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"sch\": _2, \"col\": _4, \"firm\": _4, \"gen\": _4, \"ltd\": _4, \"ngo\": _4 } }, \"ni\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _2, \"com\": _2, \"edu\": _2, \"gob\": _2, \"in\": _2, \"info\": _2, \"int\": _2, \"mil\": _2, \"net\": _2, \"nom\": _2, \"org\": _2, \"web\": _2 } }, \"nl\": { \"$\": 1, \"succ\": { \"amsw\": _4, \"virtueeldomein\": _4, \"co\": _4, \"hosting-cluster\": _4, \"blogspot\": _4, \"khplay\": _4, \"transurl\": _7, \"cistron\": _4, \"demon\": _4 } }, \"no\": { \"$\": 1, \"succ\": { \"fhs\": _2, \"vgs\": _2, \"fylkesbibl\": _2, \"folkebibl\": _2, \"museum\": _2, \"idrett\": _2, \"priv\": _2, \"mil\": _2, \"stat\": _2, \"dep\": _2, \"kommune\": _2, \"herad\": _2, \"aa\": _28, \"ah\": _28, \"bu\": _28, \"fm\": _28, \"hl\": _28, \"hm\": _28, \"jan-mayen\": _28, \"mr\": _28, \"nl\": _28, \"nt\": _28, \"of\": _28, \"ol\": _28, \"oslo\": _28, \"rl\": _28, \"sf\": _28, \"st\": _28, \"svalbard\": _28, \"tm\": _28, \"tr\": _28, \"va\": _28, \"vf\": _28, \"akrehamn\": _2, \"xn--krehamn-dxa\": _2, \"\u00E5krehamn\": _2, \"algard\": _2, \"xn--lgrd-poac\": _2, \"\u00E5lg\u00E5rd\": _2, \"arna\": _2, \"brumunddal\": _2, \"bryne\": _2, \"bronnoysund\": _2, \"xn--brnnysund-m8ac\": _2, \"br\u00F8nn\u00F8ysund\": _2, \"drobak\": _2, \"xn--drbak-wua\": _2, \"dr\u00F8bak\": _2, \"egersund\": _2, \"fetsund\": _2, \"floro\": _2, \"xn--flor-jra\": _2, \"flor\u00F8\": _2, \"fredrikstad\": _2, \"hokksund\": _2, \"honefoss\": _2, \"xn--hnefoss-q1a\": _2, \"h\u00F8nefoss\": _2, \"jessheim\": _2, \"jorpeland\": _2, \"xn--jrpeland-54a\": _2, \"j\u00F8rpeland\": _2, \"kirkenes\": _2, \"kopervik\": _2, \"krokstadelva\": _2, \"langevag\": _2, \"xn--langevg-jxa\": _2, \"langev\u00E5g\": _2, \"leirvik\": _2, \"mjondalen\": _2, \"xn--mjndalen-64a\": _2, \"mj\u00F8ndalen\": _2, \"mo-i-rana\": _2, \"mosjoen\": _2, \"xn--mosjen-eya\": _2, \"mosj\u00F8en\": _2, \"nesoddtangen\": _2, \"orkanger\": _2, \"osoyro\": _2, \"xn--osyro-wua\": _2, \"os\u00F8yro\": _2, \"raholt\": _2, \"xn--rholt-mra\": _2, \"r\u00E5holt\": _2, \"sandnessjoen\": _2, \"xn--sandnessjen-ogb\": _2, \"sandnessj\u00F8en\": _2, \"skedsmokorset\": _2, \"slattum\": _2, \"spjelkavik\": _2, \"stathelle\": _2, \"stavern\": _2, \"stjordalshalsen\": _2, \"xn--stjrdalshalsen-sqb\": _2, \"stj\u00F8rdalshalsen\": _2, \"tananger\": _2, \"tranby\": _2, \"vossevangen\": _2, \"afjord\": _2, \"xn--fjord-lra\": _2, \"\u00E5fjord\": _2, \"agdenes\": _2, \"al\": _2, \"xn--l-1fa\": _2, \"\u00E5l\": _2, \"alesund\": _2, \"xn--lesund-hua\": _2, \"\u00E5lesund\": _2, \"alstahaug\": _2, \"alta\": _2, \"xn--lt-liac\": _2, \"\u00E1lt\u00E1\": _2, \"alaheadju\": _2, \"xn--laheadju-7ya\": _2, \"\u00E1laheadju\": _2, \"alvdal\": _2, \"amli\": _2, \"xn--mli-tla\": _2, \"\u00E5mli\": _2, \"amot\": _2, \"xn--mot-tla\": _2, \"\u00E5mot\": _2, \"andebu\": _2, \"andoy\": _2, \"xn--andy-ira\": _2, \"and\u00F8y\": _2, \"andasuolo\": _2, \"ardal\": _2, \"xn--rdal-poa\": _2, \"\u00E5rdal\": _2, \"aremark\": _2, \"arendal\": _2, \"xn--s-1fa\": _2, \"\u00E5s\": _2, \"aseral\": _2, \"xn--seral-lra\": _2, \"\u00E5seral\": _2, \"asker\": _2, \"askim\": _2, \"askvoll\": _2, \"askoy\": _2, \"xn--asky-ira\": _2, \"ask\u00F8y\": _2, \"asnes\": _2, \"xn--snes-poa\": _2, \"\u00E5snes\": _2, \"audnedaln\": _2, \"aukra\": _2, \"aure\": _2, \"aurland\": _2, \"aurskog-holand\": _2, \"xn--aurskog-hland-jnb\": _2, \"aurskog-h\u00F8land\": _2, \"austevoll\": _2, \"austrheim\": _2, \"averoy\": _2, \"xn--avery-yua\": _2, \"aver\u00F8y\": _2, \"balestrand\": _2, \"ballangen\": _2, \"balat\": _2, \"xn--blt-elab\": _2, \"b\u00E1l\u00E1t\": _2, \"balsfjord\": _2, \"bahccavuotna\": _2, \"xn--bhccavuotna-k7a\": _2, \"b\u00E1hccavuotna\": _2, \"bamble\": _2, \"bardu\": _2, \"beardu\": _2, \"beiarn\": _2, \"bajddar\": _2, \"xn--bjddar-pta\": _2, \"b\u00E1jddar\": _2, \"baidar\": _2, \"xn--bidr-5nac\": _2, \"b\u00E1id\u00E1r\": _2, \"berg\": _2, \"bergen\": _2, \"berlevag\": _2, \"xn--berlevg-jxa\": _2, \"berlev\u00E5g\": _2, \"bearalvahki\": _2, \"xn--bearalvhki-y4a\": _2, \"bearalv\u00E1hki\": _2, \"bindal\": _2, \"birkenes\": _2, \"bjarkoy\": _2, \"xn--bjarky-fya\": _2, \"bjark\u00F8y\": _2, \"bjerkreim\": _2, \"bjugn\": _2, \"bodo\": _2, \"xn--bod-2na\": _2, \"bod\u00F8\": _2, \"badaddja\": _2, \"xn--bdddj-mrabd\": _2, \"b\u00E5d\u00E5ddj\u00E5\": _2, \"budejju\": _2, \"bokn\": _2, \"bremanger\": _2, \"bronnoy\": _2, \"xn--brnny-wuac\": _2, \"br\u00F8nn\u00F8y\": _2, \"bygland\": _2, \"bykle\": _2, \"barum\": _2, \"xn--brum-voa\": _2, \"b\u00E6rum\": _2, \"telemark\": { \"$\": 0, \"succ\": { \"bo\": _2, \"xn--b-5ga\": _2, \"b\u00F8\": _2 } }, \"nordland\": { \"$\": 0, \"succ\": { \"bo\": _2, \"xn--b-5ga\": _2, \"b\u00F8\": _2, \"heroy\": _2, \"xn--hery-ira\": _2, \"her\u00F8y\": _2 } }, \"bievat\": _2, \"xn--bievt-0qa\": _2, \"biev\u00E1t\": _2, \"bomlo\": _2, \"xn--bmlo-gra\": _2, \"b\u00F8mlo\": _2, \"batsfjord\": _2, \"xn--btsfjord-9za\": _2, \"b\u00E5tsfjord\": _2, \"bahcavuotna\": _2, \"xn--bhcavuotna-s4a\": _2, \"b\u00E1hcavuotna\": _2, \"dovre\": _2, \"drammen\": _2, \"drangedal\": _2, \"dyroy\": _2, \"xn--dyry-ira\": _2, \"dyr\u00F8y\": _2, \"donna\": _2, \"xn--dnna-gra\": _2, \"d\u00F8nna\": _2, \"eid\": _2, \"eidfjord\": _2, \"eidsberg\": _2, \"eidskog\": _2, \"eidsvoll\": _2, \"eigersund\": _2, \"elverum\": _2, \"enebakk\": _2, \"engerdal\": _2, \"etne\": _2, \"etnedal\": _2, \"evenes\": _2, \"evenassi\": _2, \"xn--eveni-0qa01ga\": _2, \"even\u00E1\u0161\u0161i\": _2, \"evje-og-hornnes\": _2, \"farsund\": _2, \"fauske\": _2, \"fuossko\": _2, \"fuoisku\": _2, \"fedje\": _2, \"fet\": _2, \"finnoy\": _2, \"xn--finny-yua\": _2, \"finn\u00F8y\": _2, \"fitjar\": _2, \"fjaler\": _2, \"fjell\": _2, \"flakstad\": _2, \"flatanger\": _2, \"flekkefjord\": _2, \"flesberg\": _2, \"flora\": _2, \"fla\": _2, \"xn--fl-zia\": _2, \"fl\u00E5\": _2, \"folldal\": _2, \"forsand\": _2, \"fosnes\": _2, \"frei\": _2, \"frogn\": _2, \"froland\": _2, \"frosta\": _2, \"frana\": _2, \"xn--frna-woa\": _2, \"fr\u00E6na\": _2, \"froya\": _2, \"xn--frya-hra\": _2, \"fr\u00F8ya\": _2, \"fusa\": _2, \"fyresdal\": _2, \"forde\": _2, \"xn--frde-gra\": _2, \"f\u00F8rde\": _2, \"gamvik\": _2, \"gangaviika\": _2, \"xn--ggaviika-8ya47h\": _2, \"g\u00E1\u014Bgaviika\": _2, \"gaular\": _2, \"gausdal\": _2, \"gildeskal\": _2, \"xn--gildeskl-g0a\": _2, \"gildesk\u00E5l\": _2, \"giske\": _2, \"gjemnes\": _2, \"gjerdrum\": _2, \"gjerstad\": _2, \"gjesdal\": _2, \"gjovik\": _2, \"xn--gjvik-wua\": _2, \"gj\u00F8vik\": _2, \"gloppen\": _2, \"gol\": _2, \"gran\": _2, \"grane\": _2, \"granvin\": _2, \"gratangen\": _2, \"grimstad\": _2, \"grong\": _2, \"kraanghke\": _2, \"xn--kranghke-b0a\": _2, \"kr\u00E5anghke\": _2, \"grue\": _2, \"gulen\": _2, \"hadsel\": _2, \"halden\": _2, \"halsa\": _2, \"hamar\": _2, \"hamaroy\": _2, \"habmer\": _2, \"xn--hbmer-xqa\": _2, \"h\u00E1bmer\": _2, \"hapmir\": _2, \"xn--hpmir-xqa\": _2, \"h\u00E1pmir\": _2, \"hammerfest\": _2, \"hammarfeasta\": _2, \"xn--hmmrfeasta-s4ac\": _2, \"h\u00E1mm\u00E1rfeasta\": _2, \"haram\": _2, \"hareid\": _2, \"harstad\": _2, \"hasvik\": _2, \"aknoluokta\": _2, \"xn--koluokta-7ya57h\": _2, \"\u00E1k\u014Boluokta\": _2, \"hattfjelldal\": _2, \"aarborte\": _2, \"haugesund\": _2, \"hemne\": _2, \"hemnes\": _2, \"hemsedal\": _2, \"more-og-romsdal\": { \"$\": 0, \"succ\": { \"heroy\": _2, \"sande\": _2 } }, \"xn--mre-og-romsdal-qqb\": { \"$\": 0, \"succ\": { \"xn--hery-ira\": _2, \"sande\": _2 } }, \"m\u00F8re-og-romsdal\": { \"$\": 0, \"succ\": { \"her\u00F8y\": _2, \"sande\": _2 } }, \"hitra\": _2, \"hjartdal\": _2, \"hjelmeland\": _2, \"hobol\": _2, \"xn--hobl-ira\": _2, \"hob\u00F8l\": _2, \"hof\": _2, \"hol\": _2, \"hole\": _2, \"holmestrand\": _2, \"holtalen\": _2, \"xn--holtlen-hxa\": _2, \"holt\u00E5len\": _2, \"hornindal\": _2, \"horten\": _2, \"hurdal\": _2, \"hurum\": _2, \"hvaler\": _2, \"hyllestad\": _2, \"hagebostad\": _2, \"xn--hgebostad-g3a\": _2, \"h\u00E6gebostad\": _2, \"hoyanger\": _2, \"xn--hyanger-q1a\": _2, \"h\u00F8yanger\": _2, \"hoylandet\": _2, \"xn--hylandet-54a\": _2, \"h\u00F8ylandet\": _2, \"ha\": _2, \"xn--h-2fa\": _2, \"h\u00E5\": _2, \"ibestad\": _2, \"inderoy\": _2, \"xn--indery-fya\": _2, \"inder\u00F8y\": _2, \"iveland\": _2, \"jevnaker\": _2, \"jondal\": _2, \"jolster\": _2, \"xn--jlster-bya\": _2, \"j\u00F8lster\": _2, \"karasjok\": _2, \"karasjohka\": _2, \"xn--krjohka-hwab49j\": _2, \"k\u00E1r\u00E1\u0161johka\": _2, \"karlsoy\": _2, \"galsa\": _2, \"xn--gls-elac\": _2, \"g\u00E1ls\u00E1\": _2, \"karmoy\": _2, \"xn--karmy-yua\": _2, \"karm\u00F8y\": _2, \"kautokeino\": _2, \"guovdageaidnu\": _2, \"klepp\": _2, \"klabu\": _2, \"xn--klbu-woa\": _2, \"kl\u00E6bu\": _2, \"kongsberg\": _2, \"kongsvinger\": _2, \"kragero\": _2, \"xn--krager-gya\": _2, \"krager\u00F8\": _2, \"kristiansand\": _2, \"kristiansund\": _2, \"krodsherad\": _2, \"xn--krdsherad-m8a\": _2, \"kr\u00F8dsherad\": _2, \"kvalsund\": _2, \"rahkkeravju\": _2, \"xn--rhkkervju-01af\": _2, \"r\u00E1hkker\u00E1vju\": _2, \"kvam\": _2, \"kvinesdal\": _2, \"kvinnherad\": _2, \"kviteseid\": _2, \"kvitsoy\": _2, \"xn--kvitsy-fya\": _2, \"kvits\u00F8y\": _2, \"kvafjord\": _2, \"xn--kvfjord-nxa\": _2, \"kv\u00E6fjord\": _2, \"giehtavuoatna\": _2, \"kvanangen\": _2, \"xn--kvnangen-k0a\": _2, \"kv\u00E6nangen\": _2, \"navuotna\": _2, \"xn--nvuotna-hwa\": _2, \"n\u00E1vuotna\": _2, \"kafjord\": _2, \"xn--kfjord-iua\": _2, \"k\u00E5fjord\": _2, \"gaivuotna\": _2, \"xn--givuotna-8ya\": _2, \"g\u00E1ivuotna\": _2, \"larvik\": _2, \"lavangen\": _2, \"lavagis\": _2, \"loabat\": _2, \"xn--loabt-0qa\": _2, \"loab\u00E1t\": _2, \"lebesby\": _2, \"davvesiida\": _2, \"leikanger\": _2, \"leirfjord\": _2, \"leka\": _2, \"leksvik\": _2, \"lenvik\": _2, \"leangaviika\": _2, \"xn--leagaviika-52b\": _2, \"lea\u014Bgaviika\": _2, \"lesja\": _2, \"levanger\": _2, \"lier\": _2, \"lierne\": _2, \"lillehammer\": _2, \"lillesand\": _2, \"lindesnes\": _2, \"lindas\": _2, \"xn--linds-pra\": _2, \"lind\u00E5s\": _2, \"lom\": _2, \"loppa\": _2, \"lahppi\": _2, \"xn--lhppi-xqa\": _2, \"l\u00E1hppi\": _2, \"lund\": _2, \"lunner\": _2, \"luroy\": _2, \"xn--lury-ira\": _2, \"lur\u00F8y\": _2, \"luster\": _2, \"lyngdal\": _2, \"lyngen\": _2, \"ivgu\": _2, \"lardal\": _2, \"lerdal\": _2, \"xn--lrdal-sra\": _2, \"l\u00E6rdal\": _2, \"lodingen\": _2, \"xn--ldingen-q1a\": _2, \"l\u00F8dingen\": _2, \"lorenskog\": _2, \"xn--lrenskog-54a\": _2, \"l\u00F8renskog\": _2, \"loten\": _2, \"xn--lten-gra\": _2, \"l\u00F8ten\": _2, \"malvik\": _2, \"masoy\": _2, \"xn--msy-ula0h\": _2, \"m\u00E5s\u00F8y\": _2, \"muosat\": _2, \"xn--muost-0qa\": _2, \"muos\u00E1t\": _2, \"mandal\": _2, \"marker\": _2, \"marnardal\": _2, \"masfjorden\": _2, \"meland\": _2, \"meldal\": _2, \"melhus\": _2, \"meloy\": _2, \"xn--mely-ira\": _2, \"mel\u00F8y\": _2, \"meraker\": _2, \"xn--merker-kua\": _2, \"mer\u00E5ker\": _2, \"moareke\": _2, \"xn--moreke-jua\": _2, \"mo\u00E5reke\": _2, \"midsund\": _2, \"midtre-gauldal\": _2, \"modalen\": _2, \"modum\": _2, \"molde\": _2, \"moskenes\": _2, \"moss\": _2, \"mosvik\": _2, \"malselv\": _2, \"xn--mlselv-iua\": _2, \"m\u00E5lselv\": _2, \"malatvuopmi\": _2, \"xn--mlatvuopmi-s4a\": _2, \"m\u00E1latvuopmi\": _2, \"namdalseid\": _2, \"aejrie\": _2, \"namsos\": _2, \"namsskogan\": _2, \"naamesjevuemie\": _2, \"xn--nmesjevuemie-tcba\": _2, \"n\u00E5\u00E5mesjevuemie\": _2, \"laakesvuemie\": _2, \"nannestad\": _2, \"narvik\": _2, \"narviika\": _2, \"naustdal\": _2, \"nedre-eiker\": _2, \"akershus\": _29, \"buskerud\": _29, \"nesna\": _2, \"nesodden\": _2, \"nesseby\": _2, \"unjarga\": _2, \"xn--unjrga-rta\": _2, \"unj\u00E1rga\": _2, \"nesset\": _2, \"nissedal\": _2, \"nittedal\": _2, \"nord-aurdal\": _2, \"nord-fron\": _2, \"nord-odal\": _2, \"norddal\": _2, \"nordkapp\": _2, \"davvenjarga\": _2, \"xn--davvenjrga-y4a\": _2, \"davvenj\u00E1rga\": _2, \"nordre-land\": _2, \"nordreisa\": _2, \"raisa\": _2, \"xn--risa-5na\": _2, \"r\u00E1isa\": _2, \"nore-og-uvdal\": _2, \"notodden\": _2, \"naroy\": _2, \"xn--nry-yla5g\": _2, \"n\u00E6r\u00F8y\": _2, \"notteroy\": _2, \"xn--nttery-byae\": _2, \"n\u00F8tter\u00F8y\": _2, \"odda\": _2, \"oksnes\": _2, \"xn--ksnes-uua\": _2, \"\u00F8ksnes\": _2, \"oppdal\": _2, \"oppegard\": _2, \"xn--oppegrd-ixa\": _2, \"oppeg\u00E5rd\": _2, \"orkdal\": _2, \"orland\": _2, \"xn--rland-uua\": _2, \"\u00F8rland\": _2, \"orskog\": _2, \"xn--rskog-uua\": _2, \"\u00F8rskog\": _2, \"orsta\": _2, \"xn--rsta-fra\": _2, \"\u00F8rsta\": _2, \"hedmark\": { \"$\": 0, \"succ\": { \"os\": _2, \"valer\": _2, \"xn--vler-qoa\": _2, \"v\u00E5ler\": _2 } }, \"hordaland\": { \"$\": 0, \"succ\": { \"os\": _2 } }, \"osen\": _2, \"osteroy\": _2, \"xn--ostery-fya\": _2, \"oster\u00F8y\": _2, \"ostre-toten\": _2, \"xn--stre-toten-zcb\": _2, \"\u00F8stre-toten\": _2, \"overhalla\": _2, \"ovre-eiker\": _2, \"xn--vre-eiker-k8a\": _2, \"\u00F8vre-eiker\": _2, \"oyer\": _2, \"xn--yer-zna\": _2, \"\u00F8yer\": _2, \"oygarden\": _2, \"xn--ygarden-p1a\": _2, \"\u00F8ygarden\": _2, \"oystre-slidre\": _2, \"xn--ystre-slidre-ujb\": _2, \"\u00F8ystre-slidre\": _2, \"porsanger\": _2, \"porsangu\": _2, \"xn--porsgu-sta26f\": _2, \"pors\u00E1\u014Bgu\": _2, \"porsgrunn\": _2, \"radoy\": _2, \"xn--rady-ira\": _2, \"rad\u00F8y\": _2, \"rakkestad\": _2, \"rana\": _2, \"ruovat\": _2, \"randaberg\": _2, \"rauma\": _2, \"rendalen\": _2, \"rennebu\": _2, \"rennesoy\": _2, \"xn--rennesy-v1a\": _2, \"rennes\u00F8y\": _2, \"rindal\": _2, \"ringebu\": _2, \"ringerike\": _2, \"ringsaker\": _2, \"rissa\": _2, \"risor\": _2, \"xn--risr-ira\": _2, \"ris\u00F8r\": _2, \"roan\": _2, \"rollag\": _2, \"rygge\": _2, \"ralingen\": _2, \"xn--rlingen-mxa\": _2, \"r\u00E6lingen\": _2, \"rodoy\": _2, \"xn--rdy-0nab\": _2, \"r\u00F8d\u00F8y\": _2, \"romskog\": _2, \"xn--rmskog-bya\": _2, \"r\u00F8mskog\": _2, \"roros\": _2, \"xn--rros-gra\": _2, \"r\u00F8ros\": _2, \"rost\": _2, \"xn--rst-0na\": _2, \"r\u00F8st\": _2, \"royken\": _2, \"xn--ryken-vua\": _2, \"r\u00F8yken\": _2, \"royrvik\": _2, \"xn--ryrvik-bya\": _2, \"r\u00F8yrvik\": _2, \"rade\": _2, \"xn--rde-ula\": _2, \"r\u00E5de\": _2, \"salangen\": _2, \"siellak\": _2, \"saltdal\": _2, \"salat\": _2, \"xn--slt-elab\": _2, \"s\u00E1l\u00E1t\": _2, \"xn--slat-5na\": _2, \"s\u00E1lat\": _2, \"samnanger\": _2, \"vestfold\": { \"$\": 0, \"succ\": { \"sande\": _2 } }, \"sandefjord\": _2, \"sandnes\": _2, \"sandoy\": _2, \"xn--sandy-yua\": _2, \"sand\u00F8y\": _2, \"sarpsborg\": _2, \"sauda\": _2, \"sauherad\": _2, \"sel\": _2, \"selbu\": _2, \"selje\": _2, \"seljord\": _2, \"sigdal\": _2, \"siljan\": _2, \"sirdal\": _2, \"skaun\": _2, \"skedsmo\": _2, \"ski\": _2, \"skien\": _2, \"skiptvet\": _2, \"skjervoy\": _2, \"xn--skjervy-v1a\": _2, \"skjerv\u00F8y\": _2, \"skierva\": _2, \"xn--skierv-uta\": _2, \"skierv\u00E1\": _2, \"skjak\": _2, \"xn--skjk-soa\": _2, \"skj\u00E5k\": _2, \"skodje\": _2, \"skanland\": _2, \"xn--sknland-fxa\": _2, \"sk\u00E5nland\": _2, \"skanit\": _2, \"xn--sknit-yqa\": _2, \"sk\u00E1nit\": _2, \"smola\": _2, \"xn--smla-hra\": _2, \"sm\u00F8la\": _2, \"snillfjord\": _2, \"snasa\": _2, \"xn--snsa-roa\": _2, \"sn\u00E5sa\": _2, \"snoasa\": _2, \"snaase\": _2, \"xn--snase-nra\": _2, \"sn\u00E5ase\": _2, \"sogndal\": _2, \"sokndal\": _2, \"sola\": _2, \"solund\": _2, \"songdalen\": _2, \"sortland\": _2, \"spydeberg\": _2, \"stange\": _2, \"stavanger\": _2, \"steigen\": _2, \"steinkjer\": _2, \"stjordal\": _2, \"xn--stjrdal-s1a\": _2, \"stj\u00F8rdal\": _2, \"stokke\": _2, \"stor-elvdal\": _2, \"stord\": _2, \"stordal\": _2, \"storfjord\": _2, \"omasvuotna\": _2, \"strand\": _2, \"stranda\": _2, \"stryn\": _2, \"sula\": _2, \"suldal\": _2, \"sund\": _2, \"sunndal\": _2, \"surnadal\": _2, \"sveio\": _2, \"svelvik\": _2, \"sykkylven\": _2, \"sogne\": _2, \"xn--sgne-gra\": _2, \"s\u00F8gne\": _2, \"somna\": _2, \"xn--smna-gra\": _2, \"s\u00F8mna\": _2, \"sondre-land\": _2, \"xn--sndre-land-0cb\": _2, \"s\u00F8ndre-land\": _2, \"sor-aurdal\": _2, \"xn--sr-aurdal-l8a\": _2, \"s\u00F8r-aurdal\": _2, \"sor-fron\": _2, \"xn--sr-fron-q1a\": _2, \"s\u00F8r-fron\": _2, \"sor-odal\": _2, \"xn--sr-odal-q1a\": _2, \"s\u00F8r-odal\": _2, \"sor-varanger\": _2, \"xn--sr-varanger-ggb\": _2, \"s\u00F8r-varanger\": _2, \"matta-varjjat\": _2, \"xn--mtta-vrjjat-k7af\": _2, \"m\u00E1tta-v\u00E1rjjat\": _2, \"sorfold\": _2, \"xn--srfold-bya\": _2, \"s\u00F8rfold\": _2, \"sorreisa\": _2, \"xn--srreisa-q1a\": _2, \"s\u00F8rreisa\": _2, \"sorum\": _2, \"xn--srum-gra\": _2, \"s\u00F8rum\": _2, \"tana\": _2, \"deatnu\": _2, \"time\": _2, \"tingvoll\": _2, \"tinn\": _2, \"tjeldsund\": _2, \"dielddanuorri\": _2, \"tjome\": _2, \"xn--tjme-hra\": _2, \"tj\u00F8me\": _2, \"tokke\": _2, \"tolga\": _2, \"torsken\": _2, \"tranoy\": _2, \"xn--trany-yua\": _2, \"tran\u00F8y\": _2, \"tromso\": _2, \"xn--troms-zua\": _2, \"troms\u00F8\": _2, \"tromsa\": _2, \"romsa\": _2, \"trondheim\": _2, \"troandin\": _2, \"trysil\": _2, \"trana\": _2, \"xn--trna-woa\": _2, \"tr\u00E6na\": _2, \"trogstad\": _2, \"xn--trgstad-r1a\": _2, \"tr\u00F8gstad\": _2, \"tvedestrand\": _2, \"tydal\": _2, \"tynset\": _2, \"tysfjord\": _2, \"divtasvuodna\": _2, \"divttasvuotna\": _2, \"tysnes\": _2, \"tysvar\": _2, \"xn--tysvr-vra\": _2, \"tysv\u00E6r\": _2, \"tonsberg\": _2, \"xn--tnsberg-q1a\": _2, \"t\u00F8nsberg\": _2, \"ullensaker\": _2, \"ullensvang\": _2, \"ulvik\": _2, \"utsira\": _2, \"vadso\": _2, \"xn--vads-jra\": _2, \"vads\u00F8\": _2, \"cahcesuolo\": _2, \"xn--hcesuolo-7ya35b\": _2, \"\u010D\u00E1hcesuolo\": _2, \"vaksdal\": _2, \"valle\": _2, \"vang\": _2, \"vanylven\": _2, \"vardo\": _2, \"xn--vard-jra\": _2, \"vard\u00F8\": _2, \"varggat\": _2, \"xn--vrggt-xqad\": _2, \"v\u00E1rgg\u00E1t\": _2, \"vefsn\": _2, \"vaapste\": _2, \"vega\": _2, \"vegarshei\": _2, \"xn--vegrshei-c0a\": _2, \"veg\u00E5rshei\": _2, \"vennesla\": _2, \"verdal\": _2, \"verran\": _2, \"vestby\": _2, \"vestnes\": _2, \"vestre-slidre\": _2, \"vestre-toten\": _2, \"vestvagoy\": _2, \"xn--vestvgy-ixa6o\": _2, \"vestv\u00E5g\u00F8y\": _2, \"vevelstad\": _2, \"vik\": _2, \"vikna\": _2, \"vindafjord\": _2, \"volda\": _2, \"voss\": _2, \"varoy\": _2, \"xn--vry-yla5g\": _2, \"v\u00E6r\u00F8y\": _2, \"vagan\": _2, \"xn--vgan-qoa\": _2, \"v\u00E5gan\": _2, \"voagat\": _2, \"vagsoy\": _2, \"xn--vgsy-qoa0j\": _2, \"v\u00E5gs\u00F8y\": _2, \"vaga\": _2, \"xn--vg-yiab\": _2, \"v\u00E5g\u00E5\": _2, \"ostfold\": { \"$\": 0, \"succ\": { \"valer\": _2 } }, \"xn--stfold-9xa\": { \"$\": 0, \"succ\": { \"xn--vler-qoa\": _2 } }, \"\u00F8stfold\": { \"$\": 0, \"succ\": { \"v\u00E5ler\": _2 } }, \"co\": _4, \"blogspot\": _4 } }, \"np\": _8, \"nr\": _22, \"nu\": { \"$\": 1, \"succ\": { \"merseine\": _4, \"mine\": _4, \"shacknet\": _4, \"nom\": _4, \"uwu\": _4, \"enterprisecloud\": _4 } }, \"nz\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _5, \"cri\": _2, \"geek\": _2, \"gen\": _2, \"govt\": _2, \"health\": _2, \"iwi\": _2, \"kiwi\": _2, \"maori\": _2, \"mil\": _2, \"xn--mori-qsa\": _2, \"m\u0101ori\": _2, \"net\": _2, \"org\": _2, \"parliament\": _2, \"school\": _2, \"nym\": _4 } }, \"om\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"med\": _2, \"museum\": _2, \"net\": _2, \"org\": _2, \"pro\": _2 } }, \"onion\": _2, \"org\": { \"$\": 1, \"succ\": { \"altervista\": _4, \"amune\": { \"$\": 0, \"succ\": { \"tele\": _4 } }, \"pimienta\": _4, \"poivron\": _4, \"potager\": _4, \"sweetpepper\": _4, \"ae\": _4, \"us\": _4, \"certmgr\": _4, \"cdn77\": { \"$\": 0, \"succ\": { \"c\": _4, \"rsc\": _4 } }, \"cdn77-secure\": { \"$\": 0, \"succ\": { \"origin\": { \"$\": 0, \"succ\": { \"ssl\": _4 } } } }, \"cloudns\": _4, \"duckdns\": _4, \"tunk\": _4, \"dyndns\": { \"$\": 2, \"succ\": { \"go\": _4, \"home\": _4 } }, \"blogdns\": _4, \"blogsite\": _4, \"boldlygoingnowhere\": _4, \"dnsalias\": _4, \"dnsdojo\": _4, \"doesntexist\": _4, \"dontexist\": _4, \"doomdns\": _4, \"dvrdns\": _4, \"dynalias\": _4, \"endofinternet\": _4, \"endoftheinternet\": _4, \"from-me\": _4, \"game-host\": _4, \"gotdns\": _4, \"hobby-site\": _4, \"homedns\": _4, \"homeftp\": _4, \"homelinux\": _4, \"homeunix\": _4, \"is-a-bruinsfan\": _4, \"is-a-candidate\": _4, \"is-a-celticsfan\": _4, \"is-a-chef\": _4, \"is-a-geek\": _4, \"is-a-knight\": _4, \"is-a-linux-user\": _4, \"is-a-patsfan\": _4, \"is-a-soxfan\": _4, \"is-found\": _4, \"is-lost\": _4, \"is-saved\": _4, \"is-very-bad\": _4, \"is-very-evil\": _4, \"is-very-good\": _4, \"is-very-nice\": _4, \"is-very-sweet\": _4, \"isa-geek\": _4, \"kicks-ass\": _4, \"misconfused\": _4, \"podzone\": _4, \"readmyblog\": _4, \"selfip\": _4, \"sellsyourhome\": _4, \"servebbs\": _4, \"serveftp\": _4, \"servegame\": _4, \"stuff-4-sale\": _4, \"webhop\": _4, \"ddnss\": _4, \"accesscam\": _4, \"camdvr\": _4, \"freeddns\": _4, \"mywire\": _4, \"webredirect\": _4, \"eu\": { \"$\": 2, \"succ\": { \"al\": _4, \"asso\": _4, \"at\": _4, \"au\": _4, \"be\": _4, \"bg\": _4, \"ca\": _4, \"cd\": _4, \"ch\": _4, \"cn\": _4, \"cy\": _4, \"cz\": _4, \"de\": _4, \"dk\": _4, \"edu\": _4, \"ee\": _4, \"es\": _4, \"fi\": _4, \"fr\": _4, \"gr\": _4, \"hr\": _4, \"hu\": _4, \"ie\": _4, \"il\": _4, \"in\": _4, \"int\": _4, \"is\": _4, \"it\": _4, \"jp\": _4, \"kr\": _4, \"lt\": _4, \"lu\": _4, \"lv\": _4, \"mc\": _4, \"me\": _4, \"mk\": _4, \"mt\": _4, \"my\": _4, \"net\": _4, \"ng\": _4, \"nl\": _4, \"no\": _4, \"nz\": _4, \"paris\": _4, \"pl\": _4, \"pt\": _4, \"q-a\": _4, \"ro\": _4, \"ru\": _4, \"se\": _4, \"si\": _4, \"sk\": _4, \"tr\": _4, \"uk\": _4, \"us\": _4 } }, \"twmail\": _4, \"fedorainfracloud\": _4, \"fedorapeople\": _4, \"fedoraproject\": { \"$\": 0, \"succ\": { \"cloud\": _4, \"os\": _16, \"stg\": { \"$\": 0, \"succ\": { \"os\": _16 } } } }, \"freedesktop\": _4, \"hepforge\": _4, \"in-dsl\": _4, \"in-vpn\": _4, \"js\": _4, \"uklugs\": _4, \"barsy\": _4, \"mayfirst\": _4, \"mozilla-iot\": _4, \"bmoattachments\": _4, \"dynserv\": _4, \"now-dns\": _4, \"cable-modem\": _4, \"collegefan\": _4, \"couchpotatofries\": _4, \"mlbfan\": _4, \"mysecuritycamera\": _4, \"nflfan\": _4, \"read-books\": _4, \"ufcfan\": _4, \"hopto\": _4, \"myftp\": _4, \"no-ip\": _4, \"zapto\": _4, \"pubtls\": _4, \"my-firewall\": _4, \"myfirewall\": _4, \"spdns\": _4, \"dsmynas\": _4, \"familyds\": _4, \"edugit\": _4, \"tuxfamily\": _4, \"diskstation\": _4, \"hk\": _4, \"wmflabs\": _4, \"toolforge\": _4, \"wmcloud\": _4, \"za\": _4 } }, \"pa\": { \"$\": 1, \"succ\": { \"ac\": _2, \"gob\": _2, \"com\": _2, \"org\": _2, \"sld\": _2, \"edu\": _2, \"net\": _2, \"ing\": _2, \"abo\": _2, \"med\": _2, \"nom\": _2 } }, \"pe\": { \"$\": 1, \"succ\": { \"edu\": _2, \"gob\": _2, \"nom\": _2, \"mil\": _2, \"org\": _2, \"com\": _2, \"net\": _2, \"blogspot\": _4, \"nym\": _4 } }, \"pf\": { \"$\": 1, \"succ\": { \"com\": _2, \"org\": _2, \"edu\": _2 } }, \"pg\": _8, \"ph\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"edu\": _2, \"ngo\": _2, \"mil\": _2, \"i\": _2 } }, \"pk\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"edu\": _2, \"org\": _2, \"fam\": _2, \"biz\": _2, \"web\": _2, \"gov\": _2, \"gob\": _2, \"gok\": _2, \"gon\": _2, \"gop\": _2, \"gos\": _2, \"info\": _2 } }, \"pl\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"aid\": _2, \"agro\": _2, \"atm\": _2, \"auto\": _2, \"biz\": _2, \"edu\": _2, \"gmina\": _2, \"gsm\": _2, \"info\": _2, \"mail\": _2, \"miasta\": _2, \"media\": _2, \"mil\": _2, \"nieruchomosci\": _2, \"nom\": _2, \"pc\": _2, \"powiat\": _2, \"priv\": _2, \"realestate\": _2, \"rel\": _2, \"sex\": _2, \"shop\": _2, \"sklep\": _2, \"sos\": _2, \"szkola\": _2, \"targi\": _2, \"tm\": _2, \"tourism\": _2, \"travel\": _2, \"turystyka\": _2, \"gov\": { \"$\": 1, \"succ\": { \"ap\": _2, \"ic\": _2, \"is\": _2, \"us\": _2, \"kmpsp\": _2, \"kppsp\": _2, \"kwpsp\": _2, \"psp\": _2, \"wskr\": _2, \"kwp\": _2, \"mw\": _2, \"ug\": _2, \"um\": _2, \"umig\": _2, \"ugim\": _2, \"upow\": _2, \"uw\": _2, \"starostwo\": _2, \"pa\": _2, \"po\": _2, \"psse\": _2, \"pup\": _2, \"rzgw\": _2, \"sa\": _2, \"so\": _2, \"sr\": _2, \"wsa\": _2, \"sko\": _2, \"uzs\": _2, \"wiih\": _2, \"winb\": _2, \"pinb\": _2, \"wios\": _2, \"witd\": _2, \"wzmiuw\": _2, \"piw\": _2, \"wiw\": _2, \"griw\": _2, \"wif\": _2, \"oum\": _2, \"sdn\": _2, \"zp\": _2, \"uppo\": _2, \"mup\": _2, \"wuoz\": _2, \"konsulat\": _2, \"oirm\": _2 } }, \"augustow\": _2, \"babia-gora\": _2, \"bedzin\": _2, \"beskidy\": _2, \"bialowieza\": _2, \"bialystok\": _2, \"bielawa\": _2, \"bieszczady\": _2, \"boleslawiec\": _2, \"bydgoszcz\": _2, \"bytom\": _2, \"cieszyn\": _2, \"czeladz\": _2, \"czest\": _2, \"dlugoleka\": _2, \"elblag\": _2, \"elk\": _2, \"glogow\": _2, \"gniezno\": _2, \"gorlice\": _2, \"grajewo\": _2, \"ilawa\": _2, \"jaworzno\": _2, \"jelenia-gora\": _2, \"jgora\": _2, \"kalisz\": _2, \"kazimierz-dolny\": _2, \"karpacz\": _2, \"kartuzy\": _2, \"kaszuby\": _2, \"katowice\": _2, \"kepno\": _2, \"ketrzyn\": _2, \"klodzko\": _2, \"kobierzyce\": _2, \"kolobrzeg\": _2, \"konin\": _2, \"konskowola\": _2, \"kutno\": _2, \"lapy\": _2, \"lebork\": _2, \"legnica\": _2, \"lezajsk\": _2, \"limanowa\": _2, \"lomza\": _2, \"lowicz\": _2, \"lubin\": _2, \"lukow\": _2, \"malbork\": _2, \"malopolska\": _2, \"mazowsze\": _2, \"mazury\": _2, \"mielec\": _2, \"mielno\": _2, \"mragowo\": _2, \"naklo\": _2, \"nowaruda\": _2, \"nysa\": _2, \"olawa\": _2, \"olecko\": _2, \"olkusz\": _2, \"olsztyn\": _2, \"opoczno\": _2, \"opole\": _2, \"ostroda\": _2, \"ostroleka\": _2, \"ostrowiec\": _2, \"ostrowwlkp\": _2, \"pila\": _2, \"pisz\": _2, \"podhale\": _2, \"podlasie\": _2, \"polkowice\": _2, \"pomorze\": _2, \"pomorskie\": _2, \"prochowice\": _2, \"pruszkow\": _2, \"przeworsk\": _2, \"pulawy\": _2, \"radom\": _2, \"rawa-maz\": _2, \"rybnik\": _2, \"rzeszow\": _2, \"sanok\": _2, \"sejny\": _2, \"slask\": _2, \"slupsk\": _2, \"sosnowiec\": _2, \"stalowa-wola\": _2, \"skoczow\": _2, \"starachowice\": _2, \"stargard\": _2, \"suwalki\": _2, \"swidnica\": _2, \"swiebodzin\": _2, \"swinoujscie\": _2, \"szczecin\": _2, \"szczytno\": _2, \"tarnobrzeg\": _2, \"tgory\": _2, \"turek\": _2, \"tychy\": _2, \"ustka\": _2, \"walbrzych\": _2, \"warmia\": _2, \"warszawa\": _2, \"waw\": _2, \"wegrow\": _2, \"wielun\": _2, \"wlocl\": _2, \"wloclawek\": _2, \"wodzislaw\": _2, \"wolomin\": _2, \"wroclaw\": _2, \"zachpomor\": _2, \"zagan\": _2, \"zarow\": _2, \"zgora\": _2, \"zgorzelec\": _2, \"beep\": _4, \"krasnik\": _4, \"leczna\": _4, \"lubartow\": _4, \"lublin\": _4, \"poniatowa\": _4, \"swidnik\": _4, \"co\": _4, \"art\": _4, \"gliwice\": _4, \"krakow\": _4, \"poznan\": _4, \"wroc\": _4, \"zakopane\": _4, \"gda\": _4, \"gdansk\": _4, \"gdynia\": _4, \"med\": _4, \"sopot\": _4 } }, \"pm\": { \"$\": 1, \"succ\": { \"own\": _4 } }, \"pn\": { \"$\": 1, \"succ\": { \"gov\": _2, \"co\": _2, \"org\": _2, \"edu\": _2, \"net\": _2 } }, \"post\": _2, \"pr\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"edu\": _2, \"isla\": _2, \"pro\": _2, \"biz\": _2, \"info\": _2, \"name\": _2, \"est\": _2, \"prof\": _2, \"ac\": _2 } }, \"pro\": { \"$\": 1, \"succ\": { \"aaa\": _2, \"aca\": _2, \"acct\": _2, \"avocat\": _2, \"bar\": _2, \"cpa\": _2, \"eng\": _2, \"jur\": _2, \"law\": _2, \"med\": _2, \"recht\": _2, \"cloudns\": _4, \"dnstrace\": { \"$\": 0, \"succ\": { \"bci\": _4 } }, \"barsy\": _4 } }, \"ps\": { \"$\": 1, \"succ\": { \"edu\": _2, \"gov\": _2, \"sec\": _2, \"plo\": _2, \"com\": _2, \"org\": _2, \"net\": _2 } }, \"pt\": { \"$\": 1, \"succ\": { \"net\": _2, \"gov\": _2, \"org\": _2, \"edu\": _2, \"int\": _2, \"publ\": _2, \"com\": _2, \"nome\": _2, \"blogspot\": _4, \"nym\": _4 } }, \"pw\": { \"$\": 1, \"succ\": { \"co\": _2, \"ne\": _2, \"or\": _2, \"ed\": _2, \"go\": _2, \"belau\": _2, \"cloudns\": _4, \"x443\": _4, \"nom\": _4 } }, \"py\": { \"$\": 1, \"succ\": { \"com\": _2, \"coop\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2 } }, \"qa\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"mil\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"sch\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"re\": { \"$\": 1, \"succ\": { \"asso\": _2, \"com\": _2, \"nom\": _2, \"blogspot\": _4 } }, \"ro\": { \"$\": 1, \"succ\": { \"arts\": _2, \"com\": _2, \"firm\": _2, \"info\": _2, \"nom\": _2, \"nt\": _2, \"org\": _2, \"rec\": _2, \"store\": _2, \"tm\": _2, \"www\": _2, \"shop\": _4, \"blogspot\": _4, \"nym\": _4 } }, \"rs\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"edu\": _2, \"gov\": _2, \"in\": _2, \"org\": _2, \"blogspot\": _4, \"ua\": _4, \"nom\": _4, \"ox\": _4 } }, \"ru\": { \"$\": 1, \"succ\": { \"ac\": _4, \"edu\": _4, \"gov\": _4, \"int\": _4, \"mil\": _4, \"test\": _4, \"adygeya\": _4, \"bashkiria\": _4, \"bir\": _4, \"cbg\": _4, \"com\": _4, \"dagestan\": _4, \"grozny\": _4, \"kalmykia\": _4, \"kustanai\": _4, \"marine\": _4, \"mordovia\": _4, \"msk\": _4, \"mytis\": _4, \"nalchik\": _4, \"nov\": _4, \"pyatigorsk\": _4, \"spb\": _4, \"vladikavkaz\": _4, \"vladimir\": _4, \"blogspot\": _4, \"regruhosting\": _27, \"myjino\": { \"$\": 2, \"succ\": { \"hosting\": _7, \"landing\": _7, \"spectrum\": _7, \"vps\": _7 } }, \"cldmail\": { \"$\": 0, \"succ\": { \"hb\": _4 } }, \"net\": _4, \"org\": _4, \"pp\": _4, \"ras\": _4 } }, \"rw\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"coop\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2 } }, \"sa\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"med\": _2, \"pub\": _2, \"edu\": _2, \"sch\": _2 } }, \"sb\": _9, \"sc\": _9, \"sd\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"med\": _2, \"tv\": _2, \"gov\": _2, \"info\": _2 } }, \"se\": { \"$\": 1, \"succ\": { \"a\": _2, \"ac\": _2, \"b\": _2, \"bd\": _2, \"brand\": _2, \"c\": _2, \"d\": _2, \"e\": _2, \"f\": _2, \"fh\": _2, \"fhsk\": _2, \"fhv\": _2, \"g\": _2, \"h\": _2, \"i\": _2, \"k\": _2, \"komforb\": _2, \"kommunalforbund\": _2, \"komvux\": _2, \"l\": _2, \"lanbib\": _2, \"m\": _2, \"n\": _2, \"naturbruksgymn\": _2, \"o\": _2, \"org\": _2, \"p\": _2, \"parti\": _2, \"pp\": _2, \"press\": _2, \"r\": _2, \"s\": _2, \"t\": _2, \"tm\": _2, \"u\": _2, \"w\": _2, \"x\": _2, \"y\": _2, \"z\": _2, \"com\": _4, \"blogspot\": _4, \"conf\": _4 } }, \"sg\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"edu\": _2, \"per\": _2, \"blogspot\": _4 } }, \"sh\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"gov\": _2, \"org\": _2, \"mil\": _2, \"hashbang\": _4, \"platform\": { \"$\": 0, \"succ\": { \"bc\": _4, \"ent\": _4, \"eu\": _4, \"us\": _4 } }, \"now\": _4, \"vxl\": _4, \"wedeploy\": _4 } }, \"si\": { \"$\": 1, \"succ\": { \"gitpage\": _4, \"blogspot\": _4, \"nom\": _4 } }, \"sj\": _2, \"sk\": _23, \"sl\": _9, \"sm\": _2, \"sn\": { \"$\": 1, \"succ\": { \"art\": _2, \"com\": _2, \"edu\": _2, \"gouv\": _2, \"org\": _2, \"perso\": _2, \"univ\": _2, \"blogspot\": _4 } }, \"so\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"me\": _2, \"net\": _2, \"org\": _2, \"sch\": _4 } }, \"sr\": _2, \"ss\": { \"$\": 1, \"succ\": { \"biz\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"net\": _2, \"org\": _2 } }, \"st\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"consulado\": _2, \"edu\": _2, \"embaixada\": _2, \"gov\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"principe\": _2, \"saotome\": _2, \"store\": _2, \"nom\": _4, \"noho\": _4 } }, \"su\": { \"$\": 1, \"succ\": { \"abkhazia\": _4, \"adygeya\": _4, \"aktyubinsk\": _4, \"arkhangelsk\": _4, \"armenia\": _4, \"ashgabad\": _4, \"azerbaijan\": _4, \"balashov\": _4, \"bashkiria\": _4, \"bryansk\": _4, \"bukhara\": _4, \"chimkent\": _4, \"dagestan\": _4, \"east-kazakhstan\": _4, \"exnet\": _4, \"georgia\": _4, \"grozny\": _4, \"ivanovo\": _4, \"jambyl\": _4, \"kalmykia\": _4, \"kaluga\": _4, \"karacol\": _4, \"karaganda\": _4, \"karelia\": _4, \"khakassia\": _4, \"krasnodar\": _4, \"kurgan\": _4, \"kustanai\": _4, \"lenug\": _4, \"mangyshlak\": _4, \"mordovia\": _4, \"msk\": _4, \"murmansk\": _4, \"nalchik\": _4, \"navoi\": _4, \"north-kazakhstan\": _4, \"nov\": _4, \"obninsk\": _4, \"penza\": _4, \"pokrovsk\": _4, \"sochi\": _4, \"spb\": _4, \"tashkent\": _4, \"termez\": _4, \"togliatti\": _4, \"troitsk\": _4, \"tselinograd\": _4, \"tula\": _4, \"tuva\": _4, \"vladikavkaz\": _4, \"vladimir\": _4, \"vologda\": _4, \"nym\": _4 } }, \"sv\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gob\": _2, \"org\": _2, \"red\": _2 } }, \"sx\": { \"$\": 1, \"succ\": { \"gov\": _2, \"nym\": _4 } }, \"sy\": _3, \"sz\": { \"$\": 1, \"succ\": { \"co\": _2, \"ac\": _2, \"org\": _2 } }, \"tc\": { \"$\": 1, \"succ\": { \"ch\": _4, \"me\": _4, \"we\": _4 } }, \"td\": _5, \"tel\": _2, \"tf\": _2, \"tg\": _2, \"th\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"go\": _2, \"in\": _2, \"mi\": _2, \"net\": _2, \"or\": _2, \"online\": _4, \"shop\": _4 } }, \"tj\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _2, \"com\": _2, \"edu\": _2, \"go\": _2, \"gov\": _2, \"int\": _2, \"mil\": _2, \"name\": _2, \"net\": _2, \"nic\": _2, \"org\": _2, \"test\": _2, \"web\": _2, \"nom\": _4 } }, \"tk\": _2, \"tl\": _6, \"tm\": { \"$\": 1, \"succ\": { \"com\": _2, \"co\": _2, \"org\": _2, \"net\": _2, \"nom\": _2, \"gov\": _2, \"mil\": _2, \"edu\": _2 } }, \"tn\": { \"$\": 1, \"succ\": { \"com\": _2, \"ens\": _2, \"fin\": _2, \"gov\": _2, \"ind\": _2, \"intl\": _2, \"nat\": _2, \"net\": _2, \"org\": _2, \"info\": _2, \"perso\": _2, \"tourism\": _2, \"edunet\": _2, \"rnrt\": _2, \"rns\": _2, \"rnu\": _2, \"mincom\": _2, \"agrinet\": _2, \"defense\": _2, \"turen\": _2 } }, \"to\": { \"$\": 1, \"succ\": { \"611\": _4, \"com\": _2, \"gov\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"mil\": _2, \"oya\": _4, \"vpnplus\": _4, \"quickconnect\": { \"$\": 0, \"succ\": { \"direct\": _4 } }, \"nyan\": _4 } }, \"tr\": { \"$\": 1, \"succ\": { \"av\": _2, \"bbs\": _2, \"bel\": _2, \"biz\": _2, \"com\": _5, \"dr\": _2, \"edu\": _2, \"gen\": _2, \"gov\": _2, \"info\": _2, \"mil\": _2, \"k12\": _2, \"kep\": _2, \"name\": _2, \"net\": _2, \"org\": _2, \"pol\": _2, \"tel\": _2, \"tsk\": _2, \"tv\": _2, \"web\": _2, \"nc\": _6 } }, \"tt\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"org\": _2, \"net\": _2, \"biz\": _2, \"info\": _2, \"pro\": _2, \"int\": _2, \"coop\": _2, \"jobs\": _2, \"mobi\": _2, \"travel\": _2, \"museum\": _2, \"aero\": _2, \"name\": _2, \"gov\": _2, \"edu\": _2 } }, \"tv\": { \"$\": 1, \"succ\": { \"dyndns\": _4, \"better-than\": _4, \"on-the-web\": _4, \"worse-than\": _4 } }, \"tw\": { \"$\": 1, \"succ\": { \"edu\": _2, \"gov\": _2, \"mil\": _2, \"com\": { \"$\": 1, \"succ\": { \"mymailer\": _4 } }, \"net\": _2, \"org\": _2, \"idv\": _2, \"game\": _2, \"ebiz\": _2, \"club\": _2, \"xn--zf0ao64a\": _2, \"\u7DB2\u8DEF\": _2, \"xn--uc0atv\": _2, \"\u7D44\u7E54\": _2, \"xn--czrw28b\": _2, \"\u5546\u696D\": _2, \"url\": _4, \"blogspot\": _4, \"nym\": _4 } }, \"tz\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"go\": _2, \"hotel\": _2, \"info\": _2, \"me\": _2, \"mil\": _2, \"mobi\": _2, \"ne\": _2, \"or\": _2, \"sc\": _2, \"tv\": _2 } }, \"ua\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"gov\": _2, \"in\": _2, \"net\": _2, \"org\": _2, \"cherkassy\": _2, \"cherkasy\": _2, \"chernigov\": _2, \"chernihiv\": _2, \"chernivtsi\": _2, \"chernovtsy\": _2, \"ck\": _2, \"cn\": _2, \"cr\": _2, \"crimea\": _2, \"cv\": _2, \"dn\": _2, \"dnepropetrovsk\": _2, \"dnipropetrovsk\": _2, \"donetsk\": _2, \"dp\": _2, \"if\": _2, \"ivano-frankivsk\": _2, \"kh\": _2, \"kharkiv\": _2, \"kharkov\": _2, \"kherson\": _2, \"khmelnitskiy\": _2, \"khmelnytskyi\": _2, \"kiev\": _2, \"kirovograd\": _2, \"km\": _2, \"kr\": _2, \"krym\": _2, \"ks\": _2, \"kv\": _2, \"kyiv\": _2, \"lg\": _2, \"lt\": _2, \"lugansk\": _2, \"lutsk\": _2, \"lv\": _2, \"lviv\": _2, \"mk\": _2, \"mykolaiv\": _2, \"nikolaev\": _2, \"od\": _2, \"odesa\": _2, \"odessa\": _2, \"pl\": _2, \"poltava\": _2, \"rivne\": _2, \"rovno\": _2, \"rv\": _2, \"sb\": _2, \"sebastopol\": _2, \"sevastopol\": _2, \"sm\": _2, \"sumy\": _2, \"te\": _2, \"ternopil\": _2, \"uz\": _2, \"uzhgorod\": _2, \"vinnica\": _2, \"vinnytsia\": _2, \"vn\": _2, \"volyn\": _2, \"yalta\": _2, \"zaporizhzhe\": _2, \"zaporizhzhia\": _2, \"zhitomir\": _2, \"zhytomyr\": _2, \"zp\": _2, \"zt\": _2, \"cc\": _4, \"inf\": _4, \"ltd\": _4, \"biz\": _4, \"co\": _4, \"pp\": _4, \"v\": _4 } }, \"ug\": { \"$\": 1, \"succ\": { \"co\": _2, \"or\": _2, \"ac\": _2, \"sc\": _2, \"go\": _2, \"ne\": _2, \"com\": _2, \"org\": _2, \"blogspot\": _4, \"nom\": _4 } }, \"uk\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": { \"$\": 1, \"succ\": { \"bytemark\": { \"$\": 0, \"succ\": { \"dh\": _4, \"vm\": _4 } }, \"blogspot\": _4, \"layershift\": _17, \"barsy\": _4, \"barsyonline\": _4, \"nh-serv\": _4, \"no-ip\": _4, \"wellbeingzone\": _4, \"gwiddle\": _4 } }, \"gov\": { \"$\": 1, \"succ\": { \"service\": _4, \"homeoffice\": _4 } }, \"ltd\": _2, \"me\": _2, \"net\": _2, \"nhs\": _2, \"org\": { \"$\": 1, \"succ\": { \"glug\": _4, \"lug\": _4, \"lugs\": _4 } }, \"plc\": _2, \"police\": _2, \"sch\": _8, \"conn\": _4, \"copro\": _4, \"barsy\": _4 } }, \"us\": { \"$\": 1, \"succ\": { \"dni\": _2, \"fed\": _2, \"isa\": _2, \"kids\": _2, \"nsn\": _2, \"ak\": _30, \"al\": _30, \"ar\": _30, \"as\": _30, \"az\": _30, \"ca\": _30, \"co\": _30, \"ct\": _30, \"dc\": _30, \"de\": { \"$\": 1, \"succ\": { \"k12\": _2, \"cc\": _2, \"lib\": _4 } }, \"fl\": _30, \"ga\": _30, \"gu\": _30, \"hi\": _31, \"ia\": _30, \"id\": _30, \"il\": _30, \"in\": _30, \"ks\": _30, \"ky\": _30, \"la\": _30, \"ma\": { \"$\": 1, \"succ\": { \"k12\": { \"$\": 1, \"succ\": { \"pvt\": _2, \"chtr\": _2, \"paroch\": _2 } }, \"cc\": _2, \"lib\": _2 } }, \"md\": _30, \"me\": _30, \"mi\": { \"$\": 1, \"succ\": { \"k12\": _2, \"cc\": _2, \"lib\": _2, \"ann-arbor\": _2, \"cog\": _2, \"dst\": _2, \"eaton\": _2, \"gen\": _2, \"mus\": _2, \"tec\": _2, \"washtenaw\": _2 } }, \"mn\": _30, \"mo\": _30, \"ms\": _30, \"mt\": _30, \"nc\": _30, \"nd\": _31, \"ne\": _30, \"nh\": _30, \"nj\": _30, \"nm\": _30, \"nv\": _30, \"ny\": _30, \"oh\": _30, \"ok\": _30, \"or\": _30, \"pa\": _30, \"pr\": _30, \"ri\": _31, \"sc\": _30, \"sd\": _31, \"tn\": _30, \"tx\": _30, \"ut\": _30, \"vi\": _30, \"vt\": _30, \"va\": _30, \"wa\": _30, \"wi\": _30, \"wv\": { \"$\": 1, \"succ\": { \"cc\": _2 } }, \"wy\": _30, \"cloudns\": _4, \"drud\": _4, \"is-by\": _4, \"land-4-sale\": _4, \"stuff-4-sale\": _4, \"graphox\": _4, \"freeddns\": _4, \"golffan\": _4, \"noip\": _4, \"pointto\": _4, \"platterp\": _4 } }, \"uy\": { \"$\": 1, \"succ\": { \"com\": _5, \"edu\": _2, \"gub\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"nom\": _4 } }, \"uz\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"net\": _2, \"org\": _2 } }, \"va\": _2, \"vc\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"mil\": _2, \"edu\": _2, \"gv\": { \"$\": 2, \"succ\": { \"d\": _4 } }, \"0e\": _4, \"nom\": _4 } }, \"ve\": { \"$\": 1, \"succ\": { \"arts\": _2, \"co\": _2, \"com\": _2, \"e12\": _2, \"edu\": _2, \"firm\": _2, \"gob\": _2, \"gov\": _2, \"info\": _2, \"int\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"rec\": _2, \"store\": _2, \"tec\": _2, \"web\": _2 } }, \"vg\": { \"$\": 1, \"succ\": { \"nom\": _4, \"at\": _4 } }, \"vi\": { \"$\": 1, \"succ\": { \"co\": _2, \"com\": _2, \"k12\": _2, \"net\": _2, \"org\": _2 } }, \"vn\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"edu\": _2, \"gov\": _2, \"int\": _2, \"ac\": _2, \"biz\": _2, \"info\": _2, \"name\": _2, \"pro\": _2, \"health\": _2, \"blogspot\": _4 } }, \"vu\": { \"$\": 1, \"succ\": { \"com\": _2, \"edu\": _2, \"net\": _2, \"org\": _2, \"blog\": _4, \"dev\": _4, \"me\": _4, \"cn\": _4 } }, \"wf\": _2, \"ws\": { \"$\": 1, \"succ\": { \"com\": _2, \"net\": _2, \"org\": _2, \"gov\": _2, \"edu\": _2, \"advisor\": _7, \"cloud66\": _4, \"dyndns\": _4, \"mypets\": _4 } }, \"yt\": _2, \"xn--mgbaam7a8h\": _2, \"\u0627\u0645\u0627\u0631\u0627\u062A\": _2, \"xn--y9a3aq\": _2, \"\u0570\u0561\u0575\": _2, \"xn--54b7fta0cc\": _2, \"\u09AC\u09BE\u0982\u09B2\u09BE\": _2, \"xn--90ae\": _2, \"\u0431\u0433\": _2, \"xn--90ais\": _2, \"\u0431\u0435\u043B\": _2, \"xn--fiqs8s\": _2, \"\u4E2D\u56FD\": _2, \"xn--fiqz9s\": _2, \"\u4E2D\u570B\": _2, \"xn--lgbbat1ad8j\": _2, \"\u0627\u0644\u062C\u0632\u0627\u0626\u0631\": _2, \"xn--wgbh1c\": _2, \"\u0645\u0635\u0631\": _2, \"xn--e1a4c\": _2, \"\u0435\u044E\": _2, \"xn--qxa6a\": _2, \"\u03B5\u03C5\": _2, \"xn--mgbah1a3hjkrd\": _2, \"\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627\": _2, \"xn--node\": _2, \"\u10D2\u10D4\": _2, \"xn--qxam\": _2, \"\u03B5\u03BB\": _2, \"xn--j6w193g\": { \"$\": 1, \"succ\": { \"xn--55qx5d\": _2, \"xn--wcvs22d\": _2, \"xn--mxtq1m\": _2, \"xn--gmqw5a\": _2, \"xn--od0alg\": _2, \"xn--uc0atv\": _2 } }, \"\u9999\u6E2F\": { \"$\": 1, \"succ\": { \"\u516C\u53F8\": _2, \"\u6559\u80B2\": _2, \"\u653F\u5E9C\": _2, \"\u500B\u4EBA\": _2, \"\u7DB2\u7D61\": _2, \"\u7D44\u7E54\": _2 } }, \"xn--2scrj9c\": _2, \"\u0CAD\u0CBE\u0CB0\u0CA4\": _2, \"xn--3hcrj9c\": _2, \"\u0B2D\u0B3E\u0B30\u0B24\": _2, \"xn--45br5cyl\": _2, \"\u09AD\u09BE\u09F0\u09A4\": _2, \"xn--h2breg3eve\": _2, \"\u092D\u093E\u0930\u0924\u092E\u094D\": _2, \"xn--h2brj9c8c\": _2, \"\u092D\u093E\u0930\u094B\u0924\": _2, \"xn--mgbgu82a\": _2, \"\u0680\u0627\u0631\u062A\": _2, \"xn--rvc1e0am3e\": _2, \"\u0D2D\u0D3E\u0D30\u0D24\u0D02\": _2, \"xn--h2brj9c\": _2, \"\u092D\u093E\u0930\u0924\": _2, \"xn--mgbbh1a\": _2, \"\u0628\u0627\u0631\u062A\": _2, \"xn--mgbbh1a71e\": _2, \"\u0628\u06BE\u0627\u0631\u062A\": _2, \"xn--fpcrj9c3d\": _2, \"\u0C2D\u0C3E\u0C30\u0C24\u0C4D\": _2, \"xn--gecrj9c\": _2, \"\u0AAD\u0ABE\u0AB0\u0AA4\": _2, \"xn--s9brj9c\": _2, \"\u0A2D\u0A3E\u0A30\u0A24\": _2, \"xn--45brj9c\": _2, \"\u09AD\u09BE\u09B0\u09A4\": _2, \"xn--xkc2dl3a5ee0h\": _2, \"\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE\": _2, \"xn--mgba3a4f16a\": _2, \"\u0627\u06CC\u0631\u0627\u0646\": _2, \"xn--mgba3a4fra\": _2, \"\u0627\u064A\u0631\u0627\u0646\": _2, \"xn--mgbtx2b\": _2, \"\u0639\u0631\u0627\u0642\": _2, \"xn--mgbayh7gpa\": _2, \"\u0627\u0644\u0627\u0631\u062F\u0646\": _2, \"xn--3e0b707e\": _2, \"\uD55C\uAD6D\": _2, \"xn--80ao21a\": _2, \"\u049B\u0430\u0437\": _2, \"xn--fzc2c9e2c\": _2, \"\u0DBD\u0D82\u0D9A\u0DCF\": _2, \"xn--xkc2al3hye2a\": _2, \"\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8\": _2, \"xn--mgbc0a9azcg\": _2, \"\u0627\u0644\u0645\u063A\u0631\u0628\": _2, \"xn--d1alf\": _2, \"\u043C\u043A\u0434\": _2, \"xn--l1acc\": _2, \"\u043C\u043E\u043D\": _2, \"xn--mix891f\": _2, \"\u6FB3\u9580\": _2, \"xn--mix082f\": _2, \"\u6FB3\u95E8\": _2, \"xn--mgbx4cd0ab\": _2, \"\u0645\u0644\u064A\u0633\u064A\u0627\": _2, \"xn--mgb9awbf\": _2, \"\u0639\u0645\u0627\u0646\": _2, \"xn--mgbai9azgqp6j\": _2, \"\u067E\u0627\u06A9\u0633\u062A\u0627\u0646\": _2, \"xn--mgbai9a5eva00b\": _2, \"\u067E\u0627\u0643\u0633\u062A\u0627\u0646\": _2, \"xn--ygbi2ammx\": _2, \"\u0641\u0644\u0633\u0637\u064A\u0646\": _2, \"xn--90a3ac\": { \"$\": 1, \"succ\": { \"xn--o1ac\": _2, \"xn--c1avg\": _2, \"xn--90azh\": _2, \"xn--d1at\": _2, \"xn--o1ach\": _2, \"xn--80au\": _2 } }, \"\u0441\u0440\u0431\": { \"$\": 1, \"succ\": { \"\u043F\u0440\": _2, \"\u043E\u0440\u0433\": _2, \"\u043E\u0431\u0440\": _2, \"\u043E\u0434\": _2, \"\u0443\u043F\u0440\": _2, \"\u0430\u043A\": _2 } }, \"xn--p1ai\": _2, \"\u0440\u0444\": _2, \"xn--wgbl6a\": _2, \"\u0642\u0637\u0631\": _2, \"xn--mgberp4a5d4ar\": _2, \"\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629\": _2, \"xn--mgberp4a5d4a87g\": _2, \"\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629\": _2, \"xn--mgbqly7c0a67fbc\": _2, \"\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3\": _2, \"xn--mgbqly7cvafr\": _2, \"\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647\": _2, \"xn--mgbpl2fh\": _2, \"\u0633\u0648\u062F\u0627\u0646\": _2, \"xn--yfro4i67o\": _2, \"\u65B0\u52A0\u5761\": _2, \"xn--clchc0ea0b2g2a9gcd\": _2, \"\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD\": _2, \"xn--ogbpf8fl\": _2, \"\u0633\u0648\u0631\u064A\u0629\": _2, \"xn--mgbtf8fl\": _2, \"\u0633\u0648\u0631\u064A\u0627\": _2, \"xn--o3cw4h\": { \"$\": 1, \"succ\": { \"xn--12c1fe0br\": _2, \"xn--12co0c3b4eva\": _2, \"xn--h3cuzk1di\": _2, \"xn--o3cyx2a\": _2, \"xn--m3ch0j3a\": _2, \"xn--12cfi8ixb8l\": _2 } }, \"\u0E44\u0E17\u0E22\": { \"$\": 1, \"succ\": { \"\u0E28\u0E36\u0E01\u0E29\u0E32\": _2, \"\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08\": _2, \"\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25\": _2, \"\u0E17\u0E2B\u0E32\u0E23\": _2, \"\u0E40\u0E19\u0E47\u0E15\": _2, \"\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23\": _2 } }, \"xn--pgbs0dh\": _2, \"\u062A\u0648\u0646\u0633\": _2, \"xn--kpry57d\": _2, \"\u53F0\u7063\": _2, \"xn--kprw13d\": _2, \"\u53F0\u6E7E\": _2, \"xn--nnx388a\": _2, \"\u81FA\u7063\": _2, \"xn--j1amh\": _2, \"\u0443\u043A\u0440\": _2, \"xn--mgb2ddes\": _2, \"\u0627\u0644\u064A\u0645\u0646\": _2, \"xxx\": _2, \"ye\": _8, \"za\": { \"$\": 0, \"succ\": { \"ac\": _2, \"agric\": _2, \"alt\": _2, \"co\": _5, \"edu\": _2, \"gov\": _2, \"grondar\": _2, \"law\": _2, \"mil\": _2, \"net\": _2, \"ngo\": _2, \"nic\": _2, \"nis\": _2, \"nom\": _2, \"org\": _2, \"school\": _2, \"tm\": _2, \"web\": _2 } }, \"zm\": { \"$\": 1, \"succ\": { \"ac\": _2, \"biz\": _2, \"co\": _2, \"com\": _2, \"edu\": _2, \"gov\": _2, \"info\": _2, \"mil\": _2, \"net\": _2, \"org\": _2, \"sch\": _2 } }, \"zw\": { \"$\": 1, \"succ\": { \"ac\": _2, \"co\": _2, \"gov\": _2, \"mil\": _2, \"org\": _2 } }, \"aaa\": _2, \"aarp\": _2, \"abarth\": _2, \"abb\": _2, \"abbott\": _2, \"abbvie\": _2, \"abc\": _2, \"able\": _2, \"abogado\": _2, \"abudhabi\": _2, \"academy\": { \"$\": 1, \"succ\": { \"official\": _4 } }, \"accenture\": _2, \"accountant\": _2, \"accountants\": _2, \"aco\": _2, \"actor\": _2, \"adac\": _2, \"ads\": _2, \"adult\": _2, \"aeg\": _2, \"aetna\": _2, \"afamilycompany\": _2, \"afl\": _2, \"africa\": _2, \"agakhan\": _2, \"agency\": _2, \"aig\": _2, \"airbus\": _2, \"airforce\": _2, \"airtel\": _2, \"akdn\": _2, \"alfaromeo\": _2, \"alibaba\": _2, \"alipay\": _2, \"allfinanz\": _2, \"allstate\": _2, \"ally\": _2, \"alsace\": _2, \"alstom\": _2, \"amazon\": _2, \"americanexpress\": _2, \"americanfamily\": _2, \"amex\": _2, \"amfam\": _2, \"amica\": _2, \"amsterdam\": _2, \"analytics\": _2, \"android\": _2, \"anquan\": _2, \"anz\": _2, \"aol\": _2, \"apartments\": _2, \"app\": { \"$\": 1, \"succ\": { \"wnext\": _4, \"run\": { \"$\": 2, \"succ\": { \"a\": _4 } }, \"web\": _4, \"hasura\": _4, \"loginline\": _4, \"netlify\": _4, \"telebit\": _4, \"vercel\": _4 } }, \"apple\": _2, \"aquarelle\": _2, \"arab\": _2, \"aramco\": _2, \"archi\": _2, \"army\": _2, \"art\": _2, \"arte\": _2, \"asda\": _2, \"associates\": _2, \"athleta\": _2, \"attorney\": _2, \"auction\": _2, \"audi\": _2, \"audible\": _2, \"audio\": _2, \"auspost\": _2, \"author\": _2, \"auto\": _2, \"autos\": _2, \"avianca\": _2, \"aws\": _2, \"axa\": _2, \"azure\": _2, \"baby\": _2, \"baidu\": _2, \"banamex\": _2, \"bananarepublic\": _2, \"band\": _2, \"bank\": _2, \"bar\": _2, \"barcelona\": _2, \"barclaycard\": _2, \"barclays\": _2, \"barefoot\": _2, \"bargains\": _2, \"baseball\": _2, \"basketball\": _2, \"bauhaus\": _2, \"bayern\": _2, \"bbc\": _2, \"bbt\": _2, \"bbva\": _2, \"bcg\": _2, \"bcn\": _2, \"beats\": _2, \"beauty\": _2, \"beer\": _2, \"bentley\": _2, \"berlin\": _2, \"best\": _2, \"bestbuy\": _2, \"bet\": _2, \"bharti\": _2, \"bible\": _2, \"bid\": _2, \"bike\": _2, \"bing\": _2, \"bingo\": _2, \"bio\": _2, \"black\": _2, \"blackfriday\": _2, \"blockbuster\": _2, \"blog\": _2, \"bloomberg\": _2, \"blue\": _2, \"bms\": _2, \"bmw\": _2, \"bnpparibas\": _2, \"boats\": _2, \"boehringer\": _2, \"bofa\": _2, \"bom\": _2, \"bond\": _2, \"boo\": _2, \"book\": _2, \"booking\": _2, \"bosch\": _2, \"bostik\": _2, \"boston\": _2, \"bot\": _2, \"boutique\": _2, \"box\": _2, \"bradesco\": _2, \"bridgestone\": _2, \"broadway\": _2, \"broker\": _2, \"brother\": _2, \"brussels\": _2, \"budapest\": _2, \"bugatti\": _2, \"build\": _2, \"builders\": _2, \"business\": _10, \"buy\": _2, \"buzz\": _2, \"bzh\": _2, \"cab\": _2, \"cafe\": _2, \"cal\": _2, \"call\": _2, \"calvinklein\": _2, \"cam\": _2, \"camera\": _2, \"camp\": _2, \"cancerresearch\": _2, \"canon\": _2, \"capetown\": _2, \"capital\": _2, \"capitalone\": _2, \"car\": _2, \"caravan\": _2, \"cards\": _2, \"care\": _2, \"career\": _2, \"careers\": _2, \"cars\": _2, \"casa\": { \"$\": 1, \"succ\": { \"nabu\": { \"$\": 0, \"succ\": { \"ui\": _4 } } } }, \"case\": _2, \"caseih\": _2, \"cash\": _2, \"casino\": _2, \"catering\": _2, \"catholic\": _2, \"cba\": _2, \"cbn\": _2, \"cbre\": _2, \"cbs\": _2, \"ceb\": _2, \"center\": _2, \"ceo\": _2, \"cern\": _2, \"cfa\": _2, \"cfd\": _2, \"chanel\": _2, \"channel\": _2, \"charity\": _2, \"chase\": _2, \"chat\": _2, \"cheap\": _2, \"chintai\": _2, \"christmas\": _2, \"chrome\": _2, \"church\": _2, \"cipriani\": _2, \"circle\": _2, \"cisco\": _2, \"citadel\": _2, \"citi\": _2, \"citic\": _2, \"city\": _11, \"cityeats\": _2, \"claims\": _2, \"cleaning\": _2, \"click\": _2, \"clinic\": _2, \"clinique\": _2, \"clothing\": _2, \"cloud\": { \"$\": 1, \"succ\": { \"banzai\": _7, \"statics\": _7, \"jele\": _4, \"linkyard\": _4, \"magentosite\": _7, \"perspecta\": _4, \"vapor\": _4, \"on-rancher\": _7, \"sensiosite\": _7, \"trafficplex\": _4, \"urown\": _4, \"voorloper\": _4 } }, \"club\": { \"$\": 1, \"succ\": { \"cloudns\": _4, \"jele\": _4, \"barsy\": _4, \"pony\": _4 } }, \"clubmed\": _2, \"coach\": _2, \"codes\": { \"$\": 1, \"succ\": { \"owo\": _7 } }, \"coffee\": _2, \"college\": _2, \"cologne\": _2, \"comcast\": _2, \"commbank\": _2, \"community\": { \"$\": 1, \"succ\": { \"ravendb\": _4, \"myforum\": _4 } }, \"company\": _2, \"compare\": _2, \"computer\": _2, \"comsec\": _2, \"condos\": _2, \"construction\": _2, \"consulting\": _2, \"contact\": _2, \"contractors\": _2, \"cooking\": _2, \"cookingchannel\": _2, \"cool\": { \"$\": 1, \"succ\": { \"de\": _4 } }, \"corsica\": _2, \"country\": _2, \"coupon\": _2, \"coupons\": _2, \"courses\": _2, \"cpa\": _2, \"credit\": _2, \"creditcard\": _2, \"creditunion\": _2, \"cricket\": _2, \"crown\": _2, \"crs\": _2, \"cruise\": _2, \"cruises\": _2, \"csc\": _2, \"cuisinella\": _2, \"cymru\": _2, \"cyou\": _2, \"dabur\": _2, \"dad\": _2, \"dance\": _2, \"data\": _2, \"date\": _2, \"dating\": _2, \"datsun\": _2, \"day\": _2, \"dclk\": _2, \"dds\": _2, \"deal\": _2, \"dealer\": _2, \"deals\": _2, \"degree\": _2, \"delivery\": _2, \"dell\": _2, \"deloitte\": _2, \"delta\": _2, \"democrat\": _2, \"dental\": _2, \"dentist\": _2, \"desi\": _2, \"design\": { \"$\": 1, \"succ\": { \"bss\": _4 } }, \"dev\": { \"$\": 1, \"succ\": { \"lcl\": _7, \"stg\": _7, \"workers\": _4, \"curv\": _4, \"fly\": _4, \"iserv\": _4, \"loginline\": _4, \"platter-app\": _4, \"vercel\": _4, \"webhare\": _7 } }, \"dhl\": _2, \"diamonds\": _2, \"diet\": _2, \"digital\": { \"$\": 1, \"succ\": { \"cloudapps\": { \"$\": 2, \"succ\": { \"london\": _4 } } } }, \"direct\": _2, \"directory\": _2, \"discount\": _2, \"discover\": _2, \"dish\": _2, \"diy\": _2, \"dnp\": _2, \"docs\": _2, \"doctor\": _2, \"dog\": _2, \"domains\": _2, \"dot\": _2, \"download\": _2, \"drive\": _2, \"dtv\": _2, \"dubai\": _2, \"duck\": _2, \"dunlop\": _2, \"dupont\": _2, \"durban\": _2, \"dvag\": _2, \"dvr\": _2, \"earth\": { \"$\": 1, \"succ\": { \"dapps\": { \"$\": 0, \"succ\": { \"*\": _4, \"bzz\": _7 } } } }, \"eat\": _2, \"eco\": _2, \"edeka\": _2, \"education\": _10, \"email\": _2, \"emerck\": _2, \"energy\": _2, \"engineer\": _2, \"engineering\": _2, \"enterprises\": _2, \"epson\": _2, \"equipment\": _2, \"ericsson\": _2, \"erni\": _2, \"esq\": _2, \"estate\": { \"$\": 1, \"succ\": { \"compute\": _7 } }, \"etisalat\": _2, \"eurovision\": _2, \"eus\": { \"$\": 1, \"succ\": { \"party\": _18 } }, \"events\": _10, \"exchange\": _2, \"expert\": _2, \"exposed\": _2, \"express\": _2, \"extraspace\": _2, \"fage\": _2, \"fail\": _2, \"fairwinds\": _2, \"faith\": _19, \"family\": _2, \"fan\": _2, \"fans\": _2, \"farm\": { \"$\": 1, \"succ\": { \"storj\": _4 } }, \"farmers\": _2, \"fashion\": { \"$\": 1, \"succ\": { \"of\": _4, \"on\": _4 } }, \"fast\": _2, \"fedex\": _2, \"feedback\": _2, \"ferrari\": _2, \"ferrero\": _2, \"fiat\": _2, \"fidelity\": _2, \"fido\": _2, \"film\": _2, \"final\": _2, \"finance\": _2, \"financial\": _10, \"fire\": _2, \"firestone\": _2, \"firmdale\": _2, \"fish\": _2, \"fishing\": _2, \"fit\": { \"$\": 1, \"succ\": { \"ptplus\": _4 } }, \"fitness\": _2, \"flickr\": _2, \"flights\": _2, \"flir\": _2, \"florist\": _2, \"flowers\": _2, \"fly\": _2, \"foo\": _2, \"food\": _2, \"foodnetwork\": _2, \"football\": { \"$\": 1, \"succ\": { \"of\": _4 } }, \"ford\": _2, \"forex\": _2, \"forsale\": _2, \"forum\": _2, \"foundation\": _2, \"fox\": _2, \"free\": _2, \"fresenius\": _2, \"frl\": _2, \"frogans\": _2, \"frontdoor\": _2, \"frontier\": _2, \"ftr\": _2, \"fujitsu\": _2, \"fujixerox\": _2, \"fun\": _2, \"fund\": _2, \"furniture\": _2, \"futbol\": _2, \"fyi\": _2, \"gal\": _2, \"gallery\": _2, \"gallo\": _2, \"gallup\": _2, \"game\": _2, \"games\": _2, \"gap\": _2, \"garden\": _2, \"gay\": _2, \"gbiz\": _2, \"gdn\": { \"$\": 1, \"succ\": { \"cnpy\": _4 } }, \"gea\": _2, \"gent\": _2, \"genting\": _2, \"george\": _2, \"ggee\": _2, \"gift\": _2, \"gifts\": _2, \"gives\": _2, \"giving\": _2, \"glade\": _2, \"glass\": _2, \"gle\": _2, \"global\": _2, \"globo\": _2, \"gmail\": _2, \"gmbh\": _2, \"gmo\": _2, \"gmx\": _2, \"godaddy\": _2, \"gold\": _2, \"goldpoint\": _2, \"golf\": _2, \"goo\": _2, \"goodyear\": _2, \"goog\": { \"$\": 1, \"succ\": { \"cloud\": _4 } }, \"google\": _2, \"gop\": _2, \"got\": _2, \"grainger\": _2, \"graphics\": _2, \"gratis\": _2, \"green\": _2, \"gripe\": _2, \"grocery\": _2, \"group\": { \"$\": 1, \"succ\": { \"discourse\": _4 } }, \"guardian\": _2, \"gucci\": _2, \"guge\": _2, \"guide\": _2, \"guitars\": _2, \"guru\": _2, \"hair\": _2, \"hamburg\": _2, \"hangout\": _2, \"haus\": _2, \"hbo\": _2, \"hdfc\": _2, \"hdfcbank\": _2, \"health\": _2, \"healthcare\": _2, \"help\": _2, \"helsinki\": _2, \"here\": _2, \"hermes\": _2, \"hgtv\": _2, \"hiphop\": _2, \"hisamitsu\": _2, \"hitachi\": _2, \"hiv\": _2, \"hkt\": _2, \"hockey\": _2, \"holdings\": _2, \"holiday\": _2, \"homedepot\": _2, \"homegoods\": _2, \"homes\": _2, \"homesense\": _2, \"honda\": _2, \"horse\": _2, \"hospital\": _2, \"host\": { \"$\": 1, \"succ\": { \"cloudaccess\": _4, \"freesite\": _4, \"fastvps\": _4, \"myfast\": _4, \"jele\": _4, \"mircloud\": _4, \"pcloud\": _4, \"half\": _4 } }, \"hosting\": { \"$\": 1, \"succ\": { \"opencraft\": _4 } }, \"hot\": _2, \"hoteles\": _2, \"hotels\": _2, \"hotmail\": _2, \"house\": _2, \"how\": _2, \"hsbc\": _2, \"hughes\": _2, \"hyatt\": _2, \"hyundai\": _2, \"ibm\": _2, \"icbc\": _2, \"ice\": _2, \"icu\": _2, \"ieee\": _2, \"ifm\": _2, \"ikano\": _2, \"imamat\": _2, \"imdb\": _2, \"immo\": _2, \"immobilien\": _2, \"inc\": _2, \"industries\": _2, \"infiniti\": _2, \"ing\": _2, \"ink\": _11, \"institute\": _2, \"insurance\": _2, \"insure\": _2, \"intel\": _2, \"international\": _2, \"intuit\": _2, \"investments\": _2, \"ipiranga\": _2, \"irish\": _2, \"ismaili\": _2, \"ist\": _2, \"istanbul\": _2, \"itau\": _2, \"itv\": _2, \"iveco\": _2, \"jaguar\": _2, \"java\": _2, \"jcb\": _2, \"jcp\": _2, \"jeep\": _2, \"jetzt\": _2, \"jewelry\": _2, \"jio\": _2, \"jll\": _2, \"jmp\": _2, \"jnj\": _2, \"joburg\": _2, \"jot\": _2, \"joy\": _2, \"jpmorgan\": _2, \"jprs\": _2, \"juegos\": _2, \"juniper\": _2, \"kaufen\": _2, \"kddi\": _2, \"kerryhotels\": _2, \"kerrylogistics\": _2, \"kerryproperties\": _2, \"kfh\": _2, \"kia\": _2, \"kim\": _2, \"kinder\": _2, \"kindle\": _2, \"kitchen\": _2, \"kiwi\": _2, \"koeln\": _2, \"komatsu\": _2, \"kosher\": _2, \"kpmg\": _2, \"kpn\": _2, \"krd\": { \"$\": 1, \"succ\": { \"co\": _4, \"edu\": _4 } }, \"kred\": _2, \"kuokgroup\": _2, \"kyoto\": _2, \"lacaixa\": _2, \"lamborghini\": _2, \"lamer\": _2, \"lancaster\": _2, \"lancia\": _2, \"land\": { \"$\": 1, \"succ\": { \"static\": { \"$\": 2, \"succ\": { \"dev\": _4, \"sites\": _4 } } } }, \"landrover\": _2, \"lanxess\": _2, \"lasalle\": _2, \"lat\": _2, \"latino\": _2, \"latrobe\": _2, \"law\": _2, \"lawyer\": _2, \"lds\": _2, \"lease\": _2, \"leclerc\": _2, \"lefrak\": _2, \"legal\": _2, \"lego\": _2, \"lexus\": _2, \"lgbt\": _2, \"lidl\": _2, \"life\": _2, \"lifeinsurance\": _2, \"lifestyle\": _2, \"lighting\": _2, \"like\": _2, \"lilly\": _2, \"limited\": _2, \"limo\": _2, \"lincoln\": _2, \"linde\": _2, \"link\": { \"$\": 1, \"succ\": { \"cyon\": _4, \"mypep\": _4, \"dweb\": _7 } }, \"lipsy\": _2, \"live\": _2, \"living\": _2, \"lixil\": _2, \"llc\": _2, \"llp\": _2, \"loan\": _2, \"loans\": _2, \"locker\": _2, \"locus\": _2, \"loft\": _2, \"lol\": _2, \"london\": { \"$\": 1, \"succ\": { \"in\": _4, \"of\": _4 } }, \"lotte\": _2, \"lotto\": _2, \"love\": _2, \"lpl\": _2, \"lplfinancial\": _2, \"ltd\": _2, \"ltda\": _2, \"lundbeck\": _2, \"lupin\": _2, \"luxe\": _2, \"luxury\": _2, \"macys\": _2, \"madrid\": _2, \"maif\": _2, \"maison\": _2, \"makeup\": _2, \"man\": _2, \"management\": { \"$\": 1, \"succ\": { \"router\": _4 } }, \"mango\": _2, \"map\": _2, \"market\": _2, \"marketing\": _2, \"markets\": _2, \"marriott\": _2, \"marshalls\": _2, \"maserati\": _2, \"mattel\": _2, \"mba\": _2, \"mckinsey\": _2, \"med\": _2, \"media\": _2, \"meet\": _2, \"melbourne\": _2, \"meme\": _2, \"memorial\": _2, \"men\": _24, \"menu\": _25, \"merckmsd\": _2, \"metlife\": _2, \"miami\": _2, \"microsoft\": _2, \"mini\": _2, \"mint\": _2, \"mit\": _2, \"mitsubishi\": _2, \"mlb\": _2, \"mls\": _2, \"mma\": _2, \"mobile\": _2, \"moda\": _2, \"moe\": _2, \"moi\": _2, \"mom\": { \"$\": 1, \"succ\": { \"and\": _4, \"for\": _4 } }, \"monash\": _2, \"money\": _2, \"monster\": _2, \"mormon\": _2, \"mortgage\": _2, \"moscow\": _2, \"moto\": _2, \"motorcycles\": _2, \"mov\": _2, \"movie\": _2, \"msd\": _2, \"mtn\": _2, \"mtr\": _2, \"mutual\": _2, \"nab\": _2, \"nagoya\": _2, \"nationwide\": _2, \"natura\": _2, \"navy\": _2, \"nba\": _2, \"nec\": _2, \"netbank\": _2, \"netflix\": _2, \"network\": { \"$\": 1, \"succ\": { \"alces\": _7, \"co\": _4, \"arvo\": _4, \"azimuth\": _4 } }, \"neustar\": _2, \"new\": _2, \"newholland\": _2, \"news\": _2, \"next\": _2, \"nextdirect\": _2, \"nexus\": _2, \"nfl\": _2, \"ngo\": _2, \"nhk\": _2, \"nico\": _2, \"nike\": _2, \"nikon\": _2, \"ninja\": _2, \"nissan\": _2, \"nissay\": _2, \"nokia\": _2, \"northwesternmutual\": _2, \"norton\": _2, \"now\": _2, \"nowruz\": _2, \"nowtv\": _2, \"nra\": _2, \"nrw\": _2, \"ntt\": _2, \"nyc\": _2, \"obi\": _2, \"observer\": _2, \"off\": _2, \"office\": _2, \"okinawa\": _2, \"olayan\": _2, \"olayangroup\": _2, \"oldnavy\": _2, \"ollo\": _2, \"omega\": _2, \"one\": { \"$\": 1, \"succ\": { \"onred\": { \"$\": 2, \"succ\": { \"staging\": _4 } }, \"for\": _4, \"homelink\": _4 } }, \"ong\": _2, \"onl\": _2, \"online\": _25, \"onyourside\": _2, \"ooo\": _2, \"open\": _2, \"oracle\": _2, \"orange\": _2, \"organic\": _2, \"origins\": _2, \"osaka\": _2, \"otsuka\": _2, \"ott\": _2, \"ovh\": { \"$\": 1, \"succ\": { \"nerdpol\": _4 } }, \"page\": { \"$\": 1, \"succ\": { \"pdns\": _4, \"plesk\": _4, \"prvcy\": _4 } }, \"panasonic\": _2, \"paris\": _2, \"pars\": _2, \"partners\": _2, \"parts\": _2, \"party\": _19, \"passagens\": _2, \"pay\": _2, \"pccw\": _2, \"pet\": _2, \"pfizer\": _2, \"pharmacy\": _2, \"phd\": _2, \"philips\": _2, \"phone\": _2, \"photo\": _2, \"photography\": _2, \"photos\": _2, \"physio\": _2, \"pics\": _2, \"pictet\": _2, \"pictures\": { \"$\": 1, \"succ\": { \"1337\": _4 } }, \"pid\": _2, \"pin\": _2, \"ping\": _2, \"pink\": _2, \"pioneer\": _2, \"pizza\": _2, \"place\": _10, \"play\": _2, \"playstation\": _2, \"plumbing\": _2, \"plus\": _2, \"pnc\": _2, \"pohl\": _2, \"poker\": _2, \"politie\": _2, \"porn\": { \"$\": 1, \"succ\": { \"indie\": _4 } }, \"pramerica\": _2, \"praxi\": _2, \"press\": _2, \"prime\": _2, \"prod\": _2, \"productions\": _2, \"prof\": _2, \"progressive\": _2, \"promo\": _2, \"properties\": _2, \"property\": _2, \"protection\": _2, \"pru\": _2, \"prudential\": _2, \"pub\": _25, \"pwc\": _2, \"qpon\": _2, \"quebec\": _2, \"quest\": _2, \"qvc\": _2, \"racing\": _2, \"radio\": _2, \"raid\": _2, \"read\": _2, \"realestate\": _2, \"realtor\": _2, \"realty\": _2, \"recipes\": _2, \"red\": _2, \"redstone\": _2, \"redumbrella\": _2, \"rehab\": _2, \"reise\": _2, \"reisen\": _2, \"reit\": _2, \"reliance\": _2, \"ren\": _2, \"rent\": _2, \"rentals\": _2, \"repair\": _2, \"report\": _2, \"republican\": _2, \"rest\": _2, \"restaurant\": _2, \"review\": _19, \"reviews\": _2, \"rexroth\": _2, \"rich\": _2, \"richardli\": _2, \"ricoh\": _2, \"ril\": _2, \"rio\": _2, \"rip\": { \"$\": 1, \"succ\": { \"clan\": _4 } }, \"rmit\": _2, \"rocher\": _2, \"rocks\": { \"$\": 1, \"succ\": { \"myddns\": _4, \"lima-city\": _4, \"webspace\": _4 } }, \"rodeo\": _2, \"rogers\": _2, \"room\": _2, \"rsvp\": _2, \"rugby\": _2, \"ruhr\": _2, \"run\": { \"$\": 1, \"succ\": { \"hs\": _4, \"development\": _4, \"ravendb\": _4, \"repl\": _4 } }, \"rwe\": _2, \"ryukyu\": _2, \"saarland\": _2, \"safe\": _2, \"safety\": _2, \"sakura\": _2, \"sale\": _24, \"salon\": _2, \"samsclub\": _2, \"samsung\": _2, \"sandvik\": _2, \"sandvikcoromant\": _2, \"sanofi\": _2, \"sap\": _2, \"sarl\": _2, \"sas\": _2, \"save\": _2, \"saxo\": _2, \"sbi\": _2, \"sbs\": _2, \"sca\": _2, \"scb\": _2, \"schaeffler\": _2, \"schmidt\": _2, \"scholarships\": _2, \"school\": _11, \"schule\": _2, \"schwarz\": _2, \"science\": _19, \"scjohnson\": _2, \"scot\": { \"$\": 1, \"succ\": { \"gov\": _4 } }, \"search\": _2, \"seat\": _2, \"secure\": _2, \"security\": _2, \"seek\": _2, \"select\": _2, \"sener\": _2, \"services\": { \"$\": 1, \"succ\": { \"loginline\": _4 } }, \"ses\": _2, \"seven\": _2, \"sew\": _2, \"sex\": _2, \"sexy\": _2, \"sfr\": _2, \"shangrila\": _2, \"sharp\": _2, \"shaw\": _2, \"shell\": _2, \"shia\": _2, \"shiksha\": _2, \"shoes\": _2, \"shop\": _25, \"shopping\": _2, \"shouji\": _2, \"show\": _2, \"showtime\": _2, \"shriram\": _2, \"silk\": _2, \"sina\": _2, \"singles\": _2, \"site\": { \"$\": 1, \"succ\": { \"cloudera\": _4, \"cyon\": _4, \"fastvps\": _4, \"jele\": _4, \"lelux\": _4, \"loginline\": _4, \"barsy\": _4, \"opensocial\": _4, \"platformsh\": _7, \"byen\": _4, \"mintere\": _4 } }, \"ski\": _2, \"skin\": _2, \"sky\": _2, \"skype\": _2, \"sling\": _2, \"smart\": _2, \"smile\": _2, \"sncf\": _2, \"soccer\": _2, \"social\": _2, \"softbank\": _2, \"software\": _2, \"sohu\": _2, \"solar\": _2, \"solutions\": _2, \"song\": _2, \"sony\": _2, \"soy\": _2, \"spa\": _2, \"space\": { \"$\": 1, \"succ\": { \"myfast\": _4, \"linkitools\": _4, \"uber\": _4, \"xs4all\": _4 } }, \"sport\": _2, \"spot\": _2, \"spreadbetting\": _2, \"srl\": _2, \"stada\": _2, \"staples\": _2, \"star\": _2, \"statebank\": _2, \"statefarm\": _2, \"stc\": _2, \"stcgroup\": _2, \"stockholm\": _2, \"storage\": _2, \"store\": { \"$\": 1, \"succ\": { \"shopware\": _4 } }, \"stream\": _2, \"studio\": _2, \"study\": _2, \"style\": _2, \"sucks\": _2, \"supplies\": _2, \"supply\": _2, \"support\": _25, \"surf\": _2, \"surgery\": _2, \"suzuki\": _2, \"swatch\": _2, \"swiftcover\": _2, \"swiss\": _2, \"sydney\": _2, \"systems\": { \"$\": 1, \"succ\": { \"knightpoint\": _4 } }, \"tab\": _2, \"taipei\": _2, \"talk\": _2, \"taobao\": _2, \"target\": _2, \"tatamotors\": _2, \"tatar\": _2, \"tattoo\": _2, \"tax\": _2, \"taxi\": _2, \"tci\": _2, \"tdk\": _2, \"team\": { \"$\": 1, \"succ\": { \"discourse\": _4, \"jelastic\": _4 } }, \"tech\": _2, \"technology\": _10, \"temasek\": _2, \"tennis\": _2, \"teva\": _2, \"thd\": _2, \"theater\": _2, \"theatre\": _2, \"tiaa\": _2, \"tickets\": _2, \"tienda\": _2, \"tiffany\": _2, \"tips\": _2, \"tires\": _2, \"tirol\": _2, \"tjmaxx\": _2, \"tjx\": _2, \"tkmaxx\": _2, \"tmall\": _2, \"today\": _2, \"tokyo\": _2, \"tools\": _2, \"top\": { \"$\": 1, \"succ\": { \"now-dns\": _4, \"ntdll\": _4 } }, \"toray\": _2, \"toshiba\": _2, \"total\": _2, \"tours\": _2, \"town\": _2, \"toyota\": _2, \"toys\": _2, \"trade\": _19, \"trading\": _2, \"training\": _2, \"travel\": _2, \"travelchannel\": _2, \"travelers\": _2, \"travelersinsurance\": _2, \"trust\": _2, \"trv\": _2, \"tube\": _2, \"tui\": _2, \"tunes\": _2, \"tushu\": _2, \"tvs\": _2, \"ubank\": _2, \"ubs\": _2, \"unicom\": _2, \"university\": _2, \"uno\": _2, \"uol\": _2, \"ups\": _2, \"vacations\": _2, \"vana\": _2, \"vanguard\": _2, \"vegas\": _2, \"ventures\": _2, \"verisign\": _2, \"versicherung\": _2, \"vet\": _2, \"viajes\": _2, \"video\": _2, \"vig\": _2, \"viking\": _2, \"villas\": _2, \"vin\": _2, \"vip\": _2, \"virgin\": _2, \"visa\": _2, \"vision\": _2, \"viva\": _2, \"vivo\": _2, \"vlaanderen\": _2, \"vodka\": _2, \"volkswagen\": _2, \"volvo\": _2, \"vote\": _2, \"voting\": _2, \"voto\": _2, \"voyage\": _2, \"vuelos\": _2, \"wales\": _2, \"walmart\": _2, \"walter\": _2, \"wang\": _2, \"wanggou\": _2, \"watch\": _2, \"watches\": _2, \"weather\": _2, \"weatherchannel\": _2, \"webcam\": _2, \"weber\": _2, \"website\": _2, \"wed\": _2, \"wedding\": _2, \"weibo\": _2, \"weir\": _2, \"whoswho\": _2, \"wien\": _2, \"wiki\": _2, \"williamhill\": _2, \"win\": _2, \"windows\": _2, \"wine\": _2, \"winners\": _2, \"wme\": _2, \"wolterskluwer\": _2, \"woodside\": _2, \"work\": { \"$\": 1, \"succ\": { \"of\": _4, \"to\": _4 } }, \"works\": _2, \"world\": _2, \"wow\": _2, \"wtc\": _2, \"wtf\": _2, \"xbox\": _2, \"xerox\": _2, \"xfinity\": _2, \"xihuan\": _2, \"xin\": _2, \"xn--11b4c3d\": _2, \"\u0915\u0949\u092E\": _2, \"xn--1ck2e1b\": _2, \"\u30BB\u30FC\u30EB\": _2, \"xn--1qqw23a\": _2, \"\u4F5B\u5C71\": _2, \"xn--30rr7y\": _2, \"\u6148\u5584\": _2, \"xn--3bst00m\": _2, \"\u96C6\u56E2\": _2, \"xn--3ds443g\": _2, \"\u5728\u7EBF\": _2, \"xn--3oq18vl8pn36a\": _2, \"\u5927\u4F17\u6C7D\u8F66\": _2, \"xn--3pxu8k\": _2, \"\u70B9\u770B\": _2, \"xn--42c2d9a\": _2, \"\u0E04\u0E2D\u0E21\": _2, \"xn--45q11c\": _2, \"\u516B\u5366\": _2, \"xn--4gbrim\": _2, \"\u0645\u0648\u0642\u0639\": _2, \"xn--55qw42g\": _2, \"\u516C\u76CA\": _2, \"xn--55qx5d\": _2, \"\u516C\u53F8\": _2, \"xn--5su34j936bgsg\": _2, \"\u9999\u683C\u91CC\u62C9\": _2, \"xn--5tzm5g\": _2, \"\u7F51\u7AD9\": _2, \"xn--6frz82g\": _2, \"\u79FB\u52A8\": _2, \"xn--6qq986b3xl\": _2, \"\u6211\u7231\u4F60\": _2, \"xn--80adxhks\": _2, \"\u043C\u043E\u0441\u043A\u0432\u0430\": _2, \"xn--80aqecdr1a\": _2, \"\u043A\u0430\u0442\u043E\u043B\u0438\u043A\": _2, \"xn--80asehdb\": _2, \"\u043E\u043D\u043B\u0430\u0439\u043D\": _2, \"xn--80aswg\": _2, \"\u0441\u0430\u0439\u0442\": _2, \"xn--8y0a063a\": _2, \"\u8054\u901A\": _2, \"xn--9dbq2a\": _2, \"\u05E7\u05D5\u05DD\": _2, \"xn--9et52u\": _2, \"\u65F6\u5C1A\": _2, \"xn--9krt00a\": _2, \"\u5FAE\u535A\": _2, \"xn--b4w605ferd\": _2, \"\u6DE1\u9A6C\u9521\": _2, \"xn--bck1b9a5dre4c\": _2, \"\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3\": _2, \"xn--c1avg\": _2, \"\u043E\u0440\u0433\": _2, \"xn--c2br7g\": _2, \"\u0928\u0947\u091F\": _2, \"xn--cck2b3b\": _2, \"\u30B9\u30C8\u30A2\": _2, \"xn--cckwcxetd\": _2, \"\u30A2\u30DE\u30BE\u30F3\": _2, \"xn--cg4bki\": _2, \"\uC0BC\uC131\": _2, \"xn--czr694b\": _2, \"\u5546\u6807\": _2, \"xn--czrs0t\": _2, \"\u5546\u5E97\": _2, \"xn--czru2d\": _2, \"\u5546\u57CE\": _2, \"xn--d1acj3b\": _2, \"\u0434\u0435\u0442\u0438\": _2, \"xn--eckvdtc9d\": _2, \"\u30DD\u30A4\u30F3\u30C8\": _2, \"xn--efvy88h\": _2, \"\u65B0\u95FB\": _2, \"xn--fct429k\": _2, \"\u5BB6\u96FB\": _2, \"xn--fhbei\": _2, \"\u0643\u0648\u0645\": _2, \"xn--fiq228c5hs\": _2, \"\u4E2D\u6587\u7F51\": _2, \"xn--fiq64b\": _2, \"\u4E2D\u4FE1\": _2, \"xn--fjq720a\": _2, \"\u5A31\u4E50\": _2, \"xn--flw351e\": _2, \"\u8C37\u6B4C\": _2, \"xn--fzys8d69uvgm\": _2, \"\u96FB\u8A0A\u76C8\u79D1\": _2, \"xn--g2xx48c\": _2, \"\u8D2D\u7269\": _2, \"xn--gckr3f0f\": _2, \"\u30AF\u30E9\u30A6\u30C9\": _2, \"xn--gk3at1e\": _2, \"\u901A\u8CA9\": _2, \"xn--hxt814e\": _2, \"\u7F51\u5E97\": _2, \"xn--i1b6b1a6a2e\": _2, \"\u0938\u0902\u0917\u0920\u0928\": _2, \"xn--imr513n\": _2, \"\u9910\u5385\": _2, \"xn--io0a7i\": _2, \"\u7F51\u7EDC\": _2, \"xn--j1aef\": _2, \"\u043A\u043E\u043C\": _2, \"xn--jlq480n2rg\": _2, \"\u4E9A\u9A6C\u900A\": _2, \"xn--jlq61u9w7b\": _2, \"\u8BFA\u57FA\u4E9A\": _2, \"xn--jvr189m\": _2, \"\u98DF\u54C1\": _2, \"xn--kcrx77d1x4a\": _2, \"\u98DE\u5229\u6D66\": _2, \"xn--kput3i\": _2, \"\u624B\u673A\": _2, \"xn--mgba3a3ejt\": _2, \"\u0627\u0631\u0627\u0645\u0643\u0648\": _2, \"xn--mgba7c0bbn0a\": _2, \"\u0627\u0644\u0639\u0644\u064A\u0627\u0646\": _2, \"xn--mgbaakc7dvf\": _2, \"\u0627\u062A\u0635\u0627\u0644\u0627\u062A\": _2, \"xn--mgbab2bd\": _2, \"\u0628\u0627\u0632\u0627\u0631\": _2, \"xn--mgbca7dzdo\": _2, \"\u0627\u0628\u0648\u0638\u0628\u064A\": _2, \"xn--mgbi4ecexp\": _2, \"\u0643\u0627\u062B\u0648\u0644\u064A\u0643\": _2, \"xn--mgbt3dhd\": _2, \"\u0647\u0645\u0631\u0627\u0647\": _2, \"xn--mk1bu44c\": _2, \"\uB2F7\uCEF4\": _2, \"xn--mxtq1m\": _2, \"\u653F\u5E9C\": _2, \"xn--ngbc5azd\": _2, \"\u0634\u0628\u0643\u0629\": _2, \"xn--ngbe9e0a\": _2, \"\u0628\u064A\u062A\u0643\": _2, \"xn--ngbrx\": _2, \"\u0639\u0631\u0628\": _2, \"xn--nqv7f\": _2, \"\u673A\u6784\": _2, \"xn--nqv7fs00ema\": _2, \"\u7EC4\u7EC7\u673A\u6784\": _2, \"xn--nyqy26a\": _2, \"\u5065\u5EB7\": _2, \"xn--otu796d\": _2, \"\u62DB\u8058\": _2, \"xn--p1acf\": _2, \"\u0440\u0443\u0441\": _2, \"xn--pssy2u\": _2, \"\u5927\u62FF\": _2, \"xn--q9jyb4c\": _2, \"\u307F\u3093\u306A\": _2, \"xn--qcka1pmc\": _2, \"\u30B0\u30FC\u30B0\u30EB\": _2, \"xn--rhqv96g\": _2, \"\u4E16\u754C\": _2, \"xn--rovu88b\": _2, \"\u66F8\u7C4D\": _2, \"xn--ses554g\": _2, \"\u7F51\u5740\": _2, \"xn--t60b56a\": _2, \"\uB2F7\uB137\": _2, \"xn--tckwe\": _2, \"\u30B3\u30E0\": _2, \"xn--tiq49xqyj\": _2, \"\u5929\u4E3B\u6559\": _2, \"xn--unup4y\": _2, \"\u6E38\u620F\": _2, \"xn--vermgensberater-ctb\": _2, \"verm\u00F6gensberater\": _2, \"xn--vermgensberatung-pwb\": _2, \"verm\u00F6gensberatung\": _2, \"xn--vhquv\": _2, \"\u4F01\u4E1A\": _2, \"xn--vuq861b\": _2, \"\u4FE1\u606F\": _2, \"xn--w4r85el8fhu5dnra\": _2, \"\u5609\u91CC\u5927\u9152\u5E97\": _2, \"xn--w4rs40l\": _2, \"\u5609\u91CC\": _2, \"xn--xhq521b\": _2, \"\u5E7F\u4E1C\": _2, \"xn--zfr164b\": _2, \"\u653F\u52A1\": _2, \"xyz\": { \"$\": 1, \"succ\": { \"blogsite\": _4, \"fhapp\": _4, \"crafting\": _4, \"zapto\": _4, \"telebit\": _7 } }, \"yachts\": _2, \"yahoo\": _2, \"yamaxun\": _2, \"yandex\": _2, \"yodobashi\": _2, \"yoga\": _2, \"yokohama\": _2, \"you\": _2, \"youtube\": _2, \"yun\": _2, \"zappos\": _2, \"zara\": _2, \"zero\": _2, \"zip\": _2, \"zone\": { \"$\": 1, \"succ\": { \"cloud66\": _4, \"hs\": _4, \"triton\": _7, \"lima\": _4 } }, \"zuerich\": _2 } };\n return rules;\n })();\n\n function lookupInTrie(parts, trie, index, allowedMask) {\n let result = null;\n let node = trie;\n while (node !== undefined) {\n if ((node.$ & allowedMask) !== 0) {\n result = {\n index: index + 1,\n isIcann: node.$ === 1 ,\n isPrivate: node.$ === 2 ,\n };\n }\n if (index === -1) {\n break;\n }\n const succ = node.succ;\n node = succ && (succ[parts[index]] || succ['*']);\n index -= 1;\n }\n return result;\n }\n function suffixLookup(hostname, options, out) {\n if (fastPathLookup(hostname, options, out) === true) {\n return;\n }\n const hostnameParts = hostname.split('.');\n const allowedMask = (options.allowPrivateDomains === true ? 2 : 0) |\n (options.allowIcannDomains === true ? 1 : 0);\n const exceptionMatch = lookupInTrie(hostnameParts, exceptions, hostnameParts.length - 1, allowedMask);\n if (exceptionMatch !== null) {\n out.isIcann = exceptionMatch.isIcann;\n out.isPrivate = exceptionMatch.isPrivate;\n out.publicSuffix = hostnameParts.slice(exceptionMatch.index + 1).join('.');\n return;\n }\n const rulesMatch = lookupInTrie(hostnameParts, rules, hostnameParts.length - 1, allowedMask);\n if (rulesMatch !== null) {\n out.isIcann = rulesMatch.isIcann;\n out.isPrivate = rulesMatch.isPrivate;\n out.publicSuffix = hostnameParts.slice(rulesMatch.index).join('.');\n return;\n }\n out.isIcann = false;\n out.isPrivate = false;\n out.publicSuffix = hostnameParts[hostnameParts.length - 1];\n }\n\n const RESULT = getEmptyResult();\n function parse$1(url, options = {}) {\n return parseImpl(url, 5 , suffixLookup, options, getEmptyResult());\n }\n function getHostname(url, options = {}) {\n resetResult(RESULT);\n return parseImpl(url, 0 , suffixLookup, options, RESULT).hostname;\n }\n function getPublicSuffix(url, options = {}) {\n resetResult(RESULT);\n return parseImpl(url, 2 , suffixLookup, options, RESULT).publicSuffix;\n }\n\n /**\n * This is a helper class that is used specifically to work\n * with domains restrictions.\n *\n * There are two options how you can add a domain restriction:\n * * `$domain` modifier: https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#domain-modifier\n * * domains list for the cosmetic rules\n *\n * The only difference between them is that in one case we use `|` as a separator,\n * and in the other case - `,`.\n *\n * Examples:\n * * `||example.org^$domain=example.com|~sub.example.com` -- network rule\n * * `example.com,~sub.example.com##banner` -- cosmetic rule\n */\n var DomainModifier = /** @class */ (function () {\n /**\n * Parses the `domains` string and initializes the object.\n *\n * @param domainsStr Domains string.\n * @param separator Separator \u2014 `,` or `|`.\n *\n * @throws An error if the domains string is empty or invalid\n */\n function DomainModifier(domainsStr, separator) {\n if (!domainsStr) {\n throw new SyntaxError('Modifier $domain cannot be empty');\n }\n var permittedDomains = [];\n var restrictedDomains = [];\n var parts = domainsStr.toLowerCase().split(separator);\n for (var i = 0; i < parts.length; i += 1) {\n var domain = parts[i].trim();\n var restricted = false;\n if (domain.startsWith('~')) {\n restricted = true;\n domain = domain.substring(1);\n }\n if (domain === '') {\n throw new SyntaxError(\"Empty domain specified in \\\"\".concat(domainsStr, \"\\\"\"));\n }\n if (restricted) {\n restrictedDomains.push(domain);\n }\n else {\n permittedDomains.push(domain);\n }\n }\n this.restrictedDomains = restrictedDomains.length > 0 ? restrictedDomains : null;\n this.permittedDomains = permittedDomains.length > 0 ? permittedDomains : null;\n }\n /**\n * isDomainOrSubdomainOfAny checks if `domain` is the same or a subdomain\n * of any of `domains`.\n *\n * @param domain - domain to check\n * @param domains - domains list to check against\n */\n DomainModifier.isDomainOrSubdomainOfAny = function (domain, domains) {\n for (var i = 0; i < domains.length; i += 1) {\n var d = domains[i];\n if (DomainModifier.isWildcardDomain(d)) {\n if (DomainModifier.matchAsWildcard(d, domain)) {\n return true;\n }\n }\n if (domain === d || (domain.endsWith(d) && domain.endsWith(\".\".concat(d)))) {\n return true;\n }\n }\n return false;\n };\n /**\n * Checks if domain ends with wildcard\n *\n * @param domain\n */\n DomainModifier.isWildcardDomain = function (domain) {\n return domain.endsWith('.*');\n };\n /**\n * Checks if wildcard matches domain\n *\n * @param wildcard\n * @param domainNameToCheck\n */\n DomainModifier.matchAsWildcard = function (wildcard, domainNameToCheck) {\n var wildcardedDomainToCheck = DomainModifier.genTldWildcard(domainNameToCheck);\n if (wildcardedDomainToCheck) {\n return wildcardedDomainToCheck === wildcard\n || (wildcardedDomainToCheck.endsWith(wildcard) && wildcardedDomainToCheck.endsWith(\".\".concat(wildcard)));\n }\n return false;\n };\n /**\n * Generates from domain tld wildcard e.g. google.com -> google.* ; youtube.co.uk -> youtube.*\n *\n * @param {string} domainName\n * @returns {string} string is empty if tld for provided domain name doesn't exists\n */\n DomainModifier.genTldWildcard = function (domainName) {\n // To match eTld like \"com.ru\" we use allowPrivateDomains wildcard\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/2650\n var tld = getPublicSuffix(domainName, { allowPrivateDomains: true });\n if (tld) {\n // lastIndexOf() is needed not to match the domain, e.g. 'www.chrono24.ch'.\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/2312.\n return \"\".concat(domainName.slice(0, domainName.lastIndexOf(\".\".concat(tld))), \".*\");\n }\n return '';\n };\n return DomainModifier;\n }());\n /**\n * Comma separator\n */\n var COMMA_SEPARATOR = ',';\n /**\n * Pipe separator\n */\n var PIPE_SEPARATOR = '|';\n\n /**\n * Splits the string by the delimiter, ignoring escaped delimiters\n * and without tokenizing.\n * Works for plain strings that don't include string representation of\n * complex entities, e.g $replace modifier values.\n *\n * @param string - string to split\n * @param delimiter - delimiter\n * @param escapeCharacter - escape character\n * @param preserveEmptyTokens - if true, preserve empty parts\n * @param shouldUnescape - if true, unescape characters\n * @return array of string parts\n */\n function splitByDelimiterWithEscapeCharacter(string, delimiter, escapeCharacter, preserveEmptyTokens, shouldUnescape) {\n if (shouldUnescape === void 0) { shouldUnescape = true; }\n if (!string) {\n return [];\n }\n if (string.startsWith(delimiter)) {\n // eslint-disable-next-line no-param-reassign\n string = string.substring(1);\n }\n var words = [];\n if (!string.includes(escapeCharacter)) {\n words = string.split(delimiter);\n if (!preserveEmptyTokens) {\n words = words.filter(function (word) { return !!word; });\n }\n return words;\n }\n var chars = [];\n var makeWord = function () {\n var word = chars.join('');\n words.push(word);\n chars = [];\n };\n for (var i = 0; i < string.length; i += 1) {\n var char = string.charAt(i);\n var isLastChar = i === (string.length - 1);\n if (char === delimiter) {\n var isEscapedChar = i > 0 && string[i - 1] === escapeCharacter;\n if (isEscapedChar) {\n if (shouldUnescape) {\n chars.splice(chars.length - 1, 1);\n }\n chars.push(char);\n }\n else {\n makeWord();\n }\n if (isLastChar) {\n makeWord();\n }\n }\n else if (isLastChar) {\n chars.push(char);\n makeWord();\n }\n else {\n chars.push(char);\n }\n }\n if (!preserveEmptyTokens) {\n words = words.filter(function (word) { return !!word; });\n }\n return words;\n }\n /**\n * Checks if the specified string starts with a substr at the specified index.\n *\n * @param str - String to check\n * @param startIndex - Index to start checking from\n * @param substr - Substring to check\n * @return boolean true if it does start\n */\n function startsAtIndexWith(str, startIndex, substr) {\n if (str.length - startIndex < substr.length) {\n return false;\n }\n for (var i = 0; i < substr.length; i += 1) {\n if (str.charAt(startIndex + i) !== substr.charAt(i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * Checks if str has unquoted substr\n *\n * @param str\n * @param substr\n */\n function hasUnquotedSubstring(str, substr) {\n var quotes = ['\"', \"'\", '/'];\n if (!str.includes(substr)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n if (indexOfAny(str, quotes) === -1) {\n return true;\n }\n var stack = [];\n for (var i = 0; i < str.length; i += 1) {\n var cursor = str[i];\n if (stack.length === 0) {\n if (startsAtIndexWith(str, i, substr)) {\n return true;\n }\n }\n if (quotes.indexOf(cursor) >= 0\n && (i === 0 || str[i - 1] !== '\\\\')) {\n var last = stack.pop();\n if (!last) {\n stack.push(cursor);\n }\n else if (last !== cursor) {\n stack.push(last);\n stack.push(cursor);\n }\n }\n }\n return false;\n }\n /**\n * djb2 hash algorithm\n *\n * NOTE: This version uses some bit operands to exclude overflow MAX_SAFE_INTEGER\n * (and moreover, exclude overflow 2^32).\n *\n * @see {@link https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765}\n *\n * @param str string to get hash\n * @return {number} hash\n */\n function fastHash(str) {\n if (str.length === 0) {\n return 0;\n }\n var hash = 5381;\n for (var i = 0; i < str.length; i += 1) {\n hash = hash * 33 ^ str.charCodeAt(i);\n }\n return hash >>> 0;\n }\n /**\n * Look for any symbol from \"chars\" array starting at \"start\" index or from the start of the string\n *\n * @param str String to search\n * @param chars Chars to search for\n * @param start Start index (optional, inclusive)\n * @return int Index of the element found or -1 if not\n */\n function indexOfAny(str, chars, start) {\n if (start === void 0) { start = 0; }\n if (str.length <= start) {\n return -1;\n }\n for (var i = start; i < str.length; i += 1) {\n var c = str.charAt(i);\n if (chars.indexOf(c) > -1) {\n return i;\n }\n }\n return -1;\n }\n /**\n * Replaces all occurences of find with replace in str\n *\n * @param str\n * @param find\n * @param replace\n */\n function replaceAll(str, find, replace) {\n if (!str) {\n return str;\n }\n return str.split(find).join(replace);\n }\n /**\n * Checks if arrays are equal\n *\n * @param left array\n * @param right array\n * @return {boolean} true on equality\n */\n function stringArraysEquals(left, right) {\n if (!left || !right) {\n return !left && !right;\n }\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i += 1) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n }\n /**\n * Checks if arrays have an intersection\n *\n * @param left array\n * @param right array\n * @return {boolean} true on equality\n */\n function stringArraysHaveIntersection(left, right) {\n if (!left || !right) {\n return true;\n }\n for (var i = 0; i < left.length; i += 1) {\n if (right.includes(left[i])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * CosmeticLookupTable lets quickly lookup cosmetic rules for the specified hostname.\n * It is primarily used by the {@see CosmeticEngine}.\n */\n var CosmeticLookupTable = /** @class */ (function () {\n /**\n * Creates a new instance\n *\n * @param storage rules storage. We store \"rule indexes\" in the lookup table which\n * can be used to retrieve the full rules from the storage.\n */\n function CosmeticLookupTable(storage) {\n this.byHostname = new Map();\n this.wildcardRules = [];\n this.genericRules = [];\n this.allowlist = new Map();\n this.ruleStorage = storage;\n }\n /**\n * Adds rule to the appropriate collection\n * @param rule\n * @param storageIdx\n */\n CosmeticLookupTable.prototype.addRule = function (rule, storageIdx) {\n if (rule.isAllowlist()) {\n var key = rule.getContent();\n var existingRules = this.allowlist.get(key) || [];\n existingRules.push(storageIdx);\n this.allowlist.set(key, existingRules);\n return;\n }\n if (rule.isGeneric()) {\n this.genericRules.push(rule);\n return;\n }\n var domains = rule.getPermittedDomains();\n if (domains) {\n var hasWildcardDomain = domains.some(function (d) { return DomainModifier.isWildcardDomain(d); });\n if (hasWildcardDomain) {\n this.wildcardRules.push(rule);\n return;\n }\n for (var _i = 0, domains_1 = domains; _i < domains_1.length; _i++) {\n var domain = domains_1[_i];\n var tldResult = parse$1(domain);\n // tldResult.domain equals to eTLD domain,\n // e.g. sub.example.uk.org would result in example.uk.org\n var parsedDomain = tldResult.domain || domain;\n var key = fastHash(parsedDomain);\n var rules = this.byHostname.get(key) || [];\n rules.push(storageIdx);\n this.byHostname.set(key, rules);\n }\n }\n };\n /**\n * Finds rules by hostname\n * @param request\n * @param subdomains\n */\n CosmeticLookupTable.prototype.findByHostname = function (request) {\n var result = [];\n var subdomains = request.subdomains;\n var _loop_1 = function (i) {\n var subdomain = subdomains[i];\n var rulesIndexes = this_1.byHostname.get(fastHash(subdomain));\n if (rulesIndexes) {\n // Filtering out duplicates\n rulesIndexes = rulesIndexes.filter(function (v, index) { return rulesIndexes.indexOf(v) === index; });\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var rule = this_1.ruleStorage.retrieveRule(rulesIndexes[j]);\n if (rule && rule.match(request)) {\n result.push(rule);\n }\n }\n }\n };\n var this_1 = this;\n // Iterate over all sub-domains\n for (var i = 0; i < subdomains.length; i += 1) {\n _loop_1(i);\n }\n result.push.apply(result, this.wildcardRules.filter(function (r) { return r.match(request); }));\n return result.filter(function (rule) { return !rule.isAllowlist(); });\n };\n /**\n * Checks if the rule is disabled on the specified hostname.\n * @param request\n * @param rule\n */\n CosmeticLookupTable.prototype.isAllowlisted = function (request, rule) {\n var rulesIndexes = this.allowlist.get(rule.getContent());\n if (!rulesIndexes) {\n return false;\n }\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var r = this.ruleStorage.retrieveRule(rulesIndexes[j]);\n if (r && r.match(request)) {\n return true;\n }\n }\n return false;\n };\n return CosmeticLookupTable;\n }());\n\n var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\n var scriptlets_umd = {exports: {}};\n\n (function (factory) {\n factory();\n })((function () {\n function attachDependencies(scriptlet) {\n var _scriptlet$injections = scriptlet.injections,\n injections = _scriptlet$injections === void 0 ? [] : _scriptlet$injections;\n return injections.reduce(function (accum, dep) {\n return \"\".concat(accum, \"\\n\").concat(dep.toString());\n }, scriptlet.toString());\n }\n function addCall(scriptlet, code) {\n return \"\".concat(code, \"\\n const updatedArgs = args ? [].concat(source).concat(args) : [source];\\n try {\\n \").concat(scriptlet.name, \".apply(this, updatedArgs);\\n } catch (e) {\\n console.log(e);\\n }\");\n }\n function passSourceAndProps(source, code) {\n var redirect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var sourceString = JSON.stringify(source);\n var argsString = source.args ? \"[\".concat(source.args.map(function (arg) {\n return JSON.stringify(arg);\n }), \"]\") : undefined;\n var params = argsString ? \"\".concat(sourceString, \", \").concat(argsString) : sourceString;\n if (redirect) {\n return \"(function(source, args){\\n\".concat(code, \"\\n})(\").concat(params, \");\");\n }\n return \"(\".concat(code, \")(\").concat(params, \");\");\n }\n function wrapInNonameFunc(code) {\n return \"function(source, args){\\n\".concat(code, \"\\n}\");\n }\n var isEmptyObject = function isEmptyObject(obj) {\n return Object.keys(obj).length === 0 && !obj.prototype;\n };\n var safeGetDescriptor = function safeGetDescriptor(obj, prop) {\n var descriptor = Object.getOwnPropertyDescriptor(obj, prop);\n if (descriptor && descriptor.configurable) {\n return descriptor;\n }\n return null;\n };\n function setPropertyAccess(object, property, descriptor) {\n var currentDescriptor = Object.getOwnPropertyDescriptor(object, property);\n if (currentDescriptor && !currentDescriptor.configurable) {\n return false;\n }\n Object.defineProperty(object, property, descriptor);\n return true;\n }\n function isArbitraryObject(value) {\n return value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof RegExp);\n }\n var nativeIsNaN = function nativeIsNaN(num) {\n var native = Number.isNaN || window.isNaN;\n return native(num);\n };\n var nativeIsFinite = function nativeIsFinite(num) {\n var native = Number.isFinite || window.isFinite;\n return native(num);\n };\n var getNumberFromString = function getNumberFromString(rawString) {\n var parsedDelay = parseInt(rawString, 10);\n var validDelay = nativeIsNaN(parsedDelay) ? null : parsedDelay;\n return validDelay;\n };\n function getRandomIntInclusive(min, max) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1) + min);\n }\n var replaceAll = function replaceAll(input, substr, newSubstr) {\n return input.split(substr).join(newSubstr);\n };\n var escapeRegExp = function escapeRegExp(str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n };\n var toRegExp = function toRegExp() {\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var DEFAULT_VALUE = '.?';\n var FORWARD_SLASH = '/';\n if (input === '') {\n return new RegExp(DEFAULT_VALUE);\n }\n var delimiterIndex = input.lastIndexOf(FORWARD_SLASH);\n var flagsPart = input.substring(delimiterIndex + 1);\n var regExpPart = input.substring(0, delimiterIndex + 1);\n var isValidRegExpFlag = function isValidRegExpFlag(flag) {\n if (!flag) {\n return false;\n }\n try {\n new RegExp('', flag);\n return true;\n } catch (ex) {\n return false;\n }\n };\n var getRegExpFlags = function getRegExpFlags(regExpStr, flagsStr) {\n if (regExpStr.startsWith(FORWARD_SLASH) && regExpStr.endsWith(FORWARD_SLASH)\n && !regExpStr.endsWith('\\\\/') && isValidRegExpFlag(flagsStr)) {\n return flagsStr;\n }\n return '';\n };\n var flags = getRegExpFlags(regExpPart, flagsPart);\n if (input.startsWith(FORWARD_SLASH) && input.endsWith(FORWARD_SLASH) || flags) {\n var regExpInput = flags ? regExpPart : input;\n return new RegExp(regExpInput.slice(1, -1), flags);\n }\n var escaped = input\n .replace(/\\\\'/g, '\\'').replace(/\\\\\"/g, '\"')\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n return new RegExp(escaped);\n };\n var isValidStrPattern = function isValidStrPattern(input) {\n var FORWARD_SLASH = '/';\n var str = escapeRegExp(input);\n if (input[0] === FORWARD_SLASH && input[input.length - 1] === FORWARD_SLASH) {\n str = input.slice(1, -1);\n }\n var isValid;\n try {\n isValid = new RegExp(str);\n isValid = true;\n } catch (e) {\n isValid = false;\n }\n return isValid;\n };\n var getBeforeRegExp = function getBeforeRegExp(str, rx) {\n var index = str.search(rx);\n return str.substring(0, index);\n };\n var substringAfter$1 = function substringAfter(str, separator) {\n if (!str) {\n return str;\n }\n var index = str.indexOf(separator);\n return index < 0 ? '' : str.substring(index + separator.length);\n };\n var substringBefore = function substringBefore(str, separator) {\n if (!str || !separator) {\n return str;\n }\n var index = str.indexOf(separator);\n return index < 0 ? str : str.substring(0, index);\n };\n var wrapInSingleQuotes = function wrapInSingleQuotes(str) {\n if (str[0] === '\\'' && str[str.length - 1] === '\\'' || str[0] === '\"' && str[str.length - 1] === '\"') {\n str = str.substring(1, str.length - 1);\n }\n str = str.replace(/\\'/g, '\"');\n return \"'\".concat(str, \"'\");\n };\n var getStringInBraces = function getStringInBraces(str) {\n var firstIndex = str.indexOf('(');\n var lastIndex = str.lastIndexOf(')');\n return str.substring(firstIndex + 1, lastIndex);\n };\n var convertRtcConfigToString = function convertRtcConfigToString(config) {\n var UNDEF_STR = 'undefined';\n var str = UNDEF_STR;\n if (config === null) {\n str = 'null';\n } else if (config instanceof Object) {\n var SERVERS_PROP_NAME = 'iceServers';\n var URLS_PROP_NAME = 'urls';\n if (Object.prototype.hasOwnProperty.call(config, SERVERS_PROP_NAME) && config[SERVERS_PROP_NAME] && Object.prototype.hasOwnProperty.call(config[SERVERS_PROP_NAME][0], URLS_PROP_NAME) && !!config[SERVERS_PROP_NAME][0][URLS_PROP_NAME]) {\n str = config[SERVERS_PROP_NAME][0][URLS_PROP_NAME].toString();\n }\n }\n return str;\n };\n var isValidMatchStr = function isValidMatchStr(match) {\n var INVERT_MARKER = '!';\n var str = match;\n if (match !== null && match !== void 0 && match.startsWith(INVERT_MARKER)) {\n str = match.slice(1);\n }\n return isValidStrPattern(str);\n };\n var isValidMatchNumber = function isValidMatchNumber(match) {\n var INVERT_MARKER = '!';\n var str = match;\n if (match !== null && match !== void 0 && match.startsWith(INVERT_MARKER)) {\n str = match.slice(1);\n }\n var num = parseFloat(str);\n return !nativeIsNaN(num) && nativeIsFinite(num);\n };\n var parseMatchArg = function parseMatchArg(match) {\n var INVERT_MARKER = '!';\n var isInvertedMatch = match ? match === null || match === void 0 ? void 0 : match.startsWith(INVERT_MARKER) : false;\n var matchValue = isInvertedMatch ? match.slice(1) : match;\n var matchRegexp = toRegExp(matchValue);\n return {\n isInvertedMatch,\n matchRegexp,\n matchValue\n };\n };\n var parseDelayArg = function parseDelayArg(delay) {\n var INVERT_MARKER = '!';\n var isInvertedDelayMatch = delay === null || delay === void 0 ? void 0 : delay.startsWith(INVERT_MARKER);\n var delayValue = isInvertedDelayMatch ? delay.slice(1) : delay;\n var parsedDelay = parseInt(delayValue, 10);\n var delayMatch = nativeIsNaN(parsedDelay) ? null : parsedDelay;\n return {\n isInvertedDelayMatch,\n delayMatch\n };\n };\n var objectToString$1 = function objectToString(obj) {\n if (!obj || typeof obj !== 'object') {\n return String(obj);\n }\n if (isEmptyObject(obj)) {\n return '{}';\n }\n return Object.entries(obj).map(function (pair) {\n var key = pair[0];\n var value = pair[1];\n var recordValueStr = value;\n if (value instanceof Object) {\n recordValueStr = \"{ \".concat(objectToString(value), \" }\");\n }\n return \"\".concat(key, \":\\\"\").concat(recordValueStr, \"\\\"\");\n }).join(' ');\n };\n var convertTypeToString = function convertTypeToString(value) {\n var output;\n if (typeof value === 'undefined') {\n output = 'undefined';\n } else if (typeof value === 'object') {\n if (value === null) {\n output = 'null';\n } else {\n output = objectToString$1(value);\n }\n } else {\n output = String(value);\n }\n return output;\n };\n function getRandomStrByLength(length) {\n var result = '';\n var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+=~';\n var charactersLength = characters.length;\n for (var i = 0; i < length; i += 1) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n }\n function generateRandomResponse(customResponseText) {\n var customResponse = customResponseText;\n if (customResponse === 'true') {\n customResponse = Math.random().toString(36).slice(-10);\n return customResponse;\n }\n customResponse = customResponse.replace('length:', '');\n var rangeRegex = /^\\d+-\\d+$/;\n if (!rangeRegex.test(customResponse)) {\n return null;\n }\n var rangeMin = getNumberFromString(customResponse.split('-')[0]);\n var rangeMax = getNumberFromString(customResponse.split('-')[1]);\n if (!nativeIsFinite(rangeMin) || !nativeIsFinite(rangeMax)) {\n return null;\n }\n if (rangeMin > rangeMax) {\n var temp = rangeMin;\n rangeMin = rangeMax;\n rangeMax = temp;\n }\n var LENGTH_RANGE_LIMIT = 500 * 1000;\n if (rangeMax > LENGTH_RANGE_LIMIT) {\n return null;\n }\n var length = getRandomIntInclusive(rangeMin, rangeMax);\n customResponse = getRandomStrByLength(length);\n return customResponse;\n }\n function inferValue(value) {\n if (value === 'undefined') {\n return undefined;\n }\n if (value === 'false') {\n return false;\n }\n if (value === 'true') {\n return true;\n }\n if (value === 'null') {\n return null;\n }\n if (value === 'NaN') {\n return NaN;\n }\n if (value.startsWith('/') && value.endsWith('/')) {\n return toRegExp(value);\n }\n var MAX_ALLOWED_NUM = 32767;\n var numVal = Number(value);\n if (!nativeIsNaN(numVal)) {\n if (Math.abs(numVal) > MAX_ALLOWED_NUM) {\n throw new Error('number values bigger than 32767 are not allowed');\n }\n return numVal;\n }\n var errorMessage = \"'\".concat(value, \"' value type can't be inferred\");\n try {\n var parsableVal = JSON.parse(value);\n if (parsableVal instanceof Object || typeof parsableVal === 'string') {\n return parsableVal;\n }\n } catch (e) {\n errorMessage += \": \".concat(e);\n }\n throw new TypeError(errorMessage);\n }\n function iterateWithTransitions(iterable, transitions, init, args) {\n var state = init || Object.keys(transitions)[0];\n for (var i = 0; i < iterable.length; i += 1) {\n state = transitions[state](iterable, i, args);\n }\n return state;\n }\n var ADG_SCRIPTLET_MASK = '#//scriptlet';\n var wordSaver = function wordSaver() {\n var str = '';\n var strings = [];\n var saveSymb = function saveSymb(s) {\n str += s;\n return str;\n };\n var saveStr = function saveStr() {\n strings.push(str);\n str = '';\n };\n var getAll = function getAll() {\n return [...strings];\n };\n return {\n saveSymb,\n saveStr,\n getAll\n };\n };\n var substringAfter = function substringAfter(str, separator) {\n if (!str) {\n return str;\n }\n var index = str.indexOf(separator);\n return index < 0 ? '' : str.substring(index + separator.length);\n };\n var parseRule = function parseRule(ruleText) {\n ruleText = substringAfter(ruleText, ADG_SCRIPTLET_MASK);\n if (ruleText === '()') {\n return {\n name: '',\n args: []\n };\n }\n var opened = function opened(rule, index, _ref) {\n var sep = _ref.sep;\n var char = rule[index];\n var transition;\n switch (char) {\n case ' ':\n case '(':\n case ',':\n {\n transition = \"opened\";\n break;\n }\n case '\\'':\n case '\"':\n {\n sep.symb = char;\n transition = \"param\";\n break;\n }\n case ')':\n {\n transition = index === rule.length - 1 ? \"closed\" : \"opened\";\n break;\n }\n default:\n {\n throw new Error('The rule is not a scriptlet');\n }\n }\n return transition;\n };\n var param = function param(rule, index, _ref2) {\n var saver = _ref2.saver,\n sep = _ref2.sep;\n var char = rule[index];\n switch (char) {\n case '\\'':\n case '\"':\n {\n var preIndex = index - 1;\n var before = rule[preIndex];\n if (char === sep.symb && before !== '\\\\') {\n sep.symb = null;\n saver.saveStr();\n return \"opened\";\n }\n }\n default:\n {\n saver.saveSymb(char);\n return \"param\";\n }\n }\n };\n var transitions = {\n [\"opened\"]: opened,\n [\"param\"]: param,\n [\"closed\"]: function () {}\n };\n var sep = {\n symb: null\n };\n var saver = wordSaver();\n var state = iterateWithTransitions(ruleText, transitions, \"opened\", {\n sep,\n saver\n });\n if (state !== \"closed\") {\n throw new Error(\"Invalid scriptlet rule \".concat(ruleText));\n }\n var args = saver.getAll();\n return {\n name: args[0] === '' ? null : args[0],\n args: args.slice(1)\n };\n };\n var validateType = function validateType(type) {\n return typeof type !== 'undefined';\n };\n var validateListener = function validateListener(listener) {\n return typeof listener !== 'undefined' && (typeof listener === 'function' || typeof listener === 'object'\n && listener !== null && 'handleEvent' in listener && typeof listener.handleEvent === 'function');\n };\n var listenerToString = function listenerToString(listener) {\n return typeof listener === 'function' ? listener.toString() : listener.handleEvent.toString();\n };\n var shouldMatchAnyDelay = function shouldMatchAnyDelay(delay) {\n return delay === '*';\n };\n var getMatchDelay = function getMatchDelay(delay) {\n var DEFAULT_DELAY = 1000;\n var parsedDelay = parseInt(delay, 10);\n var delayMatch = nativeIsNaN(parsedDelay) ? DEFAULT_DELAY\n : parsedDelay;\n return delayMatch;\n };\n var isDelayMatched = function isDelayMatched(inputDelay, realDelay) {\n return shouldMatchAnyDelay(inputDelay) || realDelay === getMatchDelay(inputDelay);\n };\n var getBoostMultiplier = function getBoostMultiplier(boost) {\n var DEFAULT_MULTIPLIER = 0.05;\n var MIN_MULTIPLIER = 0.001;\n var MAX_MULTIPLIER = 50;\n var parsedBoost = parseFloat(boost);\n var boostMultiplier = nativeIsNaN(parsedBoost) || !nativeIsFinite(parsedBoost) ? DEFAULT_MULTIPLIER\n : parsedBoost;\n if (boostMultiplier < MIN_MULTIPLIER) {\n boostMultiplier = MIN_MULTIPLIER;\n }\n if (boostMultiplier > MAX_MULTIPLIER) {\n boostMultiplier = MAX_MULTIPLIER;\n }\n return boostMultiplier;\n };\n var flatten = function flatten(input) {\n var stack = [];\n input.forEach(function (el) {\n return stack.push(el);\n });\n var res = [];\n while (stack.length) {\n var next = stack.pop();\n if (Array.isArray(next)) {\n next.forEach(function (el) {\n return stack.push(el);\n });\n } else {\n res.push(next);\n }\n }\n return res.reverse();\n };\n var isExisting = function isExisting(item) {\n return !!item;\n };\n var nodeListToArray = function nodeListToArray(nodeList) {\n var nodes = [];\n for (var i = 0; i < nodeList.length; i += 1) {\n nodes.push(nodeList[i]);\n }\n return nodes;\n };\n var logMessage = function logMessage(source, message) {\n var forced = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var convertMessageToString = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var name = source.name,\n verbose = source.verbose;\n if (!forced && !verbose) {\n return;\n }\n var nativeConsole = console.log;\n if (!convertMessageToString) {\n nativeConsole(\"\".concat(name, \":\"), message);\n return;\n }\n nativeConsole(\"\".concat(name, \": \").concat(message));\n };\n var hit = function hit(source) {\n if (source.verbose !== true) {\n return;\n }\n try {\n var log = console.log.bind(console);\n var trace = console.trace.bind(console);\n var prefix = source.ruleText || '';\n if (source.domainName) {\n var AG_SCRIPTLET_MARKER = '#%#//';\n var UBO_SCRIPTLET_MARKER = '##+js';\n var ruleStartIndex;\n if (source.ruleText.includes(AG_SCRIPTLET_MARKER)) {\n ruleStartIndex = source.ruleText.indexOf(AG_SCRIPTLET_MARKER);\n } else if (source.ruleText.includes(UBO_SCRIPTLET_MARKER)) {\n ruleStartIndex = source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);\n }\n var rulePart = source.ruleText.slice(ruleStartIndex);\n prefix = \"\".concat(source.domainName).concat(rulePart);\n }\n log(\"\".concat(prefix, \" trace start\"));\n if (trace) {\n trace();\n }\n log(\"\".concat(prefix, \" trace end\"));\n } catch (e) {\n }\n if (typeof window.__debug === 'function') {\n window.__debug(source);\n }\n };\n var defaultAttributeSetter = function defaultAttributeSetter(elem, attribute, value) {\n return elem.setAttribute(attribute, value);\n };\n var setAttributeBySelector = function setAttributeBySelector(source, selector, attribute, value) {\n var attributeSetter = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : defaultAttributeSetter;\n var elements;\n try {\n elements = document.querySelectorAll(selector);\n } catch (_unused) {\n logMessage(source, \"Failed to find elements matching selector \\\"\".concat(selector, \"\\\"\"));\n return;\n }\n if (!elements || elements.length === 0) {\n return;\n }\n try {\n elements.forEach(function (elem) {\n return attributeSetter(elem, attribute, value);\n });\n hit(source);\n } catch (_unused2) {\n logMessage(source, \"Failed to set [\".concat(attribute, \"=\\\"\").concat(value, \"\\\"] to each of selected elements.\"));\n }\n };\n var parseAttributePairs = function parseAttributePairs(input) {\n if (!input) {\n return [];\n }\n var NAME_VALUE_SEPARATOR = '=';\n var PAIRS_SEPARATOR = ' ';\n var SINGLE_QUOTE = \"'\";\n var DOUBLE_QUOTE = '\"';\n var BACKSLASH = '\\\\';\n var pairs = [];\n for (var i = 0; i < input.length; i += 1) {\n var name = '';\n var value = '';\n while (i < input.length && input[i] !== NAME_VALUE_SEPARATOR && input[i] !== PAIRS_SEPARATOR) {\n name += input[i];\n i += 1;\n }\n if (i < input.length && input[i] === NAME_VALUE_SEPARATOR) {\n i += 1;\n var quote = null;\n if (input[i] === SINGLE_QUOTE || input[i] === DOUBLE_QUOTE) {\n quote = input[i];\n i += 1;\n for (; i < input.length; i += 1) {\n if (input[i] === quote) {\n if (input[i - 1] === BACKSLASH) {\n value = \"\".concat(value.slice(0, -1)).concat(quote);\n } else {\n i += 1;\n quote = null;\n break;\n }\n } else {\n value += input[i];\n }\n }\n if (quote !== null) {\n throw new Error(\"Unbalanced quote for attribute value: '\".concat(input, \"'\"));\n }\n } else {\n throw new Error(\"Attribute value should be quoted: \\\"\".concat(input.slice(i), \"\\\"\"));\n }\n }\n name = name.trim();\n value = value.trim();\n if (!name) {\n if (!value) {\n continue;\n }\n throw new Error(\"Attribute name before '=' should be specified: '\".concat(input, \"'\"));\n }\n pairs.push({\n name,\n value\n });\n if (input[i] && input[i] !== PAIRS_SEPARATOR) {\n throw new Error(\"No space before attribute: '\".concat(input.slice(i), \"'\"));\n }\n }\n return pairs;\n };\n var isValidCookiePath = function isValidCookiePath(rawPath) {\n return rawPath === '/' || rawPath === 'none';\n };\n var getCookiePath = function getCookiePath(rawPath) {\n if (rawPath === '/') {\n return 'path=/';\n }\n return '';\n };\n var serializeCookie = function serializeCookie(name, rawValue, rawPath) {\n var domainValue = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var shouldEncodeValue = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var COOKIE_BREAKER = ';';\n if (!shouldEncodeValue && \"\".concat(rawValue).includes(COOKIE_BREAKER) || name.includes(COOKIE_BREAKER)) {\n return null;\n }\n var value = shouldEncodeValue ? encodeURIComponent(rawValue) : rawValue;\n var resultCookie = \"\".concat(name, \"=\").concat(value);\n var path = getCookiePath(rawPath);\n if (path) {\n resultCookie += \"; \".concat(path);\n }\n if (domainValue) {\n resultCookie += \"; domain=\".concat(domainValue);\n }\n return resultCookie;\n };\n var getLimitedCookieValue = function getLimitedCookieValue(value) {\n if (!value) {\n return null;\n }\n var allowedCookieValues = new Set(['true', 't', 'false', 'f', 'yes', 'y', 'no', 'n', 'ok', 'on', 'off', 'accept', 'accepted', 'notaccepted', 'reject', 'rejected', 'allow', 'allowed', 'disallow', 'deny', 'enable', 'enabled', 'disable', 'disabled', 'necessary', 'required']);\n var validValue;\n if (allowedCookieValues.has(value.toLowerCase())) {\n validValue = value;\n } else if (/^\\d+$/.test(value)) {\n validValue = parseFloat(value);\n if (nativeIsNaN(validValue)) {\n return null;\n }\n if (Math.abs(validValue) < 0 || Math.abs(validValue) > 32767) {\n return null;\n }\n } else {\n return null;\n }\n return validValue;\n };\n var parseCookieString = function parseCookieString(cookieString) {\n var COOKIE_DELIMITER = '=';\n var COOKIE_PAIRS_DELIMITER = ';';\n var cookieChunks = cookieString.split(COOKIE_PAIRS_DELIMITER);\n var cookieData = {};\n cookieChunks.forEach(function (singleCookie) {\n var cookieKey;\n var cookieValue = '';\n var delimiterIndex = singleCookie.indexOf(COOKIE_DELIMITER);\n if (delimiterIndex === -1) {\n cookieKey = singleCookie.trim();\n } else {\n cookieKey = singleCookie.slice(0, delimiterIndex).trim();\n cookieValue = singleCookie.slice(delimiterIndex + 1);\n }\n cookieData[cookieKey] = cookieValue || null;\n });\n return cookieData;\n };\n var isCookieSetWithValue = function isCookieSetWithValue(cookieString, name, value) {\n return cookieString.split(';').some(function (cookieStr) {\n var pos = cookieStr.indexOf('=');\n if (pos === -1) {\n return false;\n }\n var cookieName = cookieStr.slice(0, pos).trim();\n var cookieValue = cookieStr.slice(pos + 1).trim();\n return name === cookieName && value === cookieValue;\n });\n };\n var getTrustedCookieOffsetMs = function getTrustedCookieOffsetMs(offsetExpiresSec) {\n var ONE_YEAR_EXPIRATION_KEYWORD = '1year';\n var ONE_DAY_EXPIRATION_KEYWORD = '1day';\n var MS_IN_SEC = 1000;\n var SECONDS_IN_YEAR = 365 * 24 * 60 * 60;\n var SECONDS_IN_DAY = 24 * 60 * 60;\n var parsedSec;\n if (offsetExpiresSec === ONE_YEAR_EXPIRATION_KEYWORD) {\n parsedSec = SECONDS_IN_YEAR;\n } else if (offsetExpiresSec === ONE_DAY_EXPIRATION_KEYWORD) {\n parsedSec = SECONDS_IN_DAY;\n } else {\n parsedSec = Number.parseInt(offsetExpiresSec, 10);\n if (Number.isNaN(parsedSec)) {\n return null;\n }\n }\n return parsedSec * MS_IN_SEC;\n };\n var noopFunc = function noopFunc() {};\n var noopCallbackFunc = function noopCallbackFunc() {\n return noopFunc;\n };\n var noopNull = function noopNull() {\n return null;\n };\n var trueFunc = function trueFunc() {\n return true;\n };\n var falseFunc = function falseFunc() {\n return false;\n };\n function noopThis() {\n return this;\n }\n var noopStr = function noopStr() {\n return '';\n };\n var noopArray = function noopArray() {\n return [];\n };\n var noopObject = function noopObject() {\n return {};\n };\n var throwFunc = function throwFunc() {\n throw new Error();\n };\n var noopResolveVoid = function noopResolveVoid() {\n return Promise.resolve(undefined);\n };\n var noopResolveNull = function noopResolveNull() {\n return Promise.resolve(null);\n };\n var noopPromiseReject = function noopPromiseReject() {\n return Promise.reject();\n };\n var noopPromiseResolve = function noopPromiseResolve() {\n var responseBody = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '{}';\n var responseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var responseType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'basic';\n if (typeof Response === 'undefined') {\n return;\n }\n var response = new Response(responseBody, {\n status: 200,\n statusText: 'OK'\n });\n if (responseType === 'opaque') {\n Object.defineProperties(response, {\n body: {\n value: null\n },\n status: {\n value: 0\n },\n statusText: {\n value: ''\n },\n url: {\n value: ''\n },\n type: {\n value: responseType\n }\n });\n } else {\n Object.defineProperties(response, {\n url: {\n value: responseUrl\n },\n type: {\n value: responseType\n }\n });\n }\n return Promise.resolve(response);\n };\n var shouldAbortInlineOrInjectedScript = function shouldAbortInlineOrInjectedScript(stackMatch, stackTrace) {\n var INLINE_SCRIPT_STRING = 'inlineScript';\n var INJECTED_SCRIPT_STRING = 'injectedScript';\n var INJECTED_SCRIPT_MARKER = '';\n var isInlineScript = function isInlineScript(match) {\n return match.includes(INLINE_SCRIPT_STRING);\n };\n var isInjectedScript = function isInjectedScript(match) {\n return match.includes(INJECTED_SCRIPT_STRING);\n };\n if (!(isInlineScript(stackMatch) || isInjectedScript(stackMatch))) {\n return false;\n }\n var documentURL = window.location.href;\n var pos = documentURL.indexOf('#');\n if (pos !== -1) {\n documentURL = documentURL.slice(0, pos);\n }\n var stackSteps = stackTrace.split('\\n').slice(2).map(function (line) {\n return line.trim();\n });\n var stackLines = stackSteps.map(function (line) {\n var stack;\n var getStackTraceURL = /(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);\n if (getStackTraceURL) {\n var _stackURL, _stackURL2;\n var stackURL = getStackTraceURL[2];\n if ((_stackURL = stackURL) !== null && _stackURL !== void 0 && _stackURL.startsWith('(')) {\n stackURL = stackURL.slice(1);\n }\n if ((_stackURL2 = stackURL) !== null && _stackURL2 !== void 0 && _stackURL2.startsWith(INJECTED_SCRIPT_MARKER)) {\n var _stackFunction;\n stackURL = INJECTED_SCRIPT_STRING;\n var stackFunction = getStackTraceURL[1] !== undefined ? getStackTraceURL[1].slice(0, -1) : line.slice(0, getStackTraceURL.index).trim();\n if ((_stackFunction = stackFunction) !== null && _stackFunction !== void 0 && _stackFunction.startsWith('at')) {\n stackFunction = stackFunction.slice(2).trim();\n }\n stack = \"\".concat(stackFunction, \" \").concat(stackURL).trim();\n } else {\n stack = stackURL;\n }\n } else {\n stack = line;\n }\n return stack;\n });\n if (stackLines) {\n for (var index = 0; index < stackLines.length; index += 1) {\n if (isInlineScript(stackMatch) && documentURL === stackLines[index]) {\n return true;\n }\n if (isInjectedScript(stackMatch) && stackLines[index].startsWith(INJECTED_SCRIPT_STRING)) {\n return true;\n }\n }\n }\n return false;\n };\n var findHostElements = function findHostElements(rootElement) {\n var hosts = [];\n if (rootElement) {\n var domElems = rootElement.querySelectorAll('*');\n domElems.forEach(function (el) {\n if (el.shadowRoot) {\n hosts.push(el);\n }\n });\n }\n return hosts;\n };\n var pierceShadowDom = function pierceShadowDom(selector, hostElements) {\n var targets = [];\n var innerHostsAcc = [];\n hostElements.forEach(function (host) {\n var simpleElems = host.querySelectorAll(selector);\n targets = targets.concat([].slice.call(simpleElems));\n var shadowRootElem = host.shadowRoot;\n var shadowChildren = shadowRootElem.querySelectorAll(selector);\n targets = targets.concat([].slice.call(shadowChildren));\n innerHostsAcc.push(findHostElements(shadowRootElem));\n });\n var innerHosts = flatten(innerHostsAcc);\n return {\n targets,\n innerHosts\n };\n };\n function queryShadowSelector(selector) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document.documentElement;\n var SHADOW_COMBINATOR = ' >>> ';\n var pos = selector.indexOf(SHADOW_COMBINATOR);\n if (pos === -1) {\n return context.querySelector(selector);\n }\n var shadowHostSelector = selector.slice(0, pos).trim();\n var elem = context.querySelector(shadowHostSelector);\n if (!elem || !elem.shadowRoot) {\n return null;\n }\n var shadowRootSelector = selector.slice(pos + SHADOW_COMBINATOR.length).trim();\n return queryShadowSelector(shadowRootSelector, elem.shadowRoot);\n }\n var isValidCallback = function isValidCallback(callback) {\n return callback instanceof Function\n || typeof callback === 'string';\n };\n var parseRawDelay = function parseRawDelay(delay) {\n var parsedDelay = Math.floor(parseInt(delay, 10));\n return typeof parsedDelay === 'number' && !nativeIsNaN(parsedDelay) ? parsedDelay : delay;\n };\n var isPreventionNeeded = function isPreventionNeeded(_ref) {\n var callback = _ref.callback,\n delay = _ref.delay,\n matchCallback = _ref.matchCallback,\n matchDelay = _ref.matchDelay;\n if (!isValidCallback(callback)) {\n return false;\n }\n if (!isValidMatchStr(matchCallback) || matchDelay && !isValidMatchNumber(matchDelay)) {\n return false;\n }\n var _parseMatchArg = parseMatchArg(matchCallback),\n isInvertedMatch = _parseMatchArg.isInvertedMatch,\n matchRegexp = _parseMatchArg.matchRegexp;\n var _parseDelayArg = parseDelayArg(matchDelay),\n isInvertedDelayMatch = _parseDelayArg.isInvertedDelayMatch,\n delayMatch = _parseDelayArg.delayMatch;\n var parsedDelay = parseRawDelay(delay);\n var shouldPrevent = false;\n var callbackStr = String(callback);\n if (delayMatch === null) {\n shouldPrevent = matchRegexp.test(callbackStr) !== isInvertedMatch;\n } else if (!matchCallback) {\n shouldPrevent = parsedDelay === delayMatch !== isInvertedDelayMatch;\n } else {\n shouldPrevent = matchRegexp.test(callbackStr) !== isInvertedMatch && parsedDelay === delayMatch !== isInvertedDelayMatch;\n }\n return shouldPrevent;\n };\n var handleOldReplacement = function handleOldReplacement(replacement) {\n var result;\n if (!replacement) {\n result = noopFunc;\n } else if (replacement === 'trueFunc') {\n result = trueFunc;\n } else if (replacement.includes('=')) {\n var isProp = replacement.startsWith('{') && replacement.endsWith('}');\n if (isProp) {\n var propertyPart = replacement.slice(1, -1);\n var propertyName = substringBefore(propertyPart, '=');\n var propertyValue = substringAfter$1(propertyPart, '=');\n if (propertyValue === 'noopFunc') {\n result = {};\n result[propertyName] = noopFunc;\n }\n }\n }\n return result;\n };\n var createDecoy = function createDecoy(args) {\n var UrlPropNameOf = function (UrlPropNameOf) {\n UrlPropNameOf[\"Object\"] = \"data\";\n UrlPropNameOf[\"Iframe\"] = \"src\";\n return UrlPropNameOf;\n }({});\n var replacement = args.replacement,\n url = args.url,\n delay = args.delay;\n var tag;\n if (replacement === 'obj') {\n tag = \"object\";\n } else {\n tag = \"iframe\";\n }\n var decoy = document.createElement(tag);\n if (decoy instanceof HTMLObjectElement) {\n decoy[UrlPropNameOf.Object] = url;\n } else if (decoy instanceof HTMLIFrameElement) {\n decoy[UrlPropNameOf.Iframe] = url;\n }\n decoy.style.setProperty('height', '1px', 'important');\n decoy.style.setProperty('position', 'fixed', 'important');\n decoy.style.setProperty('top', '-1px', 'important');\n decoy.style.setProperty('width', '1px', 'important');\n document.body.appendChild(decoy);\n setTimeout(function () {\n return decoy.remove();\n }, delay * 1000);\n return decoy;\n };\n var getPreventGetter = function getPreventGetter(nativeGetter) {\n var preventGetter = function preventGetter(target, prop) {\n if (prop && prop === 'closed') {\n return false;\n }\n if (typeof nativeGetter === 'function') {\n return noopFunc;\n }\n return prop && target[prop];\n };\n return preventGetter;\n };\n function getWildcardPropertyInChain(base, chain) {\n var lookThrough = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var output = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];\n var pos = chain.indexOf('.');\n if (pos === -1) {\n if (chain === '*' || chain === '[]') {\n for (var key in base) {\n if (Object.prototype.hasOwnProperty.call(base, key)) {\n output.push({\n base,\n prop: key\n });\n }\n }\n } else {\n output.push({\n base,\n prop: chain\n });\n }\n return output;\n }\n var prop = chain.slice(0, pos);\n var shouldLookThrough = prop === '[]' && Array.isArray(base) || prop === '*' && base instanceof Object;\n if (shouldLookThrough) {\n var nextProp = chain.slice(pos + 1);\n var baseKeys = Object.keys(base);\n baseKeys.forEach(function (key) {\n var item = base[key];\n getWildcardPropertyInChain(item, nextProp, lookThrough, output);\n });\n }\n if (Array.isArray(base)) {\n base.forEach(function (key) {\n var nextBase = key;\n if (nextBase !== undefined) {\n getWildcardPropertyInChain(nextBase, chain, lookThrough, output);\n }\n });\n }\n var nextBase = base[prop];\n chain = chain.slice(pos + 1);\n if (nextBase !== undefined) {\n getWildcardPropertyInChain(nextBase, chain, lookThrough, output);\n }\n return output;\n }\n var getNativeRegexpTest = function getNativeRegexpTest() {\n var descriptor = Object.getOwnPropertyDescriptor(RegExp.prototype, 'test');\n var nativeRegexTest = descriptor === null || descriptor === void 0 ? void 0 : descriptor.value;\n if (descriptor && typeof descriptor.value === 'function') {\n return nativeRegexTest;\n }\n throw new Error('RegExp.prototype.test is not a function');\n };\n var matchStackTrace = function matchStackTrace(stackMatch, stackTrace) {\n if (!stackMatch || stackMatch === '') {\n return true;\n }\n if (shouldAbortInlineOrInjectedScript(stackMatch, stackTrace)) {\n return true;\n }\n var stackRegexp = toRegExp(stackMatch);\n var refinedStackTrace = stackTrace.split('\\n').slice(2)\n .map(function (line) {\n return line.trim();\n })\n .join('\\n');\n return getNativeRegexpTest().call(stackRegexp, refinedStackTrace);\n };\n function isPruningNeeded(source, root, prunePaths, requiredPaths, stack, nativeObjects) {\n if (!root) {\n return false;\n }\n var nativeStringify = nativeObjects.nativeStringify;\n var shouldProcess;\n if (prunePaths.length === 0 && requiredPaths.length > 0) {\n var rootString = nativeStringify(root);\n var matchRegex = toRegExp(requiredPaths.join(''));\n var shouldLog = matchRegex.test(rootString);\n if (shouldLog) {\n logMessage(source, \"\".concat(window.location.hostname, \"\\n\").concat(nativeStringify(root, null, 2), \"\\nStack trace:\\n\").concat(new Error().stack), true);\n if (root && typeof root === 'object') {\n logMessage(source, root, true, false);\n }\n shouldProcess = false;\n return shouldProcess;\n }\n }\n if (stack && !matchStackTrace(stack, new Error().stack || '')) {\n shouldProcess = false;\n return shouldProcess;\n }\n var wildcardSymbols = ['.*.', '*.', '.*', '.[].', '[].', '.[]'];\n var _loop = function _loop() {\n var requiredPath = requiredPaths[i];\n var lastNestedPropName = requiredPath.split('.').pop();\n var hasWildcard = wildcardSymbols.some(function (symbol) {\n return requiredPath.includes(symbol);\n });\n var details = getWildcardPropertyInChain(root, requiredPath, hasWildcard);\n if (!details.length) {\n shouldProcess = false;\n return {\n v: shouldProcess\n };\n }\n shouldProcess = !hasWildcard;\n for (var j = 0; j < details.length; j += 1) {\n var hasRequiredProp = typeof lastNestedPropName === 'string' && details[j].base[lastNestedPropName] !== undefined;\n if (hasWildcard) {\n shouldProcess = hasRequiredProp || shouldProcess;\n } else {\n shouldProcess = hasRequiredProp && shouldProcess;\n }\n }\n };\n for (var i = 0; i < requiredPaths.length; i += 1) {\n var _ret = _loop();\n if (typeof _ret === \"object\") return _ret.v;\n }\n return shouldProcess;\n }\n var jsonPruner = function jsonPruner(source, root, prunePaths, requiredPaths, stack, nativeObjects) {\n var nativeStringify = nativeObjects.nativeStringify;\n if (prunePaths.length === 0 && requiredPaths.length === 0) {\n logMessage(source, \"\".concat(window.location.hostname, \"\\n\").concat(nativeStringify(root, null, 2), \"\\nStack trace:\\n\").concat(new Error().stack), true);\n if (root && typeof root === 'object') {\n logMessage(source, root, true, false);\n }\n return root;\n }\n try {\n if (isPruningNeeded(source, root, prunePaths, requiredPaths, stack, nativeObjects) === false) {\n return root;\n }\n prunePaths.forEach(function (path) {\n var ownerObjArr = getWildcardPropertyInChain(root, path, true);\n ownerObjArr.forEach(function (ownerObj) {\n if (ownerObj !== undefined && ownerObj.base) {\n delete ownerObj.base[ownerObj.prop];\n hit(source);\n }\n });\n });\n } catch (e) {\n logMessage(source, e);\n }\n return root;\n };\n var getPrunePath = function getPrunePath(props) {\n var validPropsString = typeof props === 'string' && props !== undefined && props !== '';\n return validPropsString ? props.split(/ +/) : [];\n };\n var modifyResponse = function modifyResponse(origResponse) {\n var _origResponse$headers;\n var replacement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n body: '{}'\n };\n var headers = {};\n origResponse === null || origResponse === void 0 ? void 0 : (_origResponse$headers = origResponse.headers) === null || _origResponse$headers === void 0 ? void 0 : _origResponse$headers.forEach(function (value, key) {\n headers[key] = value;\n });\n var modifiedResponse = new Response(replacement.body, {\n status: origResponse.status,\n statusText: origResponse.statusText,\n headers\n });\n Object.defineProperties(modifiedResponse, {\n url: {\n value: origResponse.url\n },\n type: {\n value: replacement.type || origResponse.type\n }\n });\n return modifiedResponse;\n };\n var forgeResponse = function forgeResponse(response, textContent) {\n var bodyUsed = response.bodyUsed,\n headers = response.headers,\n ok = response.ok,\n redirected = response.redirected,\n status = response.status,\n statusText = response.statusText,\n type = response.type,\n url = response.url;\n var forgedResponse = new Response(textContent, {\n status,\n statusText,\n headers\n });\n Object.defineProperties(forgedResponse, {\n url: {\n value: url\n },\n type: {\n value: type\n },\n ok: {\n value: ok\n },\n bodyUsed: {\n value: bodyUsed\n },\n redirected: {\n value: redirected\n }\n });\n return forgedResponse;\n };\n var getRequestProps = function getRequestProps() {\n return ['url', 'method', 'headers', 'body', 'credentials', 'cache', 'redirect', 'referrer', 'referrerPolicy', 'integrity', 'keepalive', 'signal', 'mode'];\n };\n var getRequestData = function getRequestData(request) {\n var requestInitOptions = getRequestProps();\n var entries = requestInitOptions.map(function (key) {\n var value = request[key];\n return [key, value];\n });\n return Object.fromEntries(entries);\n };\n var getFetchData = function getFetchData(args, nativeRequestClone) {\n var fetchPropsObj = {};\n var resource = args[0];\n var fetchUrl;\n var fetchInit;\n if (resource instanceof Request) {\n var realData = nativeRequestClone.call(resource);\n var requestData = getRequestData(realData);\n fetchUrl = requestData.url;\n fetchInit = requestData;\n } else {\n fetchUrl = resource;\n fetchInit = args[1];\n }\n fetchPropsObj.url = fetchUrl;\n if (fetchInit instanceof Object) {\n var props = Object.keys(fetchInit);\n props.forEach(function (prop) {\n fetchPropsObj[prop] = fetchInit[prop];\n });\n }\n return fetchPropsObj;\n };\n var getXhrData = function getXhrData(method, url, async, user, password) {\n return {\n method,\n url,\n async,\n user,\n password\n };\n };\n var parseMatchProps = function parseMatchProps(propsToMatchStr) {\n var PROPS_DIVIDER = ' ';\n var PAIRS_MARKER = ':';\n var isRequestProp = function isRequestProp(prop) {\n return getRequestProps().includes(prop);\n };\n var propsObj = {};\n var props = propsToMatchStr.split(PROPS_DIVIDER);\n props.forEach(function (prop) {\n var dividerInd = prop.indexOf(PAIRS_MARKER);\n var key = prop.slice(0, dividerInd);\n if (isRequestProp(key)) {\n var value = prop.slice(dividerInd + 1);\n propsObj[key] = value;\n } else {\n propsObj.url = prop;\n }\n });\n return propsObj;\n };\n var isValidParsedData = function isValidParsedData(data) {\n return Object.values(data).every(function (value) {\n return isValidStrPattern(value);\n });\n };\n var getMatchPropsData = function getMatchPropsData(data) {\n var matchData = {};\n var dataKeys = Object.keys(data);\n dataKeys.forEach(function (key) {\n matchData[key] = toRegExp(data[key]);\n });\n return matchData;\n };\n var setStorageItem = function setStorageItem(source, storage, key, value) {\n try {\n storage.setItem(key, value);\n } catch (e) {\n var message = \"Unable to set sessionStorage item due to: \".concat(e.message);\n logMessage(source, message);\n }\n };\n var removeStorageItem = function removeStorageItem(source, storage, key) {\n try {\n if (key.startsWith('/') && (key.endsWith('/') || key.endsWith('/i')) && isValidStrPattern(key)) {\n var regExpKey = toRegExp(key);\n var storageKeys = Object.keys(storage);\n storageKeys.forEach(function (storageKey) {\n if (regExpKey.test(storageKey)) {\n storage.removeItem(storageKey);\n }\n });\n } else {\n storage.removeItem(key);\n }\n } catch (e) {\n var message = \"Unable to remove storage item due to: \".concat(e.message);\n logMessage(source, message);\n }\n };\n var getLimitedStorageItemValue = function getLimitedStorageItemValue(value) {\n if (typeof value !== 'string') {\n throw new Error('Invalid value');\n }\n var allowedStorageValues = new Set(['undefined', 'false', 'true', 'null', '', 'yes', 'no', 'on', 'off']);\n var validValue;\n if (allowedStorageValues.has(value.toLowerCase())) {\n validValue = value;\n } else if (value === 'emptyArr') {\n validValue = '[]';\n } else if (value === 'emptyObj') {\n validValue = '{}';\n } else if (/^\\d+$/.test(value)) {\n validValue = parseFloat(value);\n if (nativeIsNaN(validValue)) {\n throw new Error('Invalid value');\n }\n if (Math.abs(validValue) > 32767) {\n throw new Error('Invalid value');\n }\n } else if (value === '$remove$') {\n validValue = '$remove$';\n } else {\n throw new Error('Invalid value');\n }\n return validValue;\n };\n function randomId() {\n return Math.random().toString(36).slice(2, 9);\n }\n function createOnErrorHandler(rid) {\n var nativeOnError = window.onerror;\n return function onError(error) {\n if (typeof error === 'string' && error.includes(rid)) {\n return true;\n }\n if (nativeOnError instanceof Function) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return nativeOnError.apply(window, [error, ...args]);\n }\n return false;\n };\n }\n function getAbortFunc() {\n var rid = randomId();\n var isErrorHandlerSet = false;\n return function abort() {\n if (!isErrorHandlerSet) {\n window.onerror = createOnErrorHandler(rid);\n isErrorHandlerSet = true;\n }\n throw new ReferenceError(rid);\n };\n }\n function getDescriptorAddon() {\n return {\n isAbortingSuspended: false,\n isolateCallback(cb) {\n this.isAbortingSuspended = true;\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n var result = cb(...args);\n this.isAbortingSuspended = false;\n return result;\n } catch (_unused) {\n var rid = randomId();\n this.isAbortingSuspended = false;\n throw new ReferenceError(rid);\n }\n }\n };\n }\n var getErrorMessage = function getErrorMessage(error) {\n var isErrorWithMessage = function isErrorWithMessage(e) {\n return typeof e === 'object' && e !== null && 'message' in e && typeof e.message === 'string';\n };\n if (isErrorWithMessage(error)) {\n return error.message;\n }\n try {\n return new Error(JSON.stringify(error)).message;\n } catch (_unused) {\n return new Error(String(error)).message;\n }\n };\n function getPropertyInChain(base, chain) {\n var pos = chain.indexOf('.');\n if (pos === -1) {\n return {\n base,\n prop: chain\n };\n }\n var prop = chain.slice(0, pos);\n if (base === null) {\n return {\n base,\n prop,\n chain\n };\n }\n var nextBase = base[prop];\n chain = chain.slice(pos + 1);\n if ((base instanceof Object || typeof base === 'object') && isEmptyObject(base)) {\n return {\n base,\n prop,\n chain\n };\n }\n if (nextBase === null) {\n return {\n base,\n prop,\n chain\n };\n }\n if (nextBase !== undefined) {\n return getPropertyInChain(nextBase, chain);\n }\n Object.defineProperty(base, prop, {\n configurable: true\n });\n return {\n base,\n prop,\n chain\n };\n }\n var matchRequestProps = function matchRequestProps(source, propsToMatch, requestData) {\n if (propsToMatch === '' || propsToMatch === '*') {\n return true;\n }\n var isMatched;\n var parsedData = parseMatchProps(propsToMatch);\n if (!isValidParsedData(parsedData)) {\n logMessage(source, \"Invalid parameter: \".concat(propsToMatch));\n isMatched = false;\n } else {\n var matchData = getMatchPropsData(parsedData);\n var matchKeys = Object.keys(matchData);\n isMatched = matchKeys.every(function (matchKey) {\n var matchValue = matchData[matchKey];\n var dataValue = requestData[matchKey];\n return Object.prototype.hasOwnProperty.call(requestData, matchKey) && typeof dataValue === 'string' && (matchValue === null || matchValue === void 0 ? void 0 : matchValue.test(dataValue));\n });\n }\n return isMatched;\n };\n var throttle = function throttle(cb, delay) {\n var wait = false;\n var savedArgs;\n var wrapper = function wrapper() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (wait) {\n savedArgs = args;\n return;\n }\n cb(...args);\n wait = true;\n setTimeout(function () {\n wait = false;\n if (savedArgs) {\n wrapper(...savedArgs);\n savedArgs = null;\n }\n }, delay);\n };\n return wrapper;\n };\n var observeDOMChanges = function observeDOMChanges(callback) {\n var observeAttrs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var attrsToObserve = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var THROTTLE_DELAY_MS = 20;\n var observer = new MutationObserver(throttle(callbackWrapper, THROTTLE_DELAY_MS));\n var connect = function connect() {\n if (attrsToObserve.length > 0) {\n observer.observe(document.documentElement, {\n childList: true,\n subtree: true,\n attributes: observeAttrs,\n attributeFilter: attrsToObserve\n });\n } else {\n observer.observe(document.documentElement, {\n childList: true,\n subtree: true,\n attributes: observeAttrs\n });\n }\n };\n var disconnect = function disconnect() {\n observer.disconnect();\n };\n function callbackWrapper() {\n disconnect();\n callback();\n connect();\n }\n connect();\n };\n var getAddedNodes = function getAddedNodes(mutations) {\n var nodes = [];\n for (var i = 0; i < mutations.length; i += 1) {\n var addedNodes = mutations[i].addedNodes;\n for (var j = 0; j < addedNodes.length; j += 1) {\n nodes.push(addedNodes[j]);\n }\n }\n return nodes;\n };\n var observeDocumentWithTimeout = function observeDocumentWithTimeout(callback) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n subtree: true,\n childList: true\n };\n var timeout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 10000;\n var documentObserver = new MutationObserver(function (mutations, observer) {\n observer.disconnect();\n callback(mutations, observer);\n observer.observe(document.documentElement, options);\n });\n documentObserver.observe(document.documentElement, options);\n if (typeof timeout === 'number') {\n setTimeout(function () {\n return documentObserver.disconnect();\n }, timeout);\n }\n };\n var parseFlags = function parseFlags(flags) {\n var FLAGS_DIVIDER = ' ';\n var ASAP_FLAG = 'asap';\n var COMPLETE_FLAG = 'complete';\n var STAY_FLAG = 'stay';\n var VALID_FLAGS = [STAY_FLAG, ASAP_FLAG, COMPLETE_FLAG];\n var passedFlags = flags.trim().split(FLAGS_DIVIDER).filter(function (f) {\n return VALID_FLAGS.includes(f);\n });\n return {\n ASAP: ASAP_FLAG,\n COMPLETE: COMPLETE_FLAG,\n STAY: STAY_FLAG,\n hasFlag(flag) {\n return passedFlags.includes(flag);\n }\n };\n };\n var parseKeywordValue = function parseKeywordValue(rawValue) {\n var NOW_VALUE_KEYWORD = '$now$';\n var CURRENT_DATE_KEYWORD = '$currentDate$';\n var parsedValue = rawValue;\n if (rawValue === NOW_VALUE_KEYWORD) {\n parsedValue = Date.now().toString();\n } else if (rawValue === CURRENT_DATE_KEYWORD) {\n parsedValue = Date();\n }\n return parsedValue;\n };\n var hijackAttachShadow = function hijackAttachShadow(context, hostSelector, callback) {\n var handlerWrapper = function handlerWrapper(target, thisArg, args) {\n var shadowRoot = Reflect.apply(target, thisArg, args);\n if (thisArg && thisArg.matches(hostSelector || '*')) {\n callback(shadowRoot);\n }\n return shadowRoot;\n };\n var attachShadowHandler = {\n apply: handlerWrapper\n };\n context.Element.prototype.attachShadow = new Proxy(context.Element.prototype.attachShadow, attachShadowHandler);\n };\n var handleExistingNodes = function handleExistingNodes(selector, handler) {\n var nodeList = document.querySelectorAll(selector);\n var nodes = nodeListToArray(nodeList);\n handler(nodes);\n };\n var handleMutations = function handleMutations(mutations, handler) {\n var addedNodes = getAddedNodes(mutations);\n handler(addedNodes);\n };\n var isTargetNode = function isTargetNode(node, nodeNameMatch, textContentMatch) {\n var nodeName = node.nodeName,\n textContent = node.textContent;\n var nodeNameLowerCase = nodeName.toLowerCase();\n return textContent !== null && textContent !== '' && (nodeNameMatch instanceof RegExp ? nodeNameMatch.test(nodeNameLowerCase) : nodeNameMatch === nodeNameLowerCase) && (textContentMatch instanceof RegExp ? textContentMatch.test(textContent) : textContent.includes(textContentMatch));\n };\n var replaceNodeText = function replaceNodeText(source, node, pattern, replacement) {\n var textContent = node.textContent;\n if (textContent) {\n node.textContent = textContent.replace(pattern, replacement);\n hit(source);\n }\n };\n var parseNodeTextParams = function parseNodeTextParams(nodeName, textMatch) {\n var pattern = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var REGEXP_START_MARKER = '/';\n var isStringNameMatch = !(nodeName.startsWith(REGEXP_START_MARKER) && nodeName.endsWith(REGEXP_START_MARKER));\n var selector = isStringNameMatch ? nodeName : '*';\n var nodeNameMatch = isStringNameMatch ? nodeName : toRegExp(nodeName);\n var textContentMatch = !textMatch.startsWith(REGEXP_START_MARKER) ? textMatch : toRegExp(textMatch);\n var patternMatch;\n if (pattern) {\n patternMatch = !pattern.startsWith(REGEXP_START_MARKER) ? pattern : toRegExp(pattern);\n }\n return {\n selector,\n nodeNameMatch,\n textContentMatch,\n patternMatch\n };\n };\n function isValueMatched(value, matcher) {\n if (typeof value === 'function') {\n return false;\n }\n if (nativeIsNaN(value)) {\n return nativeIsNaN(matcher);\n }\n if (value === null || typeof value === 'undefined' || typeof value === 'number' || typeof value === 'boolean') {\n return value === matcher;\n }\n if (typeof value === 'string') {\n if (typeof matcher === 'string' || matcher instanceof RegExp) {\n return isStringMatched(value, matcher);\n }\n return false;\n }\n if (Array.isArray(value) && Array.isArray(matcher)) {\n return isArrayMatched(value, matcher);\n }\n if (isArbitraryObject(value) && isArbitraryObject(matcher)) {\n return isObjectMatched(value, matcher);\n }\n return false;\n }\n function isStringMatched(str, matcher) {\n if (typeof matcher === 'string') {\n if (matcher === '') {\n return str === matcher;\n }\n return str.includes(matcher);\n }\n if (matcher instanceof RegExp) {\n return matcher.test(str);\n }\n return false;\n }\n function isObjectMatched(obj, matcher) {\n var matcherKeys = Object.keys(matcher);\n for (var i = 0; i < matcherKeys.length; i += 1) {\n var key = matcherKeys[i];\n var value = obj[key];\n if (!isValueMatched(value, matcher[key])) {\n return false;\n }\n continue;\n }\n return true;\n }\n function isArrayMatched(array, matcher) {\n if (array.length === 0) {\n return matcher.length === 0;\n }\n if (matcher.length === 0) {\n return false;\n }\n var _loop = function _loop() {\n var matcherValue = matcher[i];\n var isMatching = array.some(function (arrItem) {\n return isValueMatched(arrItem, matcherValue);\n });\n if (!isMatching) {\n return {\n v: false\n };\n }\n return \"continue\";\n };\n for (var i = 0; i < matcher.length; i += 1) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n if (typeof _ret === \"object\") return _ret.v;\n }\n return true;\n }\n function trustedClickElement$1(source, selectors) {\n var extraMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : NaN;\n if (!selectors) {\n return;\n }\n var OBSERVER_TIMEOUT_MS = 10000;\n var THROTTLE_DELAY_MS = 20;\n var STATIC_CLICK_DELAY_MS = 150;\n var COOKIE_MATCH_MARKER = 'cookie:';\n var LOCAL_STORAGE_MATCH_MARKER = 'localStorage:';\n var SELECTORS_DELIMITER = ',';\n var COOKIE_STRING_DELIMITER = ';';\n var EXTRA_MATCH_DELIMITER = /(,\\s*){1}(?=!?cookie:|!?localStorage:)/;\n var sleep = function sleep(delayMs) {\n return new Promise(function (resolve) {\n return setTimeout(resolve, delayMs);\n });\n };\n var parsedDelay;\n if (delay) {\n parsedDelay = parseInt(delay, 10);\n var isValidDelay = !Number.isNaN(parsedDelay) || parsedDelay < OBSERVER_TIMEOUT_MS;\n if (!isValidDelay) {\n var message = \"Passed delay '\".concat(delay, \"' is invalid or bigger than \").concat(OBSERVER_TIMEOUT_MS, \" ms\");\n logMessage(source, message);\n return;\n }\n }\n var canClick = !parsedDelay;\n var cookieMatches = [];\n var localStorageMatches = [];\n var isInvertedMatchCookie = false;\n var isInvertedMatchLocalStorage = false;\n if (extraMatch) {\n var parsedExtraMatch = extraMatch.split(EXTRA_MATCH_DELIMITER).map(function (matchStr) {\n return matchStr.trim();\n });\n parsedExtraMatch.forEach(function (matchStr) {\n if (matchStr.includes(COOKIE_MATCH_MARKER)) {\n var _parseMatchArg = parseMatchArg(matchStr),\n isInvertedMatch = _parseMatchArg.isInvertedMatch,\n matchValue = _parseMatchArg.matchValue;\n isInvertedMatchCookie = isInvertedMatch;\n var cookieMatch = matchValue.replace(COOKIE_MATCH_MARKER, '');\n cookieMatches.push(cookieMatch);\n }\n if (matchStr.includes(LOCAL_STORAGE_MATCH_MARKER)) {\n var _parseMatchArg2 = parseMatchArg(matchStr),\n _isInvertedMatch = _parseMatchArg2.isInvertedMatch,\n _matchValue = _parseMatchArg2.matchValue;\n isInvertedMatchLocalStorage = _isInvertedMatch;\n var localStorageMatch = _matchValue.replace(LOCAL_STORAGE_MATCH_MARKER, '');\n localStorageMatches.push(localStorageMatch);\n }\n });\n }\n if (cookieMatches.length > 0) {\n var parsedCookieMatches = parseCookieString(cookieMatches.join(COOKIE_STRING_DELIMITER));\n var parsedCookies = parseCookieString(document.cookie);\n var cookieKeys = Object.keys(parsedCookies);\n if (cookieKeys.length === 0) {\n return;\n }\n var cookiesMatched = Object.keys(parsedCookieMatches).every(function (key) {\n var valueMatch = parsedCookieMatches[key] ? toRegExp(parsedCookieMatches[key]) : null;\n var keyMatch = toRegExp(key);\n return cookieKeys.some(function (key) {\n var keysMatched = keyMatch.test(key);\n if (!keysMatched) {\n return false;\n }\n if (!valueMatch) {\n return true;\n }\n return valueMatch.test(parsedCookies[key]);\n });\n });\n var shouldRun = cookiesMatched !== isInvertedMatchCookie;\n if (!shouldRun) {\n return;\n }\n }\n if (localStorageMatches.length > 0) {\n var localStorageMatched = localStorageMatches.every(function (str) {\n var itemValue = window.localStorage.getItem(str);\n return itemValue || itemValue === '';\n });\n var _shouldRun = localStorageMatched !== isInvertedMatchLocalStorage;\n if (!_shouldRun) {\n return;\n }\n }\n var selectorsSequence = selectors.split(SELECTORS_DELIMITER).map(function (selector) {\n return selector.trim();\n });\n var createElementObj = function createElementObj(element) {\n return {\n element: element || null,\n clicked: false\n };\n };\n var elementsSequence = Array(selectorsSequence.length).fill(createElementObj());\n var clickElementsBySequence = async function clickElementsBySequence() {\n for (var i = 0; i < elementsSequence.length; i += 1) {\n var elementObj = elementsSequence[i];\n if (i >= 1) {\n await sleep(STATIC_CLICK_DELAY_MS);\n }\n if (!elementObj.element) {\n break;\n }\n if (!elementObj.clicked) {\n elementObj.element.click();\n elementObj.clicked = true;\n }\n }\n var allElementsClicked = elementsSequence.every(function (elementObj) {\n return elementObj.clicked === true;\n });\n if (allElementsClicked) {\n hit(source);\n }\n };\n var handleElement = function handleElement(element, i) {\n var elementObj = createElementObj(element);\n elementsSequence[i] = elementObj;\n if (canClick) {\n clickElementsBySequence();\n }\n };\n var findElements = function findElements(mutations, observer) {\n var fulfilledSelectors = [];\n selectorsSequence.forEach(function (selector, i) {\n if (!selector) {\n return;\n }\n var element = queryShadowSelector(selector);\n if (!element) {\n return;\n }\n handleElement(element, i);\n fulfilledSelectors.push(selector);\n });\n selectorsSequence = selectorsSequence.map(function (selector) {\n return fulfilledSelectors.includes(selector) ? null : selector;\n });\n var allSelectorsFulfilled = selectorsSequence.every(function (selector) {\n return selector === null;\n });\n if (allSelectorsFulfilled) {\n observer.disconnect();\n }\n };\n var observer = new MutationObserver(throttle(findElements, THROTTLE_DELAY_MS));\n observer.observe(document.documentElement, {\n attributes: true,\n childList: true,\n subtree: true\n });\n if (parsedDelay) {\n setTimeout(function () {\n clickElementsBySequence();\n canClick = true;\n }, parsedDelay);\n }\n setTimeout(function () {\n return observer.disconnect();\n }, OBSERVER_TIMEOUT_MS);\n }\n trustedClickElement$1.names = ['trusted-click-element'\n ];\n trustedClickElement$1.injections = [hit, toRegExp, parseCookieString, throttle, logMessage, parseMatchArg, queryShadowSelector];\n function abortOnPropertyRead$1(source, property) {\n if (!property) {\n return;\n }\n var rid = randomId();\n var abort = function abort() {\n hit(source);\n throw new ReferenceError(rid);\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n setPropertyAccess(base, prop, {\n get: abort,\n set: function set() {}\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n abortOnPropertyRead$1.names = ['abort-on-property-read',\n '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'];\n abortOnPropertyRead$1.injections = [randomId, setPropertyAccess, getPropertyInChain, createOnErrorHandler, hit, isEmptyObject];\n function abortOnPropertyWrite$1(source, property) {\n if (!property) {\n return;\n }\n var rid = randomId();\n var abort = function abort() {\n hit(source);\n throw new ReferenceError(rid);\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n setPropertyAccess(base, prop, {\n set: abort\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n abortOnPropertyWrite$1.names = ['abort-on-property-write',\n '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'];\n abortOnPropertyWrite$1.injections = [randomId, setPropertyAccess, getPropertyInChain, createOnErrorHandler, hit, isEmptyObject];\n function preventSetTimeout$1(source, matchCallback, matchDelay) {\n var shouldLog = typeof matchCallback === 'undefined' && typeof matchDelay === 'undefined';\n var handlerWrapper = function handlerWrapper(target, thisArg, args) {\n var callback = args[0];\n var delay = args[1];\n var shouldPrevent = false;\n if (shouldLog) {\n hit(source);\n logMessage(source, \"setTimeout(\".concat(String(callback), \", \").concat(delay, \")\"), true);\n } else {\n shouldPrevent = isPreventionNeeded({\n callback,\n delay,\n matchCallback,\n matchDelay\n });\n }\n if (shouldPrevent) {\n hit(source);\n args[0] = noopFunc;\n }\n return target.apply(thisArg, args);\n };\n var setTimeoutHandler = {\n apply: handlerWrapper\n };\n window.setTimeout = new Proxy(window.setTimeout, setTimeoutHandler);\n }\n preventSetTimeout$1.names = ['prevent-setTimeout',\n 'no-setTimeout-if.js',\n 'ubo-no-setTimeout-if.js', 'nostif.js',\n 'ubo-nostif.js', 'ubo-no-setTimeout-if', 'ubo-nostif',\n 'setTimeout-defuser.js', 'ubo-setTimeout-defuser.js', 'ubo-setTimeout-defuser', 'std.js', 'ubo-std.js', 'ubo-std'];\n preventSetTimeout$1.injections = [hit, noopFunc, isPreventionNeeded, logMessage,\n parseMatchArg, parseDelayArg, toRegExp, nativeIsNaN, isValidCallback, isValidMatchStr, escapeRegExp, isValidStrPattern, nativeIsFinite, isValidMatchNumber, parseRawDelay];\n function preventSetInterval$1(source, matchCallback, matchDelay) {\n var shouldLog = typeof matchCallback === 'undefined' && typeof matchDelay === 'undefined';\n var handlerWrapper = function handlerWrapper(target, thisArg, args) {\n var callback = args[0];\n var delay = args[1];\n var shouldPrevent = false;\n if (shouldLog) {\n hit(source);\n logMessage(source, \"setInterval(\".concat(String(callback), \", \").concat(delay, \")\"), true);\n } else {\n shouldPrevent = isPreventionNeeded({\n callback,\n delay,\n matchCallback,\n matchDelay\n });\n }\n if (shouldPrevent) {\n hit(source);\n args[0] = noopFunc;\n }\n return target.apply(thisArg, args);\n };\n var setIntervalHandler = {\n apply: handlerWrapper\n };\n window.setInterval = new Proxy(window.setInterval, setIntervalHandler);\n }\n preventSetInterval$1.names = ['prevent-setInterval',\n 'no-setInterval-if.js',\n 'ubo-no-setInterval-if.js', 'setInterval-defuser.js',\n 'ubo-setInterval-defuser.js', 'nosiif.js',\n 'ubo-nosiif.js', 'sid.js',\n 'ubo-sid.js', 'ubo-no-setInterval-if', 'ubo-setInterval-defuser', 'ubo-nosiif', 'ubo-sid'];\n preventSetInterval$1.injections = [hit, noopFunc, isPreventionNeeded, logMessage,\n toRegExp, nativeIsNaN, parseMatchArg, parseDelayArg, isValidCallback, isValidMatchStr, isValidStrPattern, escapeRegExp, nativeIsFinite, isValidMatchNumber, parseRawDelay];\n function preventWindowOpen$1(source) {\n var match = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '*';\n var delay = arguments.length > 2 ? arguments[2] : undefined;\n var replacement = arguments.length > 3 ? arguments[3] : undefined;\n var nativeOpen = window.open;\n var isNewSyntax = match !== '0' && match !== '1';\n var oldOpenWrapper = function oldOpenWrapper(str) {\n match = Number(match) > 0;\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (!isValidStrPattern(delay)) {\n logMessage(source, \"Invalid parameter: \".concat(delay));\n return nativeOpen.apply(window, [str, ...args]);\n }\n var searchRegexp = toRegExp(delay);\n if (match !== searchRegexp.test(str)) {\n return nativeOpen.apply(window, [str, ...args]);\n }\n hit(source);\n return handleOldReplacement(replacement);\n };\n var newOpenWrapper = function newOpenWrapper(url) {\n var shouldLog = replacement && replacement.includes('log');\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n if (shouldLog) {\n var argsStr = args && args.length > 0 ? \", \".concat(args.join(', ')) : '';\n var message = \"\".concat(url).concat(argsStr);\n logMessage(source, message, true);\n hit(source);\n }\n var shouldPrevent = false;\n if (match === '*') {\n shouldPrevent = true;\n } else if (isValidMatchStr(match)) {\n var _parseMatchArg = parseMatchArg(match),\n isInvertedMatch = _parseMatchArg.isInvertedMatch,\n matchRegexp = _parseMatchArg.matchRegexp;\n shouldPrevent = matchRegexp.test(url) !== isInvertedMatch;\n } else {\n logMessage(source, \"Invalid parameter: \".concat(match));\n shouldPrevent = false;\n }\n if (shouldPrevent) {\n var parsedDelay = parseInt(delay, 10);\n var result;\n if (nativeIsNaN(parsedDelay)) {\n result = noopNull();\n } else {\n var decoyArgs = {\n replacement,\n url,\n delay: parsedDelay\n };\n var decoy = createDecoy(decoyArgs);\n var popup = decoy.contentWindow;\n if (typeof popup === 'object' && popup !== null) {\n Object.defineProperty(popup, 'closed', {\n value: false\n });\n Object.defineProperty(popup, 'opener', {\n value: window\n });\n Object.defineProperty(popup, 'frameElement', {\n value: null\n });\n } else {\n var nativeGetter = decoy.contentWindow && decoy.contentWindow.get;\n Object.defineProperty(decoy, 'contentWindow', {\n get: getPreventGetter(nativeGetter)\n });\n popup = decoy.contentWindow;\n }\n result = popup;\n }\n hit(source);\n return result;\n }\n return nativeOpen.apply(window, [url, ...args]);\n };\n window.open = isNewSyntax ? newOpenWrapper : oldOpenWrapper;\n window.open.toString = nativeOpen.toString.bind(nativeOpen);\n }\n preventWindowOpen$1.names = ['prevent-window-open',\n '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'];\n preventWindowOpen$1.injections = [hit, isValidStrPattern, escapeRegExp, isValidMatchStr, toRegExp, nativeIsNaN, parseMatchArg, handleOldReplacement, createDecoy, getPreventGetter, noopNull, logMessage, noopFunc, trueFunc, substringBefore, substringAfter$1];\n function abortCurrentInlineScript$1(source, property, search) {\n var searchRegexp = toRegExp(search);\n var rid = randomId();\n var SRC_DATA_MARKER = 'data:text/javascript;base64,';\n var getCurrentScript = function getCurrentScript() {\n if ('currentScript' in document) {\n return document.currentScript;\n }\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n };\n var ourScript = getCurrentScript();\n var abort = function abort() {\n var _scriptEl$src;\n var scriptEl = getCurrentScript();\n if (!scriptEl) {\n return;\n }\n var content = scriptEl.textContent;\n try {\n var textContentGetter = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent').get;\n content = textContentGetter.call(scriptEl);\n } catch (e) {}\n if (content.length === 0 && typeof scriptEl.src !== 'undefined' && (_scriptEl$src = scriptEl.src) !== null && _scriptEl$src !== void 0 && _scriptEl$src.startsWith(SRC_DATA_MARKER)) {\n var encodedContent = scriptEl.src.slice(SRC_DATA_MARKER.length);\n content = window.atob(encodedContent);\n }\n if (scriptEl instanceof HTMLScriptElement && content.length > 0 && scriptEl !== ourScript && searchRegexp.test(content)) {\n hit(source);\n throw new ReferenceError(rid);\n }\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (base instanceof Object === false && base === null) {\n var props = property.split('.');\n var propIndex = props.indexOf(prop);\n var baseName = props[propIndex - 1];\n var message = \"The scriptlet had been executed before the \".concat(baseName, \" was loaded.\");\n logMessage(source, message);\n return;\n }\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n var currentValue = base[prop];\n var origDescriptor = Object.getOwnPropertyDescriptor(base, prop);\n if (origDescriptor instanceof Object === false || origDescriptor.get instanceof Function === false) {\n currentValue = base[prop];\n origDescriptor = undefined;\n }\n var descriptorWrapper = Object.assign(getDescriptorAddon(), {\n currentValue,\n get() {\n if (!this.isAbortingSuspended) {\n this.isolateCallback(abort);\n }\n if (origDescriptor instanceof Object) {\n return origDescriptor.get.call(base);\n }\n return this.currentValue;\n },\n set(newValue) {\n if (!this.isAbortingSuspended) {\n this.isolateCallback(abort);\n }\n if (origDescriptor instanceof Object) {\n origDescriptor.set.call(base, newValue);\n } else {\n this.currentValue = newValue;\n }\n }\n });\n setPropertyAccess(base, prop, {\n get() {\n return descriptorWrapper.get.call(descriptorWrapper);\n },\n set(newValue) {\n descriptorWrapper.set.call(descriptorWrapper, newValue);\n }\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n abortCurrentInlineScript$1.names = ['abort-current-inline-script',\n 'abort-current-script.js', 'ubo-abort-current-script.js', 'acs.js', 'ubo-acs.js',\n 'ubo-abort-current-script', 'ubo-acs',\n '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'];\n abortCurrentInlineScript$1.injections = [randomId, setPropertyAccess, getPropertyInChain, toRegExp, createOnErrorHandler, hit, logMessage, isEmptyObject, getDescriptorAddon];\n function setConstant$1(source, property, value) {\n var stack = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var valueWrapper = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var setProxyTrap = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;\n var uboAliases = ['set-constant.js', 'ubo-set-constant.js', 'set.js', 'ubo-set.js', 'ubo-set-constant', 'ubo-set'];\n if (uboAliases.includes(source.name)) {\n if (stack.length !== 1 && !getNumberFromString(stack)) {\n valueWrapper = stack;\n }\n stack = undefined;\n }\n if (!property || !matchStackTrace(stack, new Error().stack)) {\n return;\n }\n var isProxyTrapSet = false;\n var emptyArr = noopArray();\n var emptyObj = noopObject();\n var constantValue;\n if (value === 'undefined') {\n constantValue = undefined;\n } else if (value === 'false') {\n constantValue = false;\n } else if (value === 'true') {\n constantValue = true;\n } else if (value === 'null') {\n constantValue = null;\n } else if (value === 'emptyArr') {\n constantValue = emptyArr;\n } else if (value === 'emptyObj') {\n constantValue = emptyObj;\n } else if (value === 'noopFunc') {\n constantValue = noopFunc;\n } else if (value === 'noopCallbackFunc') {\n constantValue = noopCallbackFunc;\n } else if (value === 'trueFunc') {\n constantValue = trueFunc;\n } else if (value === 'falseFunc') {\n constantValue = falseFunc;\n } else if (value === 'throwFunc') {\n constantValue = throwFunc;\n } else if (value === 'noopPromiseResolve') {\n constantValue = noopPromiseResolve;\n } else if (value === 'noopPromiseReject') {\n constantValue = noopPromiseReject;\n } else if (/^\\d+$/.test(value)) {\n constantValue = parseFloat(value);\n if (nativeIsNaN(constantValue)) {\n return;\n }\n if (Math.abs(constantValue) > 32767) {\n return;\n }\n } else if (value === '-1') {\n constantValue = -1;\n } else if (value === '') {\n constantValue = '';\n } else if (value === 'yes') {\n constantValue = 'yes';\n } else if (value === 'no') {\n constantValue = 'no';\n } else {\n return;\n }\n var valueWrapperNames = ['asFunction', 'asCallback', 'asResolved', 'asRejected'];\n if (valueWrapperNames.includes(valueWrapper)) {\n var valueWrappersMap = {\n asFunction(v) {\n return function () {\n return v;\n };\n },\n asCallback(v) {\n return function () {\n return function () {\n return v;\n };\n };\n },\n asResolved(v) {\n return Promise.resolve(v);\n },\n asRejected(v) {\n return Promise.reject(v);\n }\n };\n constantValue = valueWrappersMap[valueWrapper](constantValue);\n }\n var canceled = false;\n var mustCancel = function mustCancel(value) {\n if (canceled) {\n return canceled;\n }\n canceled = value !== undefined && constantValue !== undefined && typeof value !== typeof constantValue && value !== null;\n return canceled;\n };\n var trapProp = function trapProp(base, prop, configurable, handler) {\n if (!handler.init(base[prop])) {\n return false;\n }\n var origDescriptor = Object.getOwnPropertyDescriptor(base, prop);\n var prevSetter;\n if (origDescriptor instanceof Object) {\n if (!origDescriptor.configurable) {\n var message = \"Property '\".concat(prop, \"' is not configurable\");\n logMessage(source, message);\n return false;\n }\n if (base[prop]) {\n base[prop] = constantValue;\n }\n if (origDescriptor.set instanceof Function) {\n prevSetter = origDescriptor.set;\n }\n }\n Object.defineProperty(base, prop, {\n configurable,\n get() {\n return handler.get();\n },\n set(a) {\n if (prevSetter !== undefined) {\n prevSetter(a);\n }\n if (a instanceof Object) {\n var propertiesToCheck = property.split('.').slice(1);\n if (setProxyTrap && !isProxyTrapSet) {\n isProxyTrapSet = true;\n a = new Proxy(a, {\n get: function get(target, propertyKey, val) {\n propertiesToCheck.reduce(function (object, currentProp, index, array) {\n var currentObj = object === null || object === void 0 ? void 0 : object[currentProp];\n if (index === array.length - 1 && currentObj !== constantValue) {\n object[currentProp] = constantValue;\n }\n return currentObj || object;\n }, target);\n return Reflect.get(target, propertyKey, val);\n }\n });\n }\n }\n handler.set(a);\n }\n });\n return true;\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n var inChainPropHandler = {\n factValue: undefined,\n init(a) {\n this.factValue = a;\n return true;\n },\n get() {\n return this.factValue;\n },\n set(a) {\n if (this.factValue === a) {\n return;\n }\n this.factValue = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n }\n };\n var endPropHandler = {\n init(a) {\n if (mustCancel(a)) {\n return false;\n }\n return true;\n },\n get() {\n return constantValue;\n },\n set(a) {\n if (!mustCancel(a)) {\n return;\n }\n constantValue = a;\n }\n };\n if (!chain) {\n var isTrapped = trapProp(base, prop, false, endPropHandler);\n if (isTrapped) {\n hit(source);\n }\n return;\n }\n if (base !== undefined && base[prop] === null) {\n trapProp(base, prop, true, inChainPropHandler);\n return;\n }\n if ((base instanceof Object || typeof base === 'object') && isEmptyObject(base)) {\n trapProp(base, prop, true, inChainPropHandler);\n }\n var propValue = owner[prop];\n if (propValue instanceof Object || typeof propValue === 'object' && propValue !== null) {\n setChainPropAccess(propValue, chain);\n }\n trapProp(base, prop, true, inChainPropHandler);\n };\n setChainPropAccess(window, property);\n }\n setConstant$1.names = ['set-constant',\n 'set-constant.js', 'ubo-set-constant.js', 'set.js', 'ubo-set.js', 'ubo-set-constant', 'ubo-set', 'abp-override-property-read'];\n setConstant$1.injections = [hit, logMessage, getNumberFromString, noopArray, noopObject, noopFunc, noopCallbackFunc, trueFunc, falseFunc, throwFunc, noopPromiseReject, noopPromiseResolve, getPropertyInChain, matchStackTrace, nativeIsNaN, isEmptyObject,\n shouldAbortInlineOrInjectedScript, getNativeRegexpTest, setPropertyAccess, toRegExp];\n function removeCookie$1(source, match) {\n var matchRegexp = toRegExp(match);\n var removeCookieFromHost = function removeCookieFromHost(cookieName, hostName) {\n var cookieSpec = \"\".concat(cookieName, \"=\");\n var domain1 = \"; domain=\".concat(hostName);\n var domain2 = \"; domain=.\".concat(hostName);\n var path = '; path=/';\n var expiration = '; expires=Thu, 01 Jan 1970 00:00:00 GMT';\n document.cookie = cookieSpec + expiration;\n document.cookie = cookieSpec + domain1 + expiration;\n document.cookie = cookieSpec + domain2 + expiration;\n document.cookie = cookieSpec + path + expiration;\n document.cookie = cookieSpec + domain1 + path + expiration;\n document.cookie = cookieSpec + domain2 + path + expiration;\n hit(source);\n };\n var rmCookie = function rmCookie() {\n document.cookie.split(';').forEach(function (cookieStr) {\n var pos = cookieStr.indexOf('=');\n if (pos === -1) {\n return;\n }\n var cookieName = cookieStr.slice(0, pos).trim();\n if (!matchRegexp.test(cookieName)) {\n return;\n }\n var hostParts = document.location.hostname.split('.');\n for (var i = 0; i <= hostParts.length - 1; i += 1) {\n var hostName = hostParts.slice(i).join('.');\n if (hostName) {\n removeCookieFromHost(cookieName, hostName);\n }\n }\n });\n };\n rmCookie();\n window.addEventListener('beforeunload', rmCookie);\n }\n removeCookie$1.names = ['remove-cookie',\n 'cookie-remover.js', 'ubo-cookie-remover.js', 'ubo-cookie-remover', 'remove-cookie.js', 'ubo-remove-cookie.js', 'ubo-remove-cookie', 'abp-cookie-remover'];\n removeCookie$1.injections = [toRegExp, hit];\n function preventAddEventListener$1(source, typeSearch, listenerSearch) {\n var typeSearchRegexp = toRegExp(typeSearch);\n var listenerSearchRegexp = toRegExp(listenerSearch);\n var nativeAddEventListener = window.EventTarget.prototype.addEventListener;\n function addEventListenerWrapper(type, listener) {\n var _this$constructor;\n var shouldPrevent = false;\n if (validateType(type) && validateListener(listener)) {\n shouldPrevent = typeSearchRegexp.test(type.toString()) && listenerSearchRegexp.test(listenerToString(listener));\n }\n if (shouldPrevent) {\n hit(source);\n return undefined;\n }\n var context = this;\n if (this && ((_this$constructor = this.constructor) === null || _this$constructor === void 0 ? void 0 : _this$constructor.name) === 'Window' && this !== window) {\n context = window;\n }\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return nativeAddEventListener.apply(context, [type, listener, ...args]);\n }\n var descriptor = {\n configurable: true,\n set: function set() {},\n get: function get() {\n return addEventListenerWrapper;\n }\n };\n Object.defineProperty(window.EventTarget.prototype, 'addEventListener', descriptor);\n Object.defineProperty(window, 'addEventListener', descriptor);\n Object.defineProperty(document, 'addEventListener', descriptor);\n }\n preventAddEventListener$1.names = ['prevent-addEventListener',\n 'addEventListener-defuser.js', 'ubo-addEventListener-defuser.js', 'aeld.js', 'ubo-aeld.js', 'ubo-addEventListener-defuser', 'ubo-aeld', 'abp-prevent-listener'];\n preventAddEventListener$1.injections = [hit, toRegExp, validateType, validateListener, listenerToString];\n function preventBab$2(source) {\n var nativeSetTimeout = window.setTimeout;\n var babRegex = /\\.bab_elementid.$/;\n var timeoutWrapper = function timeoutWrapper(callback) {\n if (typeof callback !== 'string' || !babRegex.test(callback)) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return nativeSetTimeout.apply(window, [callback, ...args]);\n }\n hit(source);\n };\n window.setTimeout = timeoutWrapper;\n var signatures = [['blockadblock'], ['babasbm'], [/getItem\\('babn'\\)/], ['getElementById', 'String.fromCharCode', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', 'charAt', 'DOMContentLoaded', 'AdBlock', 'addEventListener', 'doScroll', 'fromCharCode', '<<2|r>>4', 'sessionStorage', 'clientWidth', 'localStorage', 'Math', 'random']];\n var check = function check(str) {\n if (typeof str !== 'string') {\n return false;\n }\n for (var i = 0; i < signatures.length; i += 1) {\n var tokens = signatures[i];\n var match = 0;\n for (var j = 0; j < tokens.length; j += 1) {\n var token = tokens[j];\n var found = token instanceof RegExp ? token.test(str) : str.includes(token);\n if (found) {\n match += 1;\n }\n }\n if (match / tokens.length >= 0.8) {\n return true;\n }\n }\n return false;\n };\n var nativeEval = window.eval;\n var evalWrapper = function evalWrapper(str) {\n if (!check(str)) {\n return nativeEval(str);\n }\n hit(source);\n var bodyEl = document.body;\n if (bodyEl) {\n bodyEl.style.removeProperty('visibility');\n }\n var el = document.getElementById('babasbmsgx');\n if (el) {\n el.parentNode.removeChild(el);\n }\n };\n window.eval = evalWrapper.bind(window);\n }\n preventBab$2.names = ['prevent-bab'\n ];\n preventBab$2.injections = [hit];\n function nowebrtc$1(source) {\n var propertyName = '';\n if (window.RTCPeerConnection) {\n propertyName = 'RTCPeerConnection';\n } else if (window.webkitRTCPeerConnection) {\n propertyName = 'webkitRTCPeerConnection';\n }\n if (propertyName === '') {\n return;\n }\n var rtcReplacement = function rtcReplacement(config) {\n var message = \"Document tried to create an RTCPeerConnection: \".concat(convertRtcConfigToString(config));\n logMessage(source, message);\n hit(source);\n };\n rtcReplacement.prototype = {\n close: noopFunc,\n createDataChannel: noopFunc,\n createOffer: noopFunc,\n setRemoteDescription: noopFunc\n };\n var rtc = window[propertyName];\n window[propertyName] = rtcReplacement;\n if (rtc.prototype) {\n rtc.prototype.createDataChannel = function (a, b) {\n return {\n close: noopFunc,\n send: noopFunc\n };\n }.bind(null);\n }\n }\n nowebrtc$1.names = ['nowebrtc',\n 'nowebrtc.js', 'ubo-nowebrtc.js', 'ubo-nowebrtc'];\n nowebrtc$1.injections = [hit, noopFunc, logMessage, convertRtcConfigToString];\n function logAddEventListener$1(source) {\n var nativeAddEventListener = window.EventTarget.prototype.addEventListener;\n function addEventListenerWrapper(type, listener) {\n var _this$constructor;\n if (validateType(type) && validateListener(listener)) {\n var message = \"addEventListener(\\\"\".concat(type, \"\\\", \").concat(listenerToString(listener), \")\");\n logMessage(source, message, true);\n hit(source);\n } else {\n var _message = \"Invalid event type or listener passed to addEventListener:\\n type: \".concat(convertTypeToString(type), \"\\n listener: \").concat(convertTypeToString(listener));\n logMessage(source, _message, true);\n }\n var context = this;\n if (this && ((_this$constructor = this.constructor) === null || _this$constructor === void 0 ? void 0 : _this$constructor.name) === 'Window' && this !== window) {\n context = window;\n }\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return nativeAddEventListener.apply(context, [type, listener, ...args]);\n }\n var descriptor = {\n configurable: true,\n set: function set() {},\n get: function get() {\n return addEventListenerWrapper;\n }\n };\n Object.defineProperty(window.EventTarget.prototype, 'addEventListener', descriptor);\n Object.defineProperty(window, 'addEventListener', descriptor);\n Object.defineProperty(document, 'addEventListener', descriptor);\n }\n logAddEventListener$1.names = ['log-addEventListener',\n 'addEventListener-logger.js', 'ubo-addEventListener-logger.js', 'aell.js', 'ubo-aell.js', 'ubo-addEventListener-logger', 'ubo-aell'];\n logAddEventListener$1.injections = [hit, validateType, validateListener, listenerToString, convertTypeToString, logMessage, objectToString$1, isEmptyObject];\n function logEval$1(source) {\n var nativeEval = window.eval;\n function evalWrapper(str) {\n hit(source);\n logMessage(source, \"eval(\\\"\".concat(str, \"\\\")\"), true);\n return nativeEval(str);\n }\n window.eval = evalWrapper;\n var nativeFunction = window.Function;\n function FunctionWrapper() {\n hit(source);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n logMessage(source, \"new Function(\".concat(args.join(', '), \")\"), true);\n return nativeFunction.apply(this, [...args]);\n }\n FunctionWrapper.prototype = Object.create(nativeFunction.prototype);\n FunctionWrapper.prototype.constructor = FunctionWrapper;\n window.Function = FunctionWrapper;\n }\n logEval$1.names = ['log-eval'];\n logEval$1.injections = [hit, logMessage];\n function log$1() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n console.log(args);\n }\n log$1.names = ['log', 'abp-log'];\n function noeval$1(source) {\n window.eval = function evalWrapper(s) {\n hit(source);\n logMessage(source, \"AdGuard has prevented eval:\\n\".concat(s), true);\n }.bind();\n }\n noeval$1.names = ['noeval',\n 'noeval.js', 'silent-noeval.js', 'ubo-noeval.js', 'ubo-silent-noeval.js', 'ubo-noeval', 'ubo-silent-noeval'];\n noeval$1.injections = [hit, logMessage];\n function preventEvalIf$1(source, search) {\n var searchRegexp = toRegExp(search);\n var nativeEval = window.eval;\n window.eval = function (payload) {\n if (!searchRegexp.test(payload.toString())) {\n return nativeEval.call(window, payload);\n }\n hit(source);\n return undefined;\n }.bind(window);\n }\n preventEvalIf$1.names = ['prevent-eval-if',\n 'noeval-if.js', 'ubo-noeval-if.js', 'ubo-noeval-if'];\n preventEvalIf$1.injections = [toRegExp, hit];\n function preventFab$1(source) {\n hit(source);\n var Fab = function Fab() {};\n Fab.prototype.check = noopFunc;\n Fab.prototype.clearEvent = noopFunc;\n Fab.prototype.emitEvent = noopFunc;\n Fab.prototype.on = function (a, b) {\n if (!a) {\n b();\n }\n return this;\n };\n Fab.prototype.onDetected = noopThis;\n Fab.prototype.onNotDetected = function (a) {\n a();\n return this;\n };\n Fab.prototype.setOption = noopFunc;\n Fab.prototype.options = {\n set: noopFunc,\n get: noopFunc\n };\n var fab = new Fab();\n var getSetFab = {\n get() {\n return Fab;\n },\n set() {}\n };\n var getsetfab = {\n get() {\n return fab;\n },\n set() {}\n };\n if (Object.prototype.hasOwnProperty.call(window, 'FuckAdBlock')) {\n window.FuckAdBlock = Fab;\n } else {\n Object.defineProperty(window, 'FuckAdBlock', getSetFab);\n }\n if (Object.prototype.hasOwnProperty.call(window, 'BlockAdBlock')) {\n window.BlockAdBlock = Fab;\n } else {\n Object.defineProperty(window, 'BlockAdBlock', getSetFab);\n }\n if (Object.prototype.hasOwnProperty.call(window, 'SniffAdBlock')) {\n window.SniffAdBlock = Fab;\n } else {\n Object.defineProperty(window, 'SniffAdBlock', getSetFab);\n }\n if (Object.prototype.hasOwnProperty.call(window, 'fuckAdBlock')) {\n window.fuckAdBlock = fab;\n } else {\n Object.defineProperty(window, 'fuckAdBlock', getsetfab);\n }\n if (Object.prototype.hasOwnProperty.call(window, 'blockAdBlock')) {\n window.blockAdBlock = fab;\n } else {\n Object.defineProperty(window, 'blockAdBlock', getsetfab);\n }\n if (Object.prototype.hasOwnProperty.call(window, 'sniffAdBlock')) {\n window.sniffAdBlock = fab;\n } else {\n Object.defineProperty(window, 'sniffAdBlock', getsetfab);\n }\n }\n preventFab$1.names = ['prevent-fab-3.2.0',\n 'nofab.js', 'ubo-nofab.js', 'fuckadblock.js-3.2.0', 'ubo-fuckadblock.js-3.2.0', 'ubo-nofab'];\n preventFab$1.injections = [hit, noopFunc, noopThis];\n function setPopadsDummy$1(source) {\n delete window.PopAds;\n delete window.popns;\n Object.defineProperties(window, {\n PopAds: {\n get: function get() {\n hit(source);\n return {};\n }\n },\n popns: {\n get: function get() {\n hit(source);\n return {};\n }\n }\n });\n }\n setPopadsDummy$1.names = ['set-popads-dummy',\n 'popads-dummy.js', 'ubo-popads-dummy.js', 'ubo-popads-dummy'];\n setPopadsDummy$1.injections = [hit];\n function preventPopadsNet$1(source) {\n var rid = randomId();\n var throwError = function throwError() {\n throw new ReferenceError(rid);\n };\n delete window.PopAds;\n delete window.popns;\n Object.defineProperties(window, {\n PopAds: {\n set: throwError\n },\n popns: {\n set: throwError\n }\n });\n window.onerror = createOnErrorHandler(rid).bind();\n hit(source);\n }\n preventPopadsNet$1.names = ['prevent-popads-net',\n 'popads.net.js', 'ubo-popads.net.js', 'ubo-popads.net'];\n preventPopadsNet$1.injections = [createOnErrorHandler, randomId, hit];\n function preventAdfly$1(source) {\n var isDigit = function isDigit(data) {\n return /^\\d$/.test(data);\n };\n var handler = function handler(encodedURL) {\n var evenChars = '';\n var oddChars = '';\n for (var i = 0; i < encodedURL.length; i += 1) {\n if (i % 2 === 0) {\n evenChars += encodedURL.charAt(i);\n } else {\n oddChars = encodedURL.charAt(i) + oddChars;\n }\n }\n var data = (evenChars + oddChars).split('');\n for (var _i = 0; _i < data.length; _i += 1) {\n if (isDigit(data[_i])) {\n for (var ii = _i + 1; ii < data.length; ii += 1) {\n if (isDigit(data[ii])) {\n var temp = parseInt(data[_i], 10) ^ parseInt(data[ii], 10);\n if (temp < 10) {\n data[_i] = temp.toString();\n }\n _i = ii;\n break;\n }\n }\n }\n }\n data = data.join('');\n var decodedURL = window.atob(data).slice(16, -16);\n if (window.stop) {\n window.stop();\n }\n window.onbeforeunload = null;\n window.location.href = decodedURL;\n };\n var val;\n var applyHandler = true;\n var result = setPropertyAccess(window, 'ysmm', {\n configurable: false,\n set: function set(value) {\n if (applyHandler) {\n applyHandler = false;\n try {\n if (typeof value === 'string') {\n handler(value);\n }\n } catch (err) {}\n }\n val = value;\n },\n get: function get() {\n return val;\n }\n });\n if (result) {\n hit(source);\n } else {\n logMessage(source, 'Failed to set up prevent-adfly scriptlet');\n }\n }\n preventAdfly$1.names = ['prevent-adfly',\n 'adfly-defuser.js', 'ubo-adfly-defuser.js', 'ubo-adfly-defuser'];\n preventAdfly$1.injections = [setPropertyAccess, hit, logMessage];\n function debugOnPropertyRead$1(source, property) {\n if (!property) {\n return;\n }\n var rid = randomId();\n var abort = function abort() {\n hit(source);\n debugger;\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n setPropertyAccess(base, prop, {\n get: abort,\n set: noopFunc\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n debugOnPropertyRead$1.names = ['debug-on-property-read'];\n debugOnPropertyRead$1.injections = [randomId, setPropertyAccess, getPropertyInChain, createOnErrorHandler, hit, noopFunc, isEmptyObject];\n function debugOnPropertyWrite$1(source, property) {\n if (!property) {\n return;\n }\n var rid = randomId();\n var abort = function abort() {\n hit(source);\n debugger;\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n setPropertyAccess(base, prop, {\n set: abort\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n debugOnPropertyWrite$1.names = ['debug-on-property-write'];\n debugOnPropertyWrite$1.injections = [randomId, setPropertyAccess, getPropertyInChain, createOnErrorHandler, hit, isEmptyObject];\n function debugCurrentInlineScript$1(source, property, search) {\n var searchRegexp = toRegExp(search);\n var rid = randomId();\n var getCurrentScript = function getCurrentScript() {\n if ('currentScript' in document) {\n return document.currentScript;\n }\n var scripts = document.getElementsByTagName('script');\n return scripts[scripts.length - 1];\n };\n var ourScript = getCurrentScript();\n var abort = function abort() {\n var scriptEl = getCurrentScript();\n if (!scriptEl) {\n return;\n }\n var content = scriptEl.textContent;\n try {\n var textContentGetter = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent').get;\n content = textContentGetter.call(scriptEl);\n } catch (e) {}\n if (scriptEl instanceof HTMLScriptElement && content.length > 0 && scriptEl !== ourScript && searchRegexp.test(content)) {\n hit(source);\n debugger;\n }\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (base instanceof Object === false && base === null) {\n var props = property.split('.');\n var propIndex = props.indexOf(prop);\n var baseName = props[propIndex - 1];\n var message = \"The scriptlet had been executed before the \".concat(baseName, \" was loaded.\");\n logMessage(message, source.verbose);\n return;\n }\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n var currentValue = base[prop];\n setPropertyAccess(base, prop, {\n set: function set(value) {\n abort();\n currentValue = value;\n },\n get: function get() {\n abort();\n return currentValue;\n }\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n debugCurrentInlineScript$1.names = ['debug-current-inline-script'];\n debugCurrentInlineScript$1.injections = [randomId, setPropertyAccess, getPropertyInChain, toRegExp, createOnErrorHandler, hit, logMessage, isEmptyObject];\n function removeAttr$1(source, attrs, selector) {\n var applying = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'asap stay';\n if (!attrs) {\n return;\n }\n attrs = attrs.split(/\\s*\\|\\s*/);\n if (!selector) {\n selector = \"[\".concat(attrs.join('],['), \"]\");\n }\n var rmattr = function rmattr() {\n var nodes = [];\n try {\n nodes = [].slice.call(document.querySelectorAll(selector));\n } catch (e) {\n logMessage(source, \"Invalid selector arg: '\".concat(selector, \"'\"));\n }\n var removed = false;\n nodes.forEach(function (node) {\n attrs.forEach(function (attr) {\n node.removeAttribute(attr);\n removed = true;\n });\n });\n if (removed) {\n hit(source);\n }\n };\n var flags = parseFlags(applying);\n var run = function run() {\n rmattr();\n if (!flags.hasFlag(flags.STAY)) {\n return;\n }\n observeDOMChanges(rmattr, true);\n };\n if (flags.hasFlag(flags.ASAP)) {\n if (document.readyState === 'loading') {\n window.addEventListener('DOMContentLoaded', rmattr, {\n once: true\n });\n } else {\n rmattr();\n }\n }\n if (document.readyState !== 'complete' && flags.hasFlag(flags.COMPLETE)) {\n window.addEventListener('load', run, {\n once: true\n });\n } else if (flags.hasFlag(flags.STAY)) {\n if (!applying.includes(' ')) {\n rmattr();\n }\n observeDOMChanges(rmattr, true);\n }\n }\n removeAttr$1.names = ['remove-attr',\n 'remove-attr.js', 'ubo-remove-attr.js', 'ra.js', 'ubo-ra.js', 'ubo-remove-attr', 'ubo-ra'];\n removeAttr$1.injections = [hit, observeDOMChanges, parseFlags, logMessage,\n throttle];\n function setAttr$1(source, selector, attr) {\n var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n if (!selector || !attr) {\n return;\n }\n var allowedValues = ['true', 'false'];\n var shouldCopyValue = value.startsWith('[') && value.endsWith(']');\n var isValidValue = value.length === 0 || !nativeIsNaN(parseInt(value, 10)) && parseInt(value, 10) > 0 && parseInt(value, 10) < 32767 || allowedValues.includes(value.toLowerCase());\n if (!shouldCopyValue && !isValidValue) {\n logMessage(source, \"Invalid attribute value provided: '\".concat(convertTypeToString(value), \"'\"));\n return;\n }\n var attributeHandler;\n if (shouldCopyValue) {\n attributeHandler = function attributeHandler(elem, attr, value) {\n var valueToCopy = elem.getAttribute(value.slice(1, -1));\n if (valueToCopy === null) {\n logMessage(source, \"No element attribute found to copy value from: \".concat(value));\n }\n elem.setAttribute(attr, valueToCopy);\n };\n }\n setAttributeBySelector(source, selector, attr, value, attributeHandler);\n observeDOMChanges(function () {\n return setAttributeBySelector(source, selector, attr, value, attributeHandler);\n }, true);\n }\n setAttr$1.names = ['set-attr',\n 'set-attr.js', 'ubo-set-attr.js', 'ubo-set-attr'];\n setAttr$1.injections = [setAttributeBySelector, observeDOMChanges, nativeIsNaN, convertTypeToString,\n defaultAttributeSetter, logMessage, throttle, hit];\n function removeClass$1(source, classNames, selector) {\n var applying = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'asap stay';\n if (!classNames) {\n return;\n }\n classNames = classNames.split(/\\s*\\|\\s*/);\n var selectors = [];\n if (!selector) {\n selectors = classNames.map(function (className) {\n return \".\".concat(className);\n });\n }\n var removeClassHandler = function removeClassHandler() {\n var nodes = new Set();\n if (selector) {\n var foundNodes = [];\n try {\n foundNodes = [].slice.call(document.querySelectorAll(selector));\n } catch (e) {\n logMessage(source, \"Invalid selector arg: '\".concat(selector, \"'\"));\n }\n foundNodes.forEach(function (n) {\n return nodes.add(n);\n });\n } else if (selectors.length > 0) {\n selectors.forEach(function (s) {\n var elements = document.querySelectorAll(s);\n for (var i = 0; i < elements.length; i += 1) {\n var element = elements[i];\n nodes.add(element);\n }\n });\n }\n var removed = false;\n nodes.forEach(function (node) {\n classNames.forEach(function (className) {\n if (node.classList.contains(className)) {\n node.classList.remove(className);\n removed = true;\n }\n });\n });\n if (removed) {\n hit(source);\n }\n };\n var CLASS_ATTR_NAME = ['class'];\n var flags = parseFlags(applying);\n var run = function run() {\n removeClassHandler();\n if (!flags.hasFlag(flags.STAY)) {\n return;\n }\n observeDOMChanges(removeClassHandler, true, CLASS_ATTR_NAME);\n };\n if (flags.hasFlag(flags.ASAP)) {\n if (document.readyState === 'loading') {\n window.addEventListener('DOMContentLoaded', removeClassHandler, {\n once: true\n });\n } else {\n removeClassHandler();\n }\n }\n if (document.readyState !== 'complete' && flags.hasFlag(flags.COMPLETE)) {\n window.addEventListener('load', run, {\n once: true\n });\n } else if (flags.hasFlag(flags.STAY)) {\n if (!applying.includes(' ')) {\n removeClassHandler();\n }\n observeDOMChanges(removeClassHandler, true, CLASS_ATTR_NAME);\n }\n }\n removeClass$1.names = ['remove-class',\n 'remove-class.js', 'ubo-remove-class.js', 'rc.js', 'ubo-rc.js', 'ubo-remove-class', 'ubo-rc'];\n removeClass$1.injections = [hit, logMessage, observeDOMChanges, parseFlags,\n throttle];\n function disableNewtabLinks$1(source) {\n document.addEventListener('click', function (ev) {\n var target = ev.target;\n while (target !== null) {\n if (target.localName === 'a' && target.hasAttribute('target')) {\n ev.stopPropagation();\n ev.preventDefault();\n hit(source);\n break;\n }\n target = target.parentNode;\n }\n });\n }\n disableNewtabLinks$1.names = ['disable-newtab-links',\n 'disable-newtab-links.js', 'ubo-disable-newtab-links.js', 'ubo-disable-newtab-links'];\n disableNewtabLinks$1.injections = [hit];\n function adjustSetInterval$1(source, matchCallback, matchDelay, boost) {\n var nativeSetInterval = window.setInterval;\n var matchRegexp = toRegExp(matchCallback);\n var intervalWrapper = function intervalWrapper(callback, delay) {\n if (!isValidCallback(callback)) {\n var message = \"Scriptlet can't be applied because of invalid callback: '\".concat(String(callback), \"'\");\n logMessage(source, message);\n } else if (matchRegexp.test(callback.toString()) && isDelayMatched(matchDelay, delay)) {\n delay *= getBoostMultiplier(boost);\n hit(source);\n }\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return nativeSetInterval.apply(window, [callback, delay, ...args]);\n };\n window.setInterval = intervalWrapper;\n }\n adjustSetInterval$1.names = ['adjust-setInterval',\n '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'];\n adjustSetInterval$1.injections = [hit, isValidCallback, toRegExp, getBoostMultiplier, isDelayMatched, logMessage,\n nativeIsNaN, nativeIsFinite, getMatchDelay, shouldMatchAnyDelay];\n function adjustSetTimeout$1(source, matchCallback, matchDelay, boost) {\n var nativeSetTimeout = window.setTimeout;\n var matchRegexp = toRegExp(matchCallback);\n var timeoutWrapper = function timeoutWrapper(callback, delay) {\n if (!isValidCallback(callback)) {\n var message = \"Scriptlet can't be applied because of invalid callback: '\".concat(String(callback), \"'\");\n logMessage(source, message);\n } else if (matchRegexp.test(callback.toString()) && isDelayMatched(matchDelay, delay)) {\n delay *= getBoostMultiplier(boost);\n hit(source);\n }\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return nativeSetTimeout.apply(window, [callback, delay, ...args]);\n };\n window.setTimeout = timeoutWrapper;\n }\n adjustSetTimeout$1.names = ['adjust-setTimeout',\n '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'];\n adjustSetTimeout$1.injections = [hit, isValidCallback, toRegExp, getBoostMultiplier, isDelayMatched, logMessage,\n nativeIsNaN, nativeIsFinite, getMatchDelay, shouldMatchAnyDelay];\n function dirString$1(source, times) {\n var _console = console,\n dir = _console.dir;\n function dirWrapper(object) {\n if (typeof dir === 'function') {\n dir.call(this, object);\n }\n hit(source);\n }\n console.dir = dirWrapper;\n }\n dirString$1.names = ['dir-string'];\n dirString$1.injections = [hit];\n function jsonPrune$1(source, propsToRemove, requiredInitialProps) {\n var stack = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var prunePaths = getPrunePath(propsToRemove);\n var requiredPaths = getPrunePath(requiredInitialProps);\n var nativeObjects = {\n nativeStringify: window.JSON.stringify\n };\n var nativeJSONParse = JSON.parse;\n var jsonParseWrapper = function jsonParseWrapper() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var root = nativeJSONParse.apply(JSON, args);\n return jsonPruner(source, root, prunePaths, requiredPaths, stack, nativeObjects);\n };\n jsonParseWrapper.toString = nativeJSONParse.toString.bind(nativeJSONParse);\n JSON.parse = jsonParseWrapper;\n var nativeResponseJson = Response.prototype.json;\n var responseJsonWrapper = function responseJsonWrapper() {\n var promise = nativeResponseJson.apply(this);\n return promise.then(function (obj) {\n return jsonPruner(source, obj, prunePaths, requiredPaths, stack, nativeObjects);\n });\n };\n if (typeof Response === 'undefined') {\n return;\n }\n Response.prototype.json = responseJsonWrapper;\n }\n jsonPrune$1.names = ['json-prune',\n 'json-prune.js', 'ubo-json-prune.js', 'ubo-json-prune', 'abp-json-prune'];\n jsonPrune$1.injections = [hit, matchStackTrace, getWildcardPropertyInChain, logMessage, isPruningNeeded, jsonPruner, getPrunePath,\n toRegExp, getNativeRegexpTest, shouldAbortInlineOrInjectedScript];\n function preventRequestAnimationFrame$1(source, match) {\n var nativeRequestAnimationFrame = window.requestAnimationFrame;\n var shouldLog = typeof match === 'undefined';\n var _parseMatchArg = parseMatchArg(match),\n isInvertedMatch = _parseMatchArg.isInvertedMatch,\n matchRegexp = _parseMatchArg.matchRegexp;\n var rafWrapper = function rafWrapper(callback) {\n var shouldPrevent = false;\n if (shouldLog) {\n hit(source);\n logMessage(source, \"requestAnimationFrame(\".concat(String(callback), \")\"), true);\n } else if (isValidCallback(callback) && isValidStrPattern(match)) {\n shouldPrevent = matchRegexp.test(callback.toString()) !== isInvertedMatch;\n }\n if (shouldPrevent) {\n hit(source);\n return nativeRequestAnimationFrame(noopFunc);\n }\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n return nativeRequestAnimationFrame.apply(window, [callback, ...args]);\n };\n window.requestAnimationFrame = rafWrapper;\n }\n preventRequestAnimationFrame$1.names = ['prevent-requestAnimationFrame',\n 'no-requestAnimationFrame-if.js', 'ubo-no-requestAnimationFrame-if.js', 'norafif.js', 'ubo-norafif.js', 'ubo-no-requestAnimationFrame-if', 'ubo-norafif'];\n preventRequestAnimationFrame$1.injections = [hit, noopFunc, parseMatchArg, isValidStrPattern, isValidCallback, logMessage,\n escapeRegExp, toRegExp];\n function setCookie$1(source, name, value) {\n var path = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n var domain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var validValue = getLimitedCookieValue(value);\n if (validValue === null) {\n logMessage(source, \"Invalid cookie value: '\".concat(validValue, \"'\"));\n return;\n }\n if (!isValidCookiePath(path)) {\n logMessage(source, \"Invalid cookie path: '\".concat(path, \"'\"));\n return;\n }\n if (!document.location.origin.includes(domain)) {\n logMessage(source, \"Cookie domain not matched by origin: '\".concat(domain, \"'\"));\n return;\n }\n var cookieToSet = serializeCookie(name, validValue, path, domain);\n if (!cookieToSet) {\n logMessage(source, 'Invalid cookie name or value');\n return;\n }\n hit(source);\n document.cookie = cookieToSet;\n }\n setCookie$1.names = ['set-cookie',\n 'set-cookie.js', 'ubo-set-cookie.js', 'ubo-set-cookie'];\n setCookie$1.injections = [hit, logMessage, nativeIsNaN, isCookieSetWithValue, getLimitedCookieValue, serializeCookie, isValidCookiePath, getCookiePath];\n function setCookieReload$1(source, name, value) {\n var path = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '/';\n var domain = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n if (isCookieSetWithValue(document.cookie, name, value)) {\n return;\n }\n var validValue = getLimitedCookieValue(value);\n if (validValue === null) {\n logMessage(source, \"Invalid cookie value: '\".concat(value, \"'\"));\n return;\n }\n if (!isValidCookiePath(path)) {\n logMessage(source, \"Invalid cookie path: '\".concat(path, \"'\"));\n return;\n }\n if (!document.location.origin.includes(domain)) {\n logMessage(source, \"Cookie domain not matched by origin: '\".concat(domain, \"'\"));\n return;\n }\n var cookieToSet = serializeCookie(name, validValue, path, domain);\n if (!cookieToSet) {\n logMessage(source, 'Invalid cookie name or value');\n return;\n }\n document.cookie = cookieToSet;\n hit(source);\n if (isCookieSetWithValue(document.cookie, name, value)) {\n window.location.reload();\n }\n }\n setCookieReload$1.names = ['set-cookie-reload',\n 'set-cookie-reload.js', 'ubo-set-cookie-reload.js', 'ubo-set-cookie-reload'];\n setCookieReload$1.injections = [hit, logMessage, nativeIsNaN, isCookieSetWithValue, getLimitedCookieValue, serializeCookie, isValidCookiePath, getCookiePath];\n function hideInShadowDom$1(source, selector, baseSelector) {\n if (!Element.prototype.attachShadow) {\n return;\n }\n var hideElement = function hideElement(targetElement) {\n var DISPLAY_NONE_CSS = 'display:none!important;';\n targetElement.style.cssText = DISPLAY_NONE_CSS;\n };\n var hideHandler = function hideHandler() {\n var hostElements = !baseSelector ? findHostElements(document.documentElement) : document.querySelectorAll(baseSelector);\n var _loop = function _loop() {\n var isHidden = false;\n var _pierceShadowDom = pierceShadowDom(selector, hostElements),\n targets = _pierceShadowDom.targets,\n innerHosts = _pierceShadowDom.innerHosts;\n targets.forEach(function (targetEl) {\n hideElement(targetEl);\n isHidden = true;\n });\n if (isHidden) {\n hit(source);\n }\n hostElements = innerHosts;\n };\n while (hostElements.length !== 0) {\n _loop();\n }\n };\n hideHandler();\n observeDOMChanges(hideHandler, true);\n }\n hideInShadowDom$1.names = ['hide-in-shadow-dom'];\n hideInShadowDom$1.injections = [hit, observeDOMChanges, findHostElements, pierceShadowDom,\n flatten, throttle];\n function removeInShadowDom$1(source, selector, baseSelector) {\n if (!Element.prototype.attachShadow) {\n return;\n }\n var removeElement = function removeElement(targetElement) {\n targetElement.remove();\n };\n var removeHandler = function removeHandler() {\n var hostElements = !baseSelector ? findHostElements(document.documentElement) : document.querySelectorAll(baseSelector);\n var _loop = function _loop() {\n var isRemoved = false;\n var _pierceShadowDom = pierceShadowDom(selector, hostElements),\n targets = _pierceShadowDom.targets,\n innerHosts = _pierceShadowDom.innerHosts;\n targets.forEach(function (targetEl) {\n removeElement(targetEl);\n isRemoved = true;\n });\n if (isRemoved) {\n hit(source);\n }\n hostElements = innerHosts;\n };\n while (hostElements.length !== 0) {\n _loop();\n }\n };\n removeHandler();\n observeDOMChanges(removeHandler, true);\n }\n removeInShadowDom$1.names = ['remove-in-shadow-dom'];\n removeInShadowDom$1.injections = [hit, observeDOMChanges, findHostElements, pierceShadowDom,\n flatten, throttle];\n function preventFetch$1(source, propsToMatch) {\n var responseBody = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'emptyObj';\n var responseType = arguments.length > 3 ? arguments[3] : undefined;\n if (typeof fetch === 'undefined' || typeof Proxy === 'undefined' || typeof Response === 'undefined') {\n return;\n }\n var nativeRequestClone = Request.prototype.clone;\n var strResponseBody;\n if (responseBody === '' || responseBody === 'emptyObj') {\n strResponseBody = '{}';\n } else if (responseBody === 'emptyArr') {\n strResponseBody = '[]';\n } else if (responseBody === 'emptyStr') {\n strResponseBody = '';\n } else {\n logMessage(source, \"Invalid responseBody parameter: '\".concat(responseBody, \"'\"));\n return;\n }\n var isResponseTypeSpecified = typeof responseType !== 'undefined';\n var isResponseTypeSupported = function isResponseTypeSupported(responseType) {\n var SUPPORTED_TYPES = ['basic', 'cors', 'opaque'];\n return SUPPORTED_TYPES.includes(responseType);\n };\n if (isResponseTypeSpecified && !isResponseTypeSupported(responseType)) {\n logMessage(source, \"Invalid responseType parameter: '\".concat(responseType, \"'\"));\n return;\n }\n var getResponseType = function getResponseType(request) {\n try {\n var mode = request.mode;\n if (mode === undefined || mode === 'cors' || mode === 'no-cors') {\n var fetchURL = new URL(request.url);\n if (fetchURL.origin === document.location.origin) {\n return 'basic';\n }\n return mode === 'no-cors' ? 'opaque' : 'cors';\n }\n } catch (error) {\n logMessage(source, \"Could not determine response type: \".concat(error));\n }\n return undefined;\n };\n var handlerWrapper = async function handlerWrapper(target, thisArg, args) {\n var shouldPrevent = false;\n var fetchData = getFetchData(args, nativeRequestClone);\n if (typeof propsToMatch === 'undefined') {\n logMessage(source, \"fetch( \".concat(objectToString$1(fetchData), \" )\"), true);\n hit(source);\n return Reflect.apply(target, thisArg, args);\n }\n shouldPrevent = matchRequestProps(source, propsToMatch, fetchData);\n if (shouldPrevent) {\n hit(source);\n var finalResponseType;\n try {\n finalResponseType = responseType || getResponseType(fetchData);\n var origResponse = await Reflect.apply(target, thisArg, args);\n if (!origResponse.ok) {\n return noopPromiseResolve(strResponseBody, fetchData.url, finalResponseType);\n }\n return modifyResponse(origResponse, {\n body: strResponseBody,\n type: finalResponseType\n });\n } catch (ex) {\n return noopPromiseResolve(strResponseBody, fetchData.url, finalResponseType);\n }\n }\n return Reflect.apply(target, thisArg, args);\n };\n var fetchHandler = {\n apply: handlerWrapper\n };\n fetch = new Proxy(fetch, fetchHandler);\n }\n preventFetch$1.names = ['prevent-fetch',\n 'no-fetch-if.js', 'ubo-no-fetch-if.js', 'ubo-no-fetch-if'];\n preventFetch$1.injections = [hit, getFetchData, objectToString$1, matchRequestProps, logMessage, noopPromiseResolve, modifyResponse, toRegExp, isValidStrPattern, escapeRegExp, isEmptyObject, getRequestData, getRequestProps, parseMatchProps, isValidParsedData, getMatchPropsData];\n function setLocalStorageItem$1(source, key, value) {\n if (typeof key === 'undefined') {\n logMessage(source, 'Item key should be specified.');\n return;\n }\n var validValue;\n try {\n validValue = getLimitedStorageItemValue(value);\n } catch (_unused) {\n logMessage(source, \"Invalid storage item value: '\".concat(value, \"'\"));\n return;\n }\n var _window = window,\n localStorage = _window.localStorage;\n if (validValue === '$remove$') {\n removeStorageItem(source, localStorage, key);\n } else {\n setStorageItem(source, localStorage, key, validValue);\n }\n hit(source);\n }\n setLocalStorageItem$1.names = ['set-local-storage-item',\n 'set-local-storage-item.js', 'ubo-set-local-storage-item.js', 'ubo-set-local-storage-item'];\n setLocalStorageItem$1.injections = [hit, logMessage, nativeIsNaN, setStorageItem, removeStorageItem, getLimitedStorageItemValue,\n isValidStrPattern, toRegExp, escapeRegExp];\n function setSessionStorageItem$1(source, key, value) {\n if (typeof key === 'undefined') {\n logMessage(source, 'Item key should be specified.');\n return;\n }\n var validValue;\n try {\n validValue = getLimitedStorageItemValue(value);\n } catch (_unused) {\n logMessage(source, \"Invalid storage item value: '\".concat(value, \"'\"));\n return;\n }\n var _window = window,\n sessionStorage = _window.sessionStorage;\n if (validValue === '$remove$') {\n removeStorageItem(source, sessionStorage, key);\n } else {\n setStorageItem(source, sessionStorage, key, validValue);\n }\n hit(source);\n }\n setSessionStorageItem$1.names = ['set-session-storage-item',\n 'set-session-storage-item.js', 'ubo-set-session-storage-item.js', 'ubo-set-session-storage-item'];\n setSessionStorageItem$1.injections = [hit, logMessage, nativeIsNaN, setStorageItem, removeStorageItem, getLimitedStorageItemValue,\n isValidStrPattern, toRegExp, escapeRegExp];\n function abortOnStackTrace$1(source, property, stack) {\n if (!property || !stack) {\n return;\n }\n var rid = randomId();\n var abort = function abort() {\n hit(source);\n throw new ReferenceError(rid);\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n if (!stack.match(/^(inlineScript|injectedScript)$/) && !isValidStrPattern(stack)) {\n logMessage(source, \"Invalid parameter: \".concat(stack));\n return;\n }\n var descriptorWrapper = Object.assign(getDescriptorAddon(), {\n value: base[prop],\n get() {\n if (!this.isAbortingSuspended && this.isolateCallback(matchStackTrace, stack, new Error().stack)) {\n abort();\n }\n return this.value;\n },\n set(newValue) {\n if (!this.isAbortingSuspended && this.isolateCallback(matchStackTrace, stack, new Error().stack)) {\n abort();\n }\n this.value = newValue;\n }\n });\n setPropertyAccess(base, prop, {\n get() {\n return descriptorWrapper.get.call(descriptorWrapper);\n },\n set(newValue) {\n descriptorWrapper.set.call(descriptorWrapper, newValue);\n }\n });\n };\n setChainPropAccess(window, property);\n window.onerror = createOnErrorHandler(rid).bind();\n }\n abortOnStackTrace$1.names = ['abort-on-stack-trace',\n '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'];\n abortOnStackTrace$1.injections = [randomId, setPropertyAccess, getPropertyInChain, createOnErrorHandler, hit, isValidStrPattern, escapeRegExp, matchStackTrace, getDescriptorAddon, logMessage, toRegExp, isEmptyObject, getNativeRegexpTest, shouldAbortInlineOrInjectedScript];\n function logOnStacktrace$1(source, property) {\n if (!property) {\n return;\n }\n var refineStackTrace = function refineStackTrace(stackString) {\n var stackSteps = stackString.split('\\n').slice(2).map(function (line) {\n return line.replace(/ {4}at /, '');\n });\n var logInfoArray = stackSteps.map(function (line) {\n var funcName;\n var funcFullPath;\n var reg = /\\(([^\\)]+)\\)/;\n var regFirefox = /(.*?@)(\\S+)(:\\d+):\\d+\\)?$/;\n if (line.match(reg)) {\n funcName = line.split(' ').slice(0, -1).join(' ');\n funcFullPath = line.match(reg)[1];\n } else if (line.match(regFirefox)) {\n funcName = line.split('@').slice(0, -1).join(' ');\n funcFullPath = line.match(regFirefox)[2];\n } else {\n funcName = 'function name is not available';\n funcFullPath = line;\n }\n return [funcName, funcFullPath];\n });\n var logInfoObject = {};\n logInfoArray.forEach(function (pair) {\n logInfoObject[pair[0]] = pair[1];\n });\n return logInfoObject;\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n if (chain) {\n var setter = function setter(a) {\n base = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n };\n Object.defineProperty(owner, prop, {\n get: function get() {\n return base;\n },\n set: setter\n });\n return;\n }\n var value = base[prop];\n setPropertyAccess(base, prop, {\n get() {\n hit(source);\n logMessage(source, \"Get \".concat(prop), true);\n console.table(refineStackTrace(new Error().stack));\n return value;\n },\n set(newValue) {\n hit(source);\n logMessage(source, \"Set \".concat(prop), true);\n console.table(refineStackTrace(new Error().stack));\n value = newValue;\n }\n });\n };\n setChainPropAccess(window, property);\n }\n logOnStacktrace$1.names = ['log-on-stack-trace'];\n logOnStacktrace$1.injections = [getPropertyInChain, setPropertyAccess, hit, logMessage, isEmptyObject];\n function preventXHR$1(source, propsToMatch, customResponseText) {\n if (typeof Proxy === 'undefined') {\n return;\n }\n var nativeOpen = window.XMLHttpRequest.prototype.open;\n var nativeSend = window.XMLHttpRequest.prototype.send;\n var nativeGetResponseHeader = window.XMLHttpRequest.prototype.getResponseHeader;\n var nativeGetAllResponseHeaders = window.XMLHttpRequest.prototype.getAllResponseHeaders;\n var xhrData;\n var modifiedResponse = '';\n var modifiedResponseText = '';\n var openWrapper = function openWrapper(target, thisArg, args) {\n xhrData = getXhrData.apply(null, args);\n if (typeof propsToMatch === 'undefined') {\n logMessage(source, \"xhr( \".concat(objectToString$1(xhrData), \" )\"), true);\n hit(source);\n } else if (matchRequestProps(source, propsToMatch, xhrData)) {\n thisArg.shouldBePrevented = true;\n thisArg.xhrData = xhrData;\n }\n if (thisArg.shouldBePrevented) {\n thisArg.collectedHeaders = [];\n var setRequestHeaderWrapper = function setRequestHeaderWrapper(target, thisArg, args) {\n thisArg.collectedHeaders.push(args);\n return Reflect.apply(target, thisArg, args);\n };\n var setRequestHeaderHandler = {\n apply: setRequestHeaderWrapper\n };\n thisArg.setRequestHeader = new Proxy(thisArg.setRequestHeader, setRequestHeaderHandler);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var sendWrapper = function sendWrapper(target, thisArg, args) {\n if (!thisArg.shouldBePrevented) {\n return Reflect.apply(target, thisArg, args);\n }\n if (thisArg.responseType === 'blob') {\n modifiedResponse = new Blob();\n }\n if (thisArg.responseType === 'arraybuffer') {\n modifiedResponse = new ArrayBuffer();\n }\n if (customResponseText) {\n var randomText = generateRandomResponse(customResponseText);\n if (randomText) {\n modifiedResponseText = randomText;\n } else {\n logMessage(source, \"Invalid randomize parameter: '\".concat(customResponseText, \"'\"));\n }\n }\n var forgedRequest = new XMLHttpRequest();\n forgedRequest.addEventListener('readystatechange', function () {\n if (forgedRequest.readyState !== 4) {\n return;\n }\n var readyState = forgedRequest.readyState,\n responseURL = forgedRequest.responseURL,\n responseXML = forgedRequest.responseXML,\n statusText = forgedRequest.statusText;\n Object.defineProperties(thisArg, {\n readyState: {\n value: readyState,\n writable: false\n },\n statusText: {\n value: statusText,\n writable: false\n },\n responseURL: {\n value: responseURL || thisArg.xhrData.url,\n writable: false\n },\n responseXML: {\n value: responseXML,\n writable: false\n },\n status: {\n value: 200,\n writable: false\n },\n response: {\n value: modifiedResponse,\n writable: false\n },\n responseText: {\n value: modifiedResponseText,\n writable: false\n }\n });\n setTimeout(function () {\n var stateEvent = new Event('readystatechange');\n thisArg.dispatchEvent(stateEvent);\n var loadEvent = new Event('load');\n thisArg.dispatchEvent(loadEvent);\n var loadEndEvent = new Event('loadend');\n thisArg.dispatchEvent(loadEndEvent);\n }, 1);\n hit(source);\n });\n nativeOpen.apply(forgedRequest, [thisArg.xhrData.method, thisArg.xhrData.url]);\n thisArg.collectedHeaders.forEach(function (header) {\n var name = header[0];\n var value = header[1];\n forgedRequest.setRequestHeader(name, value);\n });\n try {\n nativeSend.call(forgedRequest, args);\n } catch (_unused) {\n return Reflect.apply(target, thisArg, args);\n }\n return undefined;\n };\n var getHeaderWrapper = function getHeaderWrapper(target, thisArg, args) {\n if (!thisArg.shouldBePrevented) {\n return nativeGetResponseHeader.apply(thisArg, args);\n }\n if (!thisArg.collectedHeaders.length) {\n return null;\n }\n var searchHeaderName = args[0].toLowerCase();\n var matchedHeader = thisArg.collectedHeaders.find(function (header) {\n var headerName = header[0].toLowerCase();\n return headerName === searchHeaderName;\n });\n return matchedHeader ? matchedHeader[1] : null;\n };\n var getAllHeadersWrapper = function getAllHeadersWrapper(target, thisArg) {\n if (!thisArg.shouldBePrevented) {\n return nativeGetAllResponseHeaders.call(thisArg);\n }\n if (!thisArg.collectedHeaders.length) {\n return '';\n }\n var allHeadersStr = thisArg.collectedHeaders.map(function (header) {\n var headerName = header[0];\n var headerValue = header[1];\n return \"\".concat(headerName.toLowerCase(), \": \").concat(headerValue);\n }).join('\\r\\n');\n return allHeadersStr;\n };\n var openHandler = {\n apply: openWrapper\n };\n var sendHandler = {\n apply: sendWrapper\n };\n var getHeaderHandler = {\n apply: getHeaderWrapper\n };\n var getAllHeadersHandler = {\n apply: getAllHeadersWrapper\n };\n XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, openHandler);\n XMLHttpRequest.prototype.send = new Proxy(XMLHttpRequest.prototype.send, sendHandler);\n XMLHttpRequest.prototype.getResponseHeader = new Proxy(XMLHttpRequest.prototype.getResponseHeader, getHeaderHandler);\n XMLHttpRequest.prototype.getAllResponseHeaders = new Proxy(XMLHttpRequest.prototype.getAllResponseHeaders, getAllHeadersHandler);\n }\n preventXHR$1.names = ['prevent-xhr',\n 'no-xhr-if.js', 'ubo-no-xhr-if.js', 'ubo-no-xhr-if'];\n preventXHR$1.injections = [hit, objectToString$1, generateRandomResponse, matchRequestProps, getXhrData, logMessage, toRegExp, isValidStrPattern, escapeRegExp, isEmptyObject, getNumberFromString, nativeIsFinite, nativeIsNaN, parseMatchProps, isValidParsedData, getMatchPropsData, getRequestProps, getRandomIntInclusive, getRandomStrByLength];\n function forceWindowClose$1(source) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n if (typeof window.close !== 'function') {\n var message = 'window.close() is not a function so \\'close-window\\' scriptlet is unavailable';\n logMessage(source, message);\n return;\n }\n var closeImmediately = function closeImmediately() {\n try {\n hit(source);\n window.close();\n } catch (e) {\n logMessage(source, e);\n }\n };\n var closeByExtension = function closeByExtension() {\n var extCall = function extCall() {\n dispatchEvent(new Event('adguard:scriptlet-close-window'));\n };\n window.addEventListener('adguard:subscribed-to-close-window', extCall, {\n once: true\n });\n setTimeout(function () {\n window.removeEventListener('adguard:subscribed-to-close-window', extCall, {\n once: true\n });\n }, 5000);\n };\n var shouldClose = function shouldClose() {\n if (path === '') {\n return true;\n }\n var pathRegexp = toRegExp(path);\n var currentPath = \"\".concat(window.location.pathname).concat(window.location.search);\n return pathRegexp.test(currentPath);\n };\n if (shouldClose()) {\n closeImmediately();\n if (navigator.userAgent.includes('Chrome')) {\n closeByExtension();\n }\n }\n }\n forceWindowClose$1.names = ['close-window',\n 'window-close-if.js', 'ubo-window-close-if.js', 'ubo-window-close-if', 'close-window.js', 'ubo-close-window.js', 'ubo-close-window'];\n forceWindowClose$1.injections = [hit, toRegExp, logMessage];\n function preventRefresh$1(source, delaySec) {\n var getMetaElements = function getMetaElements() {\n var metaNodes = [];\n try {\n metaNodes = document.querySelectorAll('meta[http-equiv=\"refresh\" i][content]');\n } catch (e) {\n try {\n metaNodes = document.querySelectorAll('meta[http-equiv=\"refresh\"][content]');\n } catch (e) {\n logMessage(source, e);\n }\n }\n return Array.from(metaNodes);\n };\n var getMetaContentDelay = function getMetaContentDelay(metaElements) {\n var delays = metaElements.map(function (meta) {\n var contentString = meta.getAttribute('content');\n if (contentString.length === 0) {\n return null;\n }\n var contentDelay;\n var limiterIndex = contentString.indexOf(';');\n if (limiterIndex !== -1) {\n var delaySubstring = contentString.substring(0, limiterIndex);\n contentDelay = getNumberFromString(delaySubstring);\n } else {\n contentDelay = getNumberFromString(contentString);\n }\n return contentDelay;\n }).filter(function (delay) {\n return delay !== null;\n });\n if (!delays.length) {\n return null;\n }\n var minDelay = delays.reduce(function (a, b) {\n return Math.min(a, b);\n });\n return minDelay;\n };\n var stop = function stop() {\n var metaElements = getMetaElements();\n if (metaElements.length === 0) {\n return;\n }\n var secondsToRun = getNumberFromString(delaySec);\n if (secondsToRun === null) {\n secondsToRun = getMetaContentDelay(metaElements);\n }\n if (secondsToRun === null) {\n return;\n }\n var delayMs = secondsToRun * 1000;\n setTimeout(function () {\n window.stop();\n hit(source);\n }, delayMs);\n };\n if (document.readyState === 'loading') {\n document.addEventListener('DOMContentLoaded', stop, {\n once: true\n });\n } else {\n stop();\n }\n }\n preventRefresh$1.names = ['prevent-refresh',\n 'prevent-refresh.js', 'refresh-defuser.js', 'refresh-defuser',\n 'ubo-prevent-refresh.js', 'ubo-prevent-refresh', 'ubo-refresh-defuser.js', 'ubo-refresh-defuser'];\n preventRefresh$1.injections = [hit, getNumberFromString, logMessage, nativeIsNaN];\n function preventElementSrcLoading$1(source, tagName, match) {\n if (typeof Proxy === 'undefined' || typeof Reflect === 'undefined') {\n return;\n }\n var srcMockData = {\n script: 'data:text/javascript;base64,KCk9Pnt9',\n img: 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==',\n iframe: 'data:text/html;base64, PGRpdj48L2Rpdj4=',\n link: 'data:text/plain;base64,'\n };\n var instance;\n if (tagName === 'script') {\n instance = HTMLScriptElement;\n } else if (tagName === 'img') {\n instance = HTMLImageElement;\n } else if (tagName === 'iframe') {\n instance = HTMLIFrameElement;\n } else if (tagName === 'link') {\n instance = HTMLLinkElement;\n } else {\n return;\n }\n var hasTrustedTypes = window.trustedTypes && typeof window.trustedTypes.createPolicy === 'function';\n var policy;\n if (hasTrustedTypes) {\n policy = window.trustedTypes.createPolicy('AGPolicy', {\n createScriptURL: function createScriptURL(arg) {\n return arg;\n }\n });\n }\n var SOURCE_PROPERTY_NAME = tagName === 'link' ? 'href' : 'src';\n var ONERROR_PROPERTY_NAME = 'onerror';\n var searchRegexp = toRegExp(match);\n var setMatchedAttribute = function setMatchedAttribute(elem) {\n return elem.setAttribute(source.name, 'matched');\n };\n var setAttributeWrapper = function setAttributeWrapper(target, thisArg, args) {\n if (!args[0] || !args[1]) {\n return Reflect.apply(target, thisArg, args);\n }\n var nodeName = thisArg.nodeName.toLowerCase();\n var attrName = args[0].toLowerCase();\n var attrValue = args[1];\n var isMatched = attrName === SOURCE_PROPERTY_NAME && tagName.toLowerCase() === nodeName && srcMockData[nodeName] && searchRegexp.test(attrValue);\n if (!isMatched) {\n return Reflect.apply(target, thisArg, args);\n }\n hit(source);\n setMatchedAttribute(thisArg);\n return Reflect.apply(target, thisArg, [attrName, srcMockData[nodeName]]);\n };\n var setAttributeHandler = {\n apply: setAttributeWrapper\n };\n instance.prototype.setAttribute = new Proxy(Element.prototype.setAttribute, setAttributeHandler);\n var origSrcDescriptor = safeGetDescriptor(instance.prototype, SOURCE_PROPERTY_NAME);\n if (!origSrcDescriptor) {\n return;\n }\n Object.defineProperty(instance.prototype, SOURCE_PROPERTY_NAME, {\n enumerable: true,\n configurable: true,\n get() {\n return origSrcDescriptor.get.call(this);\n },\n set(urlValue) {\n var nodeName = this.nodeName.toLowerCase();\n var isMatched = tagName.toLowerCase() === nodeName && srcMockData[nodeName] && searchRegexp.test(urlValue);\n if (!isMatched) {\n origSrcDescriptor.set.call(this, urlValue);\n return true;\n }\n if (policy && urlValue instanceof TrustedScriptURL) {\n var trustedSrc = policy.createScriptURL(urlValue);\n origSrcDescriptor.set.call(this, trustedSrc);\n hit(source);\n return;\n }\n setMatchedAttribute(this);\n origSrcDescriptor.set.call(this, srcMockData[nodeName]);\n hit(source);\n }\n });\n var origOnerrorDescriptor = safeGetDescriptor(HTMLElement.prototype, ONERROR_PROPERTY_NAME);\n if (!origOnerrorDescriptor) {\n return;\n }\n Object.defineProperty(HTMLElement.prototype, ONERROR_PROPERTY_NAME, {\n enumerable: true,\n configurable: true,\n get() {\n return origOnerrorDescriptor.get.call(this);\n },\n set(cb) {\n var isMatched = this.getAttribute(source.name) === 'matched';\n if (!isMatched) {\n origOnerrorDescriptor.set.call(this, cb);\n return true;\n }\n origOnerrorDescriptor.set.call(this, noopFunc);\n return true;\n }\n });\n var addEventListenerWrapper = function addEventListenerWrapper(target, thisArg, args) {\n if (!args[0] || !args[1] || !thisArg) {\n return Reflect.apply(target, thisArg, args);\n }\n var eventName = args[0];\n var isMatched = typeof thisArg.getAttribute === 'function' && thisArg.getAttribute(source.name) === 'matched' && eventName === 'error';\n if (isMatched) {\n return Reflect.apply(target, thisArg, [eventName, noopFunc]);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var addEventListenerHandler = {\n apply: addEventListenerWrapper\n };\n EventTarget.prototype.addEventListener = new Proxy(EventTarget.prototype.addEventListener, addEventListenerHandler);\n var preventInlineOnerror = function preventInlineOnerror(tagName, src) {\n window.addEventListener('error', function (event) {\n if (!event.target || !event.target.nodeName || event.target.nodeName.toLowerCase() !== tagName || !event.target.src || !src.test(event.target.src)) {\n return;\n }\n hit(source);\n if (typeof event.target.onload === 'function') {\n event.target.onerror = event.target.onload;\n return;\n }\n event.target.onerror = noopFunc;\n }, true);\n };\n preventInlineOnerror(tagName, searchRegexp);\n }\n preventElementSrcLoading$1.names = ['prevent-element-src-loading'];\n preventElementSrcLoading$1.injections = [hit, toRegExp, safeGetDescriptor, noopFunc];\n function noTopics$1(source) {\n var TOPICS_PROPERTY_NAME = 'browsingTopics';\n if (Document instanceof Object === false) {\n return;\n }\n if (!Object.prototype.hasOwnProperty.call(Document.prototype, TOPICS_PROPERTY_NAME) || Document.prototype[TOPICS_PROPERTY_NAME] instanceof Function === false) {\n return;\n }\n Document.prototype[TOPICS_PROPERTY_NAME] = function () {\n return noopPromiseResolve('[]');\n };\n hit(source);\n }\n noTopics$1.names = ['no-topics'];\n noTopics$1.injections = [hit, noopPromiseResolve];\n function trustedReplaceXhrResponse$1(source) {\n var pattern = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var replacement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var propsToMatch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n if (typeof Proxy === 'undefined') {\n return;\n }\n if (pattern === '' && replacement !== '') {\n var message = 'Pattern argument should not be empty string.';\n logMessage(source, message);\n return;\n }\n var shouldLog = pattern === '' && replacement === '';\n var nativeOpen = window.XMLHttpRequest.prototype.open;\n var nativeSend = window.XMLHttpRequest.prototype.send;\n var xhrData;\n var openWrapper = function openWrapper(target, thisArg, args) {\n xhrData = getXhrData.apply(null, args);\n if (shouldLog) {\n var _message = \"xhr( \".concat(objectToString$1(xhrData), \" )\");\n logMessage(source, _message, true);\n hit(source);\n return Reflect.apply(target, thisArg, args);\n }\n if (matchRequestProps(source, propsToMatch, xhrData)) {\n thisArg.shouldBePrevented = true;\n thisArg.headersReceived = !!thisArg.headersReceived;\n }\n if (thisArg.shouldBePrevented && !thisArg.headersReceived) {\n thisArg.headersReceived = true;\n thisArg.collectedHeaders = [];\n var setRequestHeaderWrapper = function setRequestHeaderWrapper(target, thisArg, args) {\n thisArg.collectedHeaders.push(args);\n return Reflect.apply(target, thisArg, args);\n };\n var setRequestHeaderHandler = {\n apply: setRequestHeaderWrapper\n };\n thisArg.setRequestHeader = new Proxy(thisArg.setRequestHeader, setRequestHeaderHandler);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var sendWrapper = function sendWrapper(target, thisArg, args) {\n if (!thisArg.shouldBePrevented) {\n return Reflect.apply(target, thisArg, args);\n }\n var forgedRequest = new XMLHttpRequest();\n forgedRequest.addEventListener('readystatechange', function () {\n if (forgedRequest.readyState !== 4) {\n return;\n }\n var readyState = forgedRequest.readyState,\n response = forgedRequest.response,\n responseText = forgedRequest.responseText,\n responseURL = forgedRequest.responseURL,\n responseXML = forgedRequest.responseXML,\n status = forgedRequest.status,\n statusText = forgedRequest.statusText;\n var content = responseText || response;\n if (typeof content !== 'string') {\n return;\n }\n var patternRegexp = pattern === '*' ? /(\\n|.)*/ : toRegExp(pattern);\n var modifiedContent = content.replace(patternRegexp, replacement);\n Object.defineProperties(thisArg, {\n readyState: {\n value: readyState,\n writable: false\n },\n responseURL: {\n value: responseURL,\n writable: false\n },\n responseXML: {\n value: responseXML,\n writable: false\n },\n status: {\n value: status,\n writable: false\n },\n statusText: {\n value: statusText,\n writable: false\n },\n response: {\n value: modifiedContent,\n writable: false\n },\n responseText: {\n value: modifiedContent,\n writable: false\n }\n });\n setTimeout(function () {\n var stateEvent = new Event('readystatechange');\n thisArg.dispatchEvent(stateEvent);\n var loadEvent = new Event('load');\n thisArg.dispatchEvent(loadEvent);\n var loadEndEvent = new Event('loadend');\n thisArg.dispatchEvent(loadEndEvent);\n }, 1);\n hit(source);\n });\n nativeOpen.apply(forgedRequest, [xhrData.method, xhrData.url]);\n thisArg.collectedHeaders.forEach(function (header) {\n var name = header[0];\n var value = header[1];\n forgedRequest.setRequestHeader(name, value);\n });\n thisArg.collectedHeaders = [];\n try {\n nativeSend.call(forgedRequest, args);\n } catch (_unused) {\n return Reflect.apply(target, thisArg, args);\n }\n return undefined;\n };\n var openHandler = {\n apply: openWrapper\n };\n var sendHandler = {\n apply: sendWrapper\n };\n XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, openHandler);\n XMLHttpRequest.prototype.send = new Proxy(XMLHttpRequest.prototype.send, sendHandler);\n }\n trustedReplaceXhrResponse$1.names = ['trusted-replace-xhr-response'\n ];\n trustedReplaceXhrResponse$1.injections = [hit, logMessage, toRegExp, objectToString$1, matchRequestProps, getXhrData, getMatchPropsData, getRequestProps, isValidParsedData, parseMatchProps, isValidStrPattern, escapeRegExp, isEmptyObject];\n function xmlPrune$1(source, propsToRemove) {\n var optionalProp = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var urlToMatch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n if (typeof Reflect === 'undefined' || typeof fetch === 'undefined' || typeof Proxy === 'undefined' || typeof Response === 'undefined') {\n return;\n }\n var shouldPruneResponse = false;\n var urlMatchRegexp = toRegExp(urlToMatch);\n var XPATH_MARKER = 'xpath(';\n var isXpath = propsToRemove && propsToRemove.startsWith(XPATH_MARKER);\n var getXPathElements = function getXPathElements(contextNode) {\n var matchedElements = [];\n try {\n var elementsToRemove = propsToRemove.slice(XPATH_MARKER.length, -1);\n var xpathResult = contextNode.evaluate(elementsToRemove, contextNode, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);\n for (var i = 0; i < xpathResult.snapshotLength; i += 1) {\n matchedElements.push(xpathResult.snapshotItem(i));\n }\n } catch (ex) {\n var message = \"Invalid XPath parameter: \".concat(propsToRemove, \"\\n\").concat(ex);\n logMessage(source, message);\n }\n return matchedElements;\n };\n var xPathPruning = function xPathPruning(xPathElements) {\n xPathElements.forEach(function (element) {\n if (element.nodeType === 1) {\n element.remove();\n } else if (element.nodeType === 2) {\n element.ownerElement.removeAttribute(element.nodeName);\n }\n });\n };\n var isXML = function isXML(text) {\n if (typeof text === 'string') {\n var trimmedText = text.trim();\n if (trimmedText.startsWith('<') && trimmedText.endsWith('>')) {\n return true;\n }\n }\n return false;\n };\n var createXMLDocument = function createXMLDocument(text) {\n var xmlParser = new DOMParser();\n var xmlDocument = xmlParser.parseFromString(text, 'text/xml');\n return xmlDocument;\n };\n var isPruningNeeded = function isPruningNeeded(response, propsToRemove) {\n if (!isXML(response)) {\n return false;\n }\n var docXML = createXMLDocument(response);\n return isXpath ? getXPathElements(docXML) : !!docXML.querySelector(propsToRemove);\n };\n var pruneXML = function pruneXML(text) {\n if (!isXML(text)) {\n shouldPruneResponse = false;\n return text;\n }\n var xmlDoc = createXMLDocument(text);\n var errorNode = xmlDoc.querySelector('parsererror');\n if (errorNode) {\n return text;\n }\n if (optionalProp !== '' && xmlDoc.querySelector(optionalProp) === null) {\n shouldPruneResponse = false;\n return text;\n }\n var elements = isXpath ? getXPathElements(xmlDoc) : xmlDoc.querySelectorAll(propsToRemove);\n if (!elements.length) {\n shouldPruneResponse = false;\n return text;\n }\n if (isXpath) {\n xPathPruning(elements);\n } else {\n elements.forEach(function (elem) {\n elem.remove();\n });\n }\n var serializer = new XMLSerializer();\n text = serializer.serializeToString(xmlDoc);\n return text;\n };\n var nativeOpen = window.XMLHttpRequest.prototype.open;\n var nativeSend = window.XMLHttpRequest.prototype.send;\n var xhrData;\n var openWrapper = function openWrapper(target, thisArg, args) {\n xhrData = getXhrData.apply(null, args);\n if (matchRequestProps(source, urlToMatch, xhrData)) {\n thisArg.shouldBePruned = true;\n }\n if (thisArg.shouldBePruned) {\n thisArg.collectedHeaders = [];\n var setRequestHeaderWrapper = function setRequestHeaderWrapper(target, thisArg, args) {\n thisArg.collectedHeaders.push(args);\n return Reflect.apply(target, thisArg, args);\n };\n var setRequestHeaderHandler = {\n apply: setRequestHeaderWrapper\n };\n thisArg.setRequestHeader = new Proxy(thisArg.setRequestHeader, setRequestHeaderHandler);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var sendWrapper = function sendWrapper(target, thisArg, args) {\n var allowedResponseTypeValues = ['', 'text'];\n if (!thisArg.shouldBePruned || !allowedResponseTypeValues.includes(thisArg.responseType)) {\n return Reflect.apply(target, thisArg, args);\n }\n var forgedRequest = new XMLHttpRequest();\n forgedRequest.addEventListener('readystatechange', function () {\n if (forgedRequest.readyState !== 4) {\n return;\n }\n var readyState = forgedRequest.readyState,\n response = forgedRequest.response,\n responseText = forgedRequest.responseText,\n responseURL = forgedRequest.responseURL,\n responseXML = forgedRequest.responseXML,\n status = forgedRequest.status,\n statusText = forgedRequest.statusText;\n var content = responseText || response;\n if (typeof content !== 'string') {\n return;\n }\n if (!propsToRemove) {\n if (isXML(response)) {\n var message = \"XMLHttpRequest.open() URL: \".concat(responseURL, \"\\nresponse: \").concat(response);\n logMessage(source, message);\n logMessage(source, createXMLDocument(response), true, false);\n }\n } else {\n shouldPruneResponse = isPruningNeeded(response, propsToRemove);\n }\n var responseContent = shouldPruneResponse ? pruneXML(response) : response;\n Object.defineProperties(thisArg, {\n readyState: {\n value: readyState,\n writable: false\n },\n responseURL: {\n value: responseURL,\n writable: false\n },\n responseXML: {\n value: responseXML,\n writable: false\n },\n status: {\n value: status,\n writable: false\n },\n statusText: {\n value: statusText,\n writable: false\n },\n response: {\n value: responseContent,\n writable: false\n },\n responseText: {\n value: responseContent,\n writable: false\n }\n });\n setTimeout(function () {\n var stateEvent = new Event('readystatechange');\n thisArg.dispatchEvent(stateEvent);\n var loadEvent = new Event('load');\n thisArg.dispatchEvent(loadEvent);\n var loadEndEvent = new Event('loadend');\n thisArg.dispatchEvent(loadEndEvent);\n }, 1);\n hit(source);\n });\n nativeOpen.apply(forgedRequest, [xhrData.method, xhrData.url]);\n thisArg.collectedHeaders.forEach(function (header) {\n var name = header[0];\n var value = header[1];\n forgedRequest.setRequestHeader(name, value);\n });\n thisArg.collectedHeaders = [];\n try {\n nativeSend.call(forgedRequest, args);\n } catch (_unused) {\n return Reflect.apply(target, thisArg, args);\n }\n return undefined;\n };\n var openHandler = {\n apply: openWrapper\n };\n var sendHandler = {\n apply: sendWrapper\n };\n XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, openHandler);\n XMLHttpRequest.prototype.send = new Proxy(XMLHttpRequest.prototype.send, sendHandler);\n var nativeFetch = window.fetch;\n var fetchWrapper = async function fetchWrapper(target, thisArg, args) {\n var fetchURL = args[0] instanceof Request ? args[0].url : args[0];\n if (typeof fetchURL !== 'string' || fetchURL.length === 0) {\n return Reflect.apply(target, thisArg, args);\n }\n if (urlMatchRegexp.test(fetchURL)) {\n var response = await nativeFetch(...args);\n var clonedResponse = response.clone();\n var responseText = await response.text();\n shouldPruneResponse = isPruningNeeded(responseText, propsToRemove);\n if (!shouldPruneResponse) {\n var message = \"fetch URL: \".concat(fetchURL, \"\\nresponse text: \").concat(responseText);\n logMessage(source, message);\n logMessage(source, createXMLDocument(responseText), true, false);\n return clonedResponse;\n }\n var prunedText = pruneXML(responseText);\n if (shouldPruneResponse) {\n hit(source);\n return new Response(prunedText, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers\n });\n }\n return clonedResponse;\n }\n return Reflect.apply(target, thisArg, args);\n };\n var fetchHandler = {\n apply: fetchWrapper\n };\n window.fetch = new Proxy(window.fetch, fetchHandler);\n }\n xmlPrune$1.names = ['xml-prune',\n 'xml-prune.js', 'ubo-xml-prune.js', 'ubo-xml-prune'];\n xmlPrune$1.injections = [hit, logMessage, toRegExp, getXhrData, objectToString$1, matchRequestProps, getMatchPropsData, getRequestProps, isValidParsedData, parseMatchProps, isValidStrPattern, escapeRegExp, isEmptyObject];\n function m3uPrune$1(source, propsToRemove) {\n var urlToMatch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n if (typeof Reflect === 'undefined' || typeof fetch === 'undefined' || typeof Proxy === 'undefined' || typeof Response === 'undefined') {\n return;\n }\n var shouldPruneResponse = false;\n var urlMatchRegexp = toRegExp(urlToMatch);\n var SEGMENT_MARKER = '#';\n var AD_MARKER = {\n ASSET: '#EXT-X-ASSET:',\n CUE: '#EXT-X-CUE:',\n CUE_IN: '#EXT-X-CUE-IN',\n DISCONTINUITY: '#EXT-X-DISCONTINUITY',\n EXTINF: '#EXTINF',\n EXTM3U: '#EXTM3U',\n SCTE35: '#EXT-X-SCTE35:'\n };\n var COMCAST_AD_MARKER = {\n AD: '-AD-',\n VAST: '-VAST-',\n VMAP_AD: '-VMAP-AD-',\n VMAP_AD_BREAK: '#EXT-X-VMAP-AD-BREAK:'\n };\n var TAGS_ALLOWLIST = ['#EXT-X-TARGETDURATION', '#EXT-X-MEDIA-SEQUENCE', '#EXT-X-DISCONTINUITY-SEQUENCE', '#EXT-X-ENDLIST', '#EXT-X-PLAYLIST-TYPE', '#EXT-X-I-FRAMES-ONLY', '#EXT-X-MEDIA', '#EXT-X-STREAM-INF', '#EXT-X-I-FRAME-STREAM-INF', '#EXT-X-SESSION-DATA', '#EXT-X-SESSION-KEY', '#EXT-X-INDEPENDENT-SEGMENTS', '#EXT-X-START'];\n var isAllowedTag = function isAllowedTag(str) {\n return TAGS_ALLOWLIST.some(function (el) {\n return str.startsWith(el);\n });\n };\n var pruneExtinfFromVmapBlock = function pruneExtinfFromVmapBlock(lines, i) {\n var array = lines.slice();\n var index = i;\n if (array[index].includes(AD_MARKER.EXTINF)) {\n array[index] = undefined;\n index += 1;\n if (array[index].includes(AD_MARKER.DISCONTINUITY)) {\n array[index] = undefined;\n index += 1;\n var prunedExtinf = pruneExtinfFromVmapBlock(array, index);\n array = prunedExtinf.array;\n index = prunedExtinf.index;\n }\n }\n return {\n array,\n index\n };\n };\n var pruneVmapBlock = function pruneVmapBlock(lines) {\n var array = lines.slice();\n for (var i = 0; i < array.length - 1; i += 1) {\n if (array[i].includes(COMCAST_AD_MARKER.VMAP_AD) || array[i].includes(COMCAST_AD_MARKER.VAST) || array[i].includes(COMCAST_AD_MARKER.AD)) {\n array[i] = undefined;\n if (array[i + 1].includes(AD_MARKER.EXTINF)) {\n i += 1;\n var prunedExtinf = pruneExtinfFromVmapBlock(array, i);\n array = prunedExtinf.array;\n i = prunedExtinf.index - 1;\n }\n }\n }\n return array;\n };\n var pruneSpliceoutBlock = function pruneSpliceoutBlock(line, index, array) {\n if (!line.startsWith(AD_MARKER.CUE)) {\n return line;\n }\n line = undefined;\n index += 1;\n if (array[index].startsWith(AD_MARKER.ASSET)) {\n array[index] = undefined;\n index += 1;\n }\n if (array[index].startsWith(AD_MARKER.SCTE35)) {\n array[index] = undefined;\n index += 1;\n }\n if (array[index].startsWith(AD_MARKER.CUE_IN)) {\n array[index] = undefined;\n index += 1;\n }\n if (array[index].startsWith(AD_MARKER.SCTE35)) {\n array[index] = undefined;\n }\n return line;\n };\n var removeM3ULineRegexp = toRegExp(propsToRemove);\n var pruneInfBlock = function pruneInfBlock(line, index, array) {\n if (!line.startsWith(AD_MARKER.EXTINF)) {\n return line;\n }\n if (!removeM3ULineRegexp.test(array[index + 1])) {\n return line;\n }\n if (!isAllowedTag(array[index])) {\n array[index] = undefined;\n }\n index += 1;\n if (!isAllowedTag(array[index])) {\n array[index] = undefined;\n }\n index += 1;\n if (array[index].startsWith(AD_MARKER.DISCONTINUITY)) {\n array[index] = undefined;\n }\n return line;\n };\n var pruneSegments = function pruneSegments(lines) {\n for (var i = 0; i < lines.length - 1; i += 1) {\n var _lines$i;\n if ((_lines$i = lines[i]) !== null && _lines$i !== void 0 && _lines$i.startsWith(SEGMENT_MARKER) && removeM3ULineRegexp.test(lines[i])) {\n var segmentName = lines[i].substring(0, lines[i].indexOf(':'));\n if (!segmentName) {\n return lines;\n }\n lines[i] = undefined;\n i += 1;\n for (var j = i; j < lines.length; j += 1) {\n if (!lines[j].includes(segmentName) && !isAllowedTag(lines[j])) {\n lines[j] = undefined;\n } else {\n i = j - 1;\n break;\n }\n }\n }\n }\n return lines;\n };\n var isM3U = function isM3U(text) {\n if (typeof text === 'string') {\n var trimmedText = text.trim();\n return trimmedText.startsWith(AD_MARKER.EXTM3U) || trimmedText.startsWith(COMCAST_AD_MARKER.VMAP_AD_BREAK);\n }\n return false;\n };\n var isPruningNeeded = function isPruningNeeded(text, regexp) {\n return isM3U(text) && regexp.test(text);\n };\n var pruneM3U = function pruneM3U(text) {\n var lines = text.split(/\\r?\\n/);\n if (text.includes(COMCAST_AD_MARKER.VMAP_AD_BREAK)) {\n lines = pruneVmapBlock(lines);\n return lines.filter(function (l) {\n return !!l;\n }).join('\\n');\n }\n lines = pruneSegments(lines);\n return lines.map(function (line, index, array) {\n if (typeof line === 'undefined') {\n return line;\n }\n line = pruneSpliceoutBlock(line, index, array);\n if (typeof line !== 'undefined') {\n line = pruneInfBlock(line, index, array);\n }\n return line;\n }).filter(function (l) {\n return !!l;\n }).join('\\n');\n };\n var nativeOpen = window.XMLHttpRequest.prototype.open;\n var nativeSend = window.XMLHttpRequest.prototype.send;\n var xhrData;\n var openWrapper = function openWrapper(target, thisArg, args) {\n xhrData = getXhrData.apply(null, args);\n if (matchRequestProps(source, urlToMatch, xhrData)) {\n thisArg.shouldBePruned = true;\n }\n if (thisArg.shouldBePruned) {\n thisArg.collectedHeaders = [];\n var setRequestHeaderWrapper = function setRequestHeaderWrapper(target, thisArg, args) {\n thisArg.collectedHeaders.push(args);\n return Reflect.apply(target, thisArg, args);\n };\n var setRequestHeaderHandler = {\n apply: setRequestHeaderWrapper\n };\n thisArg.setRequestHeader = new Proxy(thisArg.setRequestHeader, setRequestHeaderHandler);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var sendWrapper = function sendWrapper(target, thisArg, args) {\n var allowedResponseTypeValues = ['', 'text'];\n if (!thisArg.shouldBePruned || !allowedResponseTypeValues.includes(thisArg.responseType)) {\n return Reflect.apply(target, thisArg, args);\n }\n var forgedRequest = new XMLHttpRequest();\n forgedRequest.addEventListener('readystatechange', function () {\n if (forgedRequest.readyState !== 4) {\n return;\n }\n var readyState = forgedRequest.readyState,\n response = forgedRequest.response,\n responseText = forgedRequest.responseText,\n responseURL = forgedRequest.responseURL,\n responseXML = forgedRequest.responseXML,\n status = forgedRequest.status,\n statusText = forgedRequest.statusText;\n var content = responseText || response;\n if (typeof content !== 'string') {\n return;\n }\n if (!propsToRemove) {\n if (isM3U(response)) {\n var message = \"XMLHttpRequest.open() URL: \".concat(responseURL, \"\\nresponse: \").concat(response);\n logMessage(source, message);\n }\n } else {\n shouldPruneResponse = isPruningNeeded(response, removeM3ULineRegexp);\n }\n var responseContent = shouldPruneResponse ? pruneM3U(response) : response;\n Object.defineProperties(thisArg, {\n readyState: {\n value: readyState,\n writable: false\n },\n responseURL: {\n value: responseURL,\n writable: false\n },\n responseXML: {\n value: responseXML,\n writable: false\n },\n status: {\n value: status,\n writable: false\n },\n statusText: {\n value: statusText,\n writable: false\n },\n response: {\n value: responseContent,\n writable: false\n },\n responseText: {\n value: responseContent,\n writable: false\n }\n });\n setTimeout(function () {\n var stateEvent = new Event('readystatechange');\n thisArg.dispatchEvent(stateEvent);\n var loadEvent = new Event('load');\n thisArg.dispatchEvent(loadEvent);\n var loadEndEvent = new Event('loadend');\n thisArg.dispatchEvent(loadEndEvent);\n }, 1);\n hit(source);\n });\n nativeOpen.apply(forgedRequest, [xhrData.method, xhrData.url]);\n thisArg.collectedHeaders.forEach(function (header) {\n var name = header[0];\n var value = header[1];\n forgedRequest.setRequestHeader(name, value);\n });\n thisArg.collectedHeaders = [];\n try {\n nativeSend.call(forgedRequest, args);\n } catch (_unused) {\n return Reflect.apply(target, thisArg, args);\n }\n return undefined;\n };\n var openHandler = {\n apply: openWrapper\n };\n var sendHandler = {\n apply: sendWrapper\n };\n XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, openHandler);\n XMLHttpRequest.prototype.send = new Proxy(XMLHttpRequest.prototype.send, sendHandler);\n var nativeFetch = window.fetch;\n var fetchWrapper = async function fetchWrapper(target, thisArg, args) {\n var fetchURL = args[0] instanceof Request ? args[0].url : args[0];\n if (typeof fetchURL !== 'string' || fetchURL.length === 0) {\n return Reflect.apply(target, thisArg, args);\n }\n if (urlMatchRegexp.test(fetchURL)) {\n var response = await nativeFetch(...args);\n var clonedResponse = response.clone();\n var responseText = await response.text();\n if (!propsToRemove && isM3U(responseText)) {\n var message = \"fetch URL: \".concat(fetchURL, \"\\nresponse text: \").concat(responseText);\n logMessage(source, message);\n return clonedResponse;\n }\n if (isPruningNeeded(responseText, removeM3ULineRegexp)) {\n var prunedText = pruneM3U(responseText);\n hit(source);\n return new Response(prunedText, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers\n });\n }\n return clonedResponse;\n }\n return Reflect.apply(target, thisArg, args);\n };\n var fetchHandler = {\n apply: fetchWrapper\n };\n window.fetch = new Proxy(window.fetch, fetchHandler);\n }\n m3uPrune$1.names = ['m3u-prune',\n 'm3u-prune.js', 'ubo-m3u-prune.js', 'ubo-m3u-prune'];\n m3uPrune$1.injections = [hit, toRegExp, logMessage, getXhrData, objectToString$1, matchRequestProps, getMatchPropsData, getRequestProps, isValidParsedData, parseMatchProps, isValidStrPattern, escapeRegExp, isEmptyObject];\n function trustedSetCookie$1(source, name, value) {\n var offsetExpiresSec = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var path = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '/';\n var domain = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n if (typeof name === 'undefined') {\n logMessage(source, 'Cookie name should be specified');\n return;\n }\n if (typeof value === 'undefined') {\n logMessage(source, 'Cookie value should be specified');\n return;\n }\n var parsedValue = parseKeywordValue(value);\n if (!isValidCookiePath(path)) {\n logMessage(source, \"Invalid cookie path: '\".concat(path, \"'\"));\n return;\n }\n if (!document.location.origin.includes(domain)) {\n logMessage(source, \"Cookie domain not matched by origin: '\".concat(domain, \"'\"));\n return;\n }\n var cookieToSet = serializeCookie(name, parsedValue, path, domain, false);\n if (!cookieToSet) {\n logMessage(source, 'Invalid cookie name or value');\n return;\n }\n if (offsetExpiresSec) {\n var parsedOffsetMs = getTrustedCookieOffsetMs(offsetExpiresSec);\n if (!parsedOffsetMs) {\n logMessage(source, \"Invalid offsetExpiresSec value: \".concat(offsetExpiresSec));\n return;\n }\n var expires = Date.now() + parsedOffsetMs;\n cookieToSet += \"; expires=\".concat(new Date(expires).toUTCString());\n }\n document.cookie = cookieToSet;\n hit(source);\n }\n trustedSetCookie$1.names = ['trusted-set-cookie'\n ];\n trustedSetCookie$1.injections = [hit, logMessage, nativeIsNaN, isCookieSetWithValue, serializeCookie, isValidCookiePath, getTrustedCookieOffsetMs, parseKeywordValue, getCookiePath];\n function trustedSetCookieReload$1(source, name, value) {\n var offsetExpiresSec = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var path = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '/';\n var domain = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';\n if (typeof name === 'undefined') {\n logMessage(source, 'Cookie name should be specified');\n return;\n }\n if (typeof value === 'undefined') {\n logMessage(source, 'Cookie value should be specified');\n return;\n }\n if (isCookieSetWithValue(document.cookie, name, value)) {\n return;\n }\n var parsedValue = parseKeywordValue(value);\n if (!isValidCookiePath(path)) {\n logMessage(source, \"Invalid cookie path: '\".concat(path, \"'\"));\n return;\n }\n if (!document.location.origin.includes(domain)) {\n logMessage(source, \"Cookie domain not matched by origin: '\".concat(domain, \"'\"));\n return;\n }\n var cookieToSet = serializeCookie(name, parsedValue, path, domain, false);\n if (!cookieToSet) {\n logMessage(source, 'Invalid cookie name or value');\n return;\n }\n if (offsetExpiresSec) {\n var parsedOffsetMs = getTrustedCookieOffsetMs(offsetExpiresSec);\n if (!parsedOffsetMs) {\n logMessage(source, \"Invalid offsetExpiresSec value: \".concat(offsetExpiresSec));\n return;\n }\n var expires = Date.now() + parsedOffsetMs;\n cookieToSet += \"; expires=\".concat(new Date(expires).toUTCString());\n }\n document.cookie = cookieToSet;\n hit(source);\n var cookieValueToCheck = parseCookieString(document.cookie)[name];\n if (isCookieSetWithValue(document.cookie, name, cookieValueToCheck)) {\n window.location.reload();\n }\n }\n trustedSetCookieReload$1.names = ['trusted-set-cookie-reload'\n ];\n trustedSetCookieReload$1.injections = [hit, logMessage, nativeIsNaN, isCookieSetWithValue, serializeCookie, isValidCookiePath, getTrustedCookieOffsetMs, parseKeywordValue, parseCookieString, getCookiePath];\n function trustedReplaceFetchResponse$1(source) {\n var pattern = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var replacement = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var propsToMatch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n if (typeof fetch === 'undefined' || typeof Proxy === 'undefined' || typeof Response === 'undefined') {\n return;\n }\n if (pattern === '' && replacement !== '') {\n logMessage(source, 'Pattern argument should not be empty string');\n return;\n }\n var shouldLog = pattern === '' && replacement === '';\n var nativeRequestClone = Request.prototype.clone;\n var nativeFetch = fetch;\n var shouldReplace = false;\n var fetchData;\n var handlerWrapper = function handlerWrapper(target, thisArg, args) {\n fetchData = getFetchData(args, nativeRequestClone);\n if (shouldLog) {\n logMessage(source, \"fetch( \".concat(objectToString$1(fetchData), \" )\"), true);\n hit(source);\n return Reflect.apply(target, thisArg, args);\n }\n shouldReplace = matchRequestProps(source, propsToMatch, fetchData);\n if (!shouldReplace) {\n return Reflect.apply(target, thisArg, args);\n }\n return nativeFetch.apply(null, args).then(function (response) {\n return response.text().then(function (bodyText) {\n var patternRegexp = pattern === '*' ? /(\\n|.)*/ : toRegExp(pattern);\n var modifiedTextContent = bodyText.replace(patternRegexp, replacement);\n var forgedResponse = forgeResponse(response, modifiedTextContent);\n hit(source);\n return forgedResponse;\n }).catch(function () {\n var fetchDataStr = objectToString$1(fetchData);\n var message = \"Response body can't be converted to text: \".concat(fetchDataStr);\n logMessage(source, message);\n return Reflect.apply(target, thisArg, args);\n });\n }).catch(function () {\n return Reflect.apply(target, thisArg, args);\n });\n };\n var fetchHandler = {\n apply: handlerWrapper\n };\n fetch = new Proxy(fetch, fetchHandler);\n }\n trustedReplaceFetchResponse$1.names = ['trusted-replace-fetch-response'\n ];\n trustedReplaceFetchResponse$1.injections = [hit, logMessage, getFetchData, objectToString$1, matchRequestProps, forgeResponse, toRegExp, isValidStrPattern, escapeRegExp, isEmptyObject, getRequestData, getRequestProps, parseMatchProps, isValidParsedData, getMatchPropsData];\n function trustedSetLocalStorageItem$1(source, key, value) {\n if (typeof key === 'undefined') {\n logMessage(source, 'Item key should be specified');\n return;\n }\n if (typeof value === 'undefined') {\n logMessage(source, 'Item value should be specified');\n return;\n }\n var parsedValue = parseKeywordValue(value);\n var _window = window,\n localStorage = _window.localStorage;\n setStorageItem(source, localStorage, key, parsedValue);\n hit(source);\n }\n trustedSetLocalStorageItem$1.names = ['trusted-set-local-storage-item'\n ];\n trustedSetLocalStorageItem$1.injections = [hit, logMessage, nativeIsNaN, setStorageItem, parseKeywordValue];\n function trustedSetConstant$1(source, property, value, stack) {\n if (!property || !matchStackTrace(stack, new Error().stack)) {\n return;\n }\n var constantValue;\n try {\n constantValue = inferValue(value);\n } catch (e) {\n logMessage(source, e);\n return;\n }\n var canceled = false;\n var mustCancel = function mustCancel(value) {\n if (canceled) {\n return canceled;\n }\n canceled = value !== undefined && constantValue !== undefined && typeof value !== typeof constantValue && value !== null;\n return canceled;\n };\n var trapProp = function trapProp(base, prop, configurable, handler) {\n if (!handler.init(base[prop])) {\n return false;\n }\n var origDescriptor = Object.getOwnPropertyDescriptor(base, prop);\n var prevSetter;\n if (origDescriptor instanceof Object) {\n if (!origDescriptor.configurable) {\n var message = \"Property '\".concat(prop, \"' is not configurable\");\n logMessage(source, message);\n return false;\n }\n base[prop] = constantValue;\n if (origDescriptor.set instanceof Function) {\n prevSetter = origDescriptor.set;\n }\n }\n Object.defineProperty(base, prop, {\n configurable,\n get() {\n return handler.get();\n },\n set(a) {\n if (prevSetter !== undefined) {\n prevSetter(a);\n }\n handler.set(a);\n }\n });\n return true;\n };\n var setChainPropAccess = function setChainPropAccess(owner, property) {\n var chainInfo = getPropertyInChain(owner, property);\n var base = chainInfo.base;\n var prop = chainInfo.prop,\n chain = chainInfo.chain;\n var inChainPropHandler = {\n factValue: undefined,\n init(a) {\n this.factValue = a;\n return true;\n },\n get() {\n return this.factValue;\n },\n set(a) {\n if (this.factValue === a) {\n return;\n }\n this.factValue = a;\n if (a instanceof Object) {\n setChainPropAccess(a, chain);\n }\n }\n };\n var endPropHandler = {\n init(a) {\n if (mustCancel(a)) {\n return false;\n }\n return true;\n },\n get() {\n return constantValue;\n },\n set(a) {\n if (!mustCancel(a)) {\n return;\n }\n constantValue = a;\n }\n };\n if (!chain) {\n var isTrapped = trapProp(base, prop, false, endPropHandler);\n if (isTrapped) {\n hit(source);\n }\n return;\n }\n if (base !== undefined && base[prop] === null) {\n trapProp(base, prop, true, inChainPropHandler);\n return;\n }\n if ((base instanceof Object || typeof base === 'object') && isEmptyObject(base)) {\n trapProp(base, prop, true, inChainPropHandler);\n }\n var propValue = owner[prop];\n if (propValue instanceof Object || typeof propValue === 'object' && propValue !== null) {\n setChainPropAccess(propValue, chain);\n }\n trapProp(base, prop, true, inChainPropHandler);\n };\n setChainPropAccess(window, property);\n }\n trustedSetConstant$1.names = ['trusted-set-constant'\n ];\n trustedSetConstant$1.injections = [hit, inferValue, logMessage, noopArray, noopObject, noopFunc, noopCallbackFunc, trueFunc, falseFunc, throwFunc, noopPromiseReject, noopPromiseResolve, getPropertyInChain, setPropertyAccess, toRegExp, matchStackTrace, nativeIsNaN, isEmptyObject, getNativeRegexpTest,\n shouldAbortInlineOrInjectedScript];\n function injectCssInShadowDom$1(source, cssRule) {\n var hostSelector = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n if (!Element.prototype.attachShadow || typeof Proxy === 'undefined' || typeof Reflect === 'undefined') {\n return;\n }\n if (cssRule.match(/(url|image-set)\\(.*\\)/i)) {\n logMessage(source, '\"url()\" function is not allowed for css rules');\n return;\n }\n var callback = function callback(shadowRoot) {\n try {\n var stylesheet = new CSSStyleSheet();\n try {\n stylesheet.insertRule(cssRule);\n } catch (e) {\n logMessage(source, \"Unable to apply the rule '\".concat(cssRule, \"' due to: \\n'\").concat(e.message, \"'\"));\n return;\n }\n shadowRoot.adoptedStyleSheets = [...shadowRoot.adoptedStyleSheets, stylesheet];\n } catch (_unused) {\n var styleTag = document.createElement('style');\n styleTag.innerText = cssRule;\n shadowRoot.appendChild(styleTag);\n }\n hit(source);\n };\n hijackAttachShadow(window, hostSelector, callback);\n }\n injectCssInShadowDom$1.names = ['inject-css-in-shadow-dom'];\n injectCssInShadowDom$1.injections = [hit, logMessage, hijackAttachShadow];\n function removeNodeText$1(source, nodeName, textMatch) {\n var _parseNodeTextParams = parseNodeTextParams(nodeName, textMatch),\n selector = _parseNodeTextParams.selector,\n nodeNameMatch = _parseNodeTextParams.nodeNameMatch,\n textContentMatch = _parseNodeTextParams.textContentMatch;\n var handleNodes = function handleNodes(nodes) {\n return nodes.forEach(function (node) {\n var shouldReplace = isTargetNode(node, nodeNameMatch, textContentMatch);\n if (shouldReplace) {\n var ALL_TEXT_PATTERN = /^[\\s\\S]*$/;\n var REPLACEMENT = '';\n replaceNodeText(source, node, ALL_TEXT_PATTERN, REPLACEMENT);\n }\n });\n };\n if (document.documentElement) {\n handleExistingNodes(selector, handleNodes);\n }\n observeDocumentWithTimeout(function (mutations) {\n return handleMutations(mutations, handleNodes);\n });\n }\n removeNodeText$1.names = ['remove-node-text',\n 'remove-node-text.js', 'ubo-remove-node-text.js', 'rmnt.js', 'ubo-rmnt.js', 'ubo-remove-node-text', 'ubo-rmnt'];\n removeNodeText$1.injections = [observeDocumentWithTimeout, handleExistingNodes, handleMutations, replaceNodeText, isTargetNode, parseNodeTextParams,\n hit, nodeListToArray, getAddedNodes, toRegExp];\n function trustedReplaceNodeText$1(source, nodeName, textMatch, pattern, replacement) {\n var uboAliases = ['replace-node-text.js', 'rpnt.js', 'sed.js'];\n if (uboAliases.includes(source.name)) {\n replacement = pattern;\n pattern = textMatch;\n for (var _len = arguments.length, extraArgs = new Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n extraArgs[_key - 5] = arguments[_key];\n }\n for (var i = 0; i < extraArgs.length; i += 1) {\n var arg = extraArgs[i];\n if (arg === 'condition') {\n textMatch = extraArgs[i + 1];\n break;\n }\n }\n }\n var _parseNodeTextParams = parseNodeTextParams(nodeName, textMatch, pattern),\n selector = _parseNodeTextParams.selector,\n nodeNameMatch = _parseNodeTextParams.nodeNameMatch,\n textContentMatch = _parseNodeTextParams.textContentMatch,\n patternMatch = _parseNodeTextParams.patternMatch;\n var handleNodes = function handleNodes(nodes) {\n return nodes.forEach(function (node) {\n var shouldReplace = isTargetNode(node, nodeNameMatch, textContentMatch);\n if (shouldReplace) {\n replaceNodeText(source, node, patternMatch, replacement);\n }\n });\n };\n if (document.documentElement) {\n handleExistingNodes(selector, handleNodes);\n }\n observeDocumentWithTimeout(function (mutations) {\n return handleMutations(mutations, handleNodes);\n });\n }\n trustedReplaceNodeText$1.names = ['trusted-replace-node-text'\n ];\n trustedReplaceNodeText$1.injections = [observeDocumentWithTimeout, handleExistingNodes, handleMutations, replaceNodeText, isTargetNode, parseNodeTextParams,\n hit, nodeListToArray, getAddedNodes, toRegExp];\n function evalDataPrune$1(source, propsToRemove, requiredInitialProps, stack) {\n var prunePaths = getPrunePath(propsToRemove);\n var requiredPaths = getPrunePath(requiredInitialProps);\n var nativeObjects = {\n nativeStringify: window.JSON.stringify\n };\n var evalWrapper = function evalWrapper(target, thisArg, args) {\n var data = Reflect.apply(target, thisArg, args);\n if (typeof data === 'object') {\n data = jsonPruner(source, data, prunePaths, requiredPaths, stack, nativeObjects);\n }\n return data;\n };\n var evalHandler = {\n apply: evalWrapper\n };\n window.eval = new Proxy(window.eval, evalHandler);\n }\n evalDataPrune$1.names = ['evaldata-prune',\n 'evaldata-prune.js', 'ubo-evaldata-prune.js', 'ubo-evaldata-prune'];\n evalDataPrune$1.injections = [hit, matchStackTrace, getWildcardPropertyInChain, logMessage, toRegExp, isPruningNeeded, jsonPruner, getPrunePath,\n getNativeRegexpTest, shouldAbortInlineOrInjectedScript];\n function trustedPruneInboundObject$1(source, functionName, propsToRemove, requiredInitialProps) {\n var stack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n if (!functionName) {\n return;\n }\n var nativeObjects = {\n nativeStringify: window.JSON.stringify\n };\n var _getPropertyInChain = getPropertyInChain(window, functionName),\n base = _getPropertyInChain.base,\n prop = _getPropertyInChain.prop;\n if (!base || !prop || typeof base[prop] !== 'function') {\n var message = \"\".concat(functionName, \" is not a function\");\n logMessage(source, message);\n return;\n }\n var prunePaths = getPrunePath(propsToRemove);\n var requiredPaths = getPrunePath(requiredInitialProps);\n var objectWrapper = function objectWrapper(target, thisArg, args) {\n var data = args[0];\n if (typeof data === 'object') {\n data = jsonPruner(source, data, prunePaths, requiredPaths, stack, nativeObjects);\n args[0] = data;\n }\n return Reflect.apply(target, thisArg, args);\n };\n var objectHandler = {\n apply: objectWrapper\n };\n base[prop] = new Proxy(base[prop], objectHandler);\n }\n trustedPruneInboundObject$1.names = ['trusted-prune-inbound-object'\n ];\n trustedPruneInboundObject$1.injections = [hit, matchStackTrace, getPropertyInChain, getWildcardPropertyInChain, logMessage, isPruningNeeded, jsonPruner, getPrunePath,\n toRegExp, getNativeRegexpTest, shouldAbortInlineOrInjectedScript, isEmptyObject];\n function trustedSetAttr$1(source, selector, attr) {\n var value = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n if (!selector || !attr) {\n return;\n }\n setAttributeBySelector(source, selector, attr, value);\n observeDOMChanges(function () {\n return setAttributeBySelector(source, selector, attr, value);\n }, true);\n }\n trustedSetAttr$1.names = ['trusted-set-attr'\n ];\n trustedSetAttr$1.injections = [setAttributeBySelector, observeDOMChanges, nativeIsNaN,\n defaultAttributeSetter, logMessage, throttle, hit];\n function spoofCSS$1(source, selectors, cssPropertyName, cssPropertyValue) {\n if (!selectors) {\n return;\n }\n var uboAliases = ['spoof-css.js', 'ubo-spoof-css.js', 'ubo-spoof-css'];\n function convertToCamelCase(cssProperty) {\n if (!cssProperty.includes('-')) {\n return cssProperty;\n }\n var splittedProperty = cssProperty.split('-');\n var firstPart = splittedProperty[0];\n var secondPart = splittedProperty[1];\n return \"\".concat(firstPart).concat(secondPart[0].toUpperCase()).concat(secondPart.slice(1));\n }\n var shouldDebug = !!(cssPropertyName === 'debug' && cssPropertyValue);\n var propToValueMap = new Map();\n if (uboAliases.includes(source.name)) {\n var args = source.args;\n var arrayOfProperties = [];\n var isDebug = args.at(-2);\n if (isDebug === 'debug') {\n arrayOfProperties = args.slice(1, -2);\n } else {\n arrayOfProperties = args.slice(1);\n }\n for (var i = 0; i < arrayOfProperties.length; i += 2) {\n if (arrayOfProperties[i] === '') {\n break;\n }\n propToValueMap.set(convertToCamelCase(arrayOfProperties[i]), arrayOfProperties[i + 1]);\n }\n } else if (cssPropertyName && cssPropertyValue && !shouldDebug) {\n propToValueMap.set(convertToCamelCase(cssPropertyName), cssPropertyValue);\n }\n var spoofStyle = function spoofStyle(cssProperty, realCssValue) {\n return propToValueMap.has(cssProperty) ? propToValueMap.get(cssProperty) : realCssValue;\n };\n var setRectValue = function setRectValue(rect, prop, value) {\n Object.defineProperty(rect, prop, {\n value: parseFloat(value)\n });\n };\n var getter = function getter(target, prop, receiver) {\n hit(source);\n if (prop === 'toString') {\n return target.toString.bind(target);\n }\n return Reflect.get(target, prop, receiver);\n };\n var getComputedStyleWrapper = function getComputedStyleWrapper(target, thisArg, args) {\n if (shouldDebug) {\n debugger;\n }\n var style = Reflect.apply(target, thisArg, args);\n if (!args[0].matches(selectors)) {\n return style;\n }\n var proxiedStyle = new Proxy(style, {\n get(target, prop) {\n var CSSStyleProp = target[prop];\n if (typeof CSSStyleProp !== 'function') {\n return spoofStyle(prop, CSSStyleProp || '');\n }\n if (prop !== 'getPropertyValue') {\n return CSSStyleProp.bind(target);\n }\n var getPropertyValueFunc = new Proxy(CSSStyleProp, {\n apply(target, thisArg, args) {\n var cssName = args[0];\n var cssValue = thisArg[cssName];\n return spoofStyle(cssName, cssValue);\n },\n get: getter\n });\n return getPropertyValueFunc;\n },\n getOwnPropertyDescriptor(target, prop) {\n if (propToValueMap.has(prop)) {\n return {\n configurable: true,\n enumerable: true,\n value: propToValueMap.get(prop),\n writable: true\n };\n }\n return Reflect.getOwnPropertyDescriptor(target, prop);\n }\n });\n hit(source);\n return proxiedStyle;\n };\n var getComputedStyleHandler = {\n apply: getComputedStyleWrapper,\n get: getter\n };\n window.getComputedStyle = new Proxy(window.getComputedStyle, getComputedStyleHandler);\n var getBoundingClientRectWrapper = function getBoundingClientRectWrapper(target, thisArg, args) {\n if (shouldDebug) {\n debugger;\n }\n var rect = Reflect.apply(target, thisArg, args);\n if (!thisArg.matches(selectors)) {\n return rect;\n }\n var top = rect.top,\n bottom = rect.bottom,\n height = rect.height,\n width = rect.width,\n left = rect.left,\n right = rect.right;\n var newDOMRect = new window.DOMRect(rect.x, rect.y, top, bottom, width, height, left, right);\n if (propToValueMap.has('top')) {\n setRectValue(newDOMRect, 'top', propToValueMap.get('top'));\n }\n if (propToValueMap.has('bottom')) {\n setRectValue(newDOMRect, 'bottom', propToValueMap.get('bottom'));\n }\n if (propToValueMap.has('left')) {\n setRectValue(newDOMRect, 'left', propToValueMap.get('left'));\n }\n if (propToValueMap.has('right')) {\n setRectValue(newDOMRect, 'right', propToValueMap.get('right'));\n }\n if (propToValueMap.has('height')) {\n setRectValue(newDOMRect, 'height', propToValueMap.get('height'));\n }\n if (propToValueMap.has('width')) {\n setRectValue(newDOMRect, 'width', propToValueMap.get('width'));\n }\n hit(source);\n return newDOMRect;\n };\n var getBoundingClientRectHandler = {\n apply: getBoundingClientRectWrapper,\n get: getter\n };\n window.Element.prototype.getBoundingClientRect = new Proxy(window.Element.prototype.getBoundingClientRect, getBoundingClientRectHandler);\n }\n spoofCSS$1.names = ['spoof-css',\n 'spoof-css.js', 'ubo-spoof-css.js', 'ubo-spoof-css'];\n spoofCSS$1.injections = [hit];\n function callNoThrow$1(source, functionName) {\n if (!functionName) {\n return;\n }\n var _getPropertyInChain = getPropertyInChain(window, functionName),\n base = _getPropertyInChain.base,\n prop = _getPropertyInChain.prop;\n if (!base || !prop || typeof base[prop] !== 'function') {\n var message = \"\".concat(functionName, \" is not a function\");\n logMessage(source, message);\n return;\n }\n var objectWrapper = function objectWrapper() {\n var result;\n try {\n result = Reflect.apply(...arguments);\n } catch (e) {\n var _message = \"Error calling \".concat(functionName, \": \").concat(e.message);\n logMessage(source, _message);\n }\n hit(source);\n return result;\n };\n var objectHandler = {\n apply: objectWrapper\n };\n base[prop] = new Proxy(base[prop], objectHandler);\n }\n callNoThrow$1.names = ['call-nothrow',\n 'call-nothrow.js', 'ubo-call-nothrow.js', 'ubo-call-nothrow'];\n callNoThrow$1.injections = [hit, getPropertyInChain, logMessage,\n isEmptyObject];\n function trustedCreateElement$1(source, parentSelector, tagName) {\n var attributePairs = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var textContent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n var cleanupDelayMs = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : NaN;\n if (!parentSelector || !tagName) {\n return;\n }\n var IFRAME_WINDOW_NAME = 'trusted-create-element-window';\n if (window.name === IFRAME_WINDOW_NAME) {\n return;\n }\n var logError = function logError(prefix, error) {\n logMessage(source, \"\".concat(prefix, \" due to \").concat(getErrorMessage(error)));\n };\n var element;\n try {\n element = document.createElement(tagName);\n element.textContent = textContent;\n } catch (e) {\n logError(\"Cannot create element with tag name '\".concat(tagName, \"'\"), e);\n return;\n }\n var attributes = [];\n try {\n attributes = parseAttributePairs(attributePairs);\n } catch (e) {\n logError(\"Cannot parse attributePairs param: '\".concat(attributePairs, \"'\"), e);\n return;\n }\n attributes.forEach(function (attr) {\n try {\n element.setAttribute(attr.name, attr.value);\n } catch (e) {\n logError(\"Cannot set attribute '\".concat(attr.name, \"' with value '\").concat(attr.value, \"'\"), e);\n }\n });\n var timerId;\n var findParentAndAppendEl = function findParentAndAppendEl(parentElSelector, el, removeElDelayMs) {\n var parentEl;\n try {\n parentEl = document.querySelector(parentElSelector);\n } catch (e) {\n logError(\"Cannot find parent element by selector '\".concat(parentElSelector, \"'\"), e);\n return false;\n }\n if (!parentEl) {\n logMessage(source, \"No parent element found by selector: '\".concat(parentElSelector, \"'\"));\n return false;\n }\n try {\n parentEl.append(el);\n if (el instanceof HTMLIFrameElement && el.contentWindow) {\n el.contentWindow.name = IFRAME_WINDOW_NAME;\n }\n hit(source);\n } catch (e) {\n logError(\"Cannot append child to parent by selector '\".concat(parentElSelector, \"'\"), e);\n return false;\n }\n if (!nativeIsNaN(removeElDelayMs)) {\n timerId = setTimeout(function () {\n el.remove();\n clearTimeout(timerId);\n }, removeElDelayMs);\n }\n return true;\n };\n if (!findParentAndAppendEl(parentSelector, element, cleanupDelayMs)) {\n observeDocumentWithTimeout(function (mutations, observer) {\n if (findParentAndAppendEl(parentSelector, element, cleanupDelayMs)) {\n observer.disconnect();\n }\n });\n }\n }\n trustedCreateElement$1.names = ['trusted-create-element'\n ];\n trustedCreateElement$1.injections = [hit, logMessage, observeDocumentWithTimeout, nativeIsNaN, parseAttributePairs, getErrorMessage];\n function hrefSanitizer$1(source, selector) {\n var attribute = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'text';\n if (!selector) {\n logMessage(source, 'Selector is required.');\n return;\n }\n var regexpNotValidAtStart = /^(?:[\\0- \\x7F-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u036F\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482-\\u0489\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u061F\\u064B-\\u066D\\u0670\\u06D4\\u06D6-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u06FD\\u06FE\\u0700-\\u070F\\u0711\\u0730-\\u074C\\u07A6-\\u07B0\\u07B2-\\u07C9\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FB-\\u07FF\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u083F\\u0859-\\u085F\\u086B-\\u086F\\u0888\\u088F-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0970\\u0981-\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA-\\u09BC\\u09BE-\\u09CD\\u09CF-\\u09DB\\u09DE\\u09E2-\\u09EF\\u09F2-\\u09FB\\u09FD-\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A-\\u0A58\\u0A5D\\u0A5F-\\u0A71\\u0A75-\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA-\\u0ABC\\u0ABE-\\u0ACF\\u0AD1-\\u0ADF\\u0AE2-\\u0AF8\\u0AFA-\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A-\\u0B3C\\u0B3E-\\u0B5B\\u0B5E\\u0B62-\\u0B70\\u0B72-\\u0B82\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BCF\\u0BD1-\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C3E-\\u0C57\\u0C5B\\u0C5C\\u0C5E\\u0C5F\\u0C62-\\u0C7F\\u0C81-\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA-\\u0CBC\\u0CBE-\\u0CDC\\u0CDF\\u0CE2-\\u0CF0\\u0CF3-\\u0D03\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D3E-\\u0D4D\\u0D4F-\\u0D53\\u0D57-\\u0D5E\\u0D62-\\u0D79\\u0D80-\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0E00\\u0E31\\u0E34-\\u0E3F\\u0E47-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EB1\\u0EB4-\\u0EBC\\u0EBE\\u0EBF\\u0EC5\\u0EC7-\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F3F\\u0F48\\u0F6D-\\u0F87\\u0F8D-\\u0FFF\\u102B-\\u103E\\u1040-\\u104F\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16F0\\u16F9-\\u16FF\\u1712-\\u171E\\u1732-\\u173F\\u1752-\\u175F\\u176D\\u1771-\\u177F\\u17B4-\\u17D6\\u17D8-\\u17DB\\u17DD-\\u181F\\u1879-\\u187F\\u1885\\u1886\\u18A9\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F-\\u194F\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19FF\\u1A17-\\u1A1F\\u1A55-\\u1AA6\\u1AA8-\\u1B04\\u1B34-\\u1B44\\u1B4D-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BFF\\u1C24-\\u1C4C\\u1C50-\\u1C59\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1CFB-\\u1CFF\\u1DC0-\\u1DFF\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u2182\\u2185-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7F\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF-\\u2E2E\\u2E30-\\u3004\\u3007-\\u3030\\u3036-\\u303A\\u303D-\\u3040\\u3097-\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA620-\\uA629\\uA62C-\\uA63F\\uA66F-\\uA67E\\uA69E\\uA69F\\uA6E6-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7CB-\\uA7CF\\uA7D2\\uA7D4\\uA7DA-\\uA7F1\\uA802\\uA806\\uA80B\\uA823-\\uA83F\\uA874-\\uA881\\uA8B4-\\uA8F1\\uA8F8-\\uA8FA\\uA8FC\\uA8FF-\\uA909\\uA926-\\uA92F\\uA947-\\uA95F\\uA97D-\\uA983\\uA9B3-\\uA9CE\\uA9D0-\\uA9DF\\uA9E5\\uA9F0-\\uA9F9\\uA9FF\\uAA29-\\uAA3F\\uAA43\\uAA4C-\\uAA5F\\uAA77-\\uAA79\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAEB-\\uAAF1\\uAAF5-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABE3-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB1E\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFE6F\\uFE75\\uFEFD-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEFF\\uDF20-\\uDF2C\\uDF41\\uDF4A-\\uDF4F\\uDF76-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0-\\uDFFF]|\\uD801[\\uDC9E-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6F\\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-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE01-\\uDE0F\\uDE14\\uDE18\\uDE36-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE5-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD24-\\uDE7F\\uDEAA-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF46-\\uDF6F\\uDF82-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC70\\uDC73\\uDC74\\uDC76-\\uDC82\\uDCB0-\\uDCCF\\uDCE9-\\uDD02\\uDD27-\\uDD43\\uDD45\\uDD46\\uDD48-\\uDD4F\\uDD73-\\uDD75\\uDD77-\\uDD82\\uDDB3-\\uDDC0\\uDDC5-\\uDDD9\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE2C-\\uDE3E\\uDE41-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEDF-\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A-\\uDF3C\\uDF3E-\\uDF4F\\uDF51-\\uDF5C\\uDF62-\\uDFFF]|\\uD805[\\uDC35-\\uDC46\\uDC4B-\\uDC5E\\uDC62-\\uDC7F\\uDCB0-\\uDCC3\\uDCC6\\uDCC8-\\uDD7F\\uDDAF-\\uDDD7\\uDDDC-\\uDDFF\\uDE30-\\uDE43\\uDE45-\\uDE7F\\uDEAB-\\uDEB7\\uDEB9-\\uDEFF\\uDF1B-\\uDF3F\\uDF47-\\uDFFF]|\\uD806[\\uDC2C-\\uDC9F\\uDCE0-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD30-\\uDD3E\\uDD40\\uDD42-\\uDD9F\\uDDA8\\uDDA9\\uDDD1-\\uDDE0\\uDDE2\\uDDE4-\\uDDFF\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE4F\\uDE51-\\uDE5B\\uDE8A-\\uDE9C\\uDE9E-\\uDEAF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC2F-\\uDC3F\\uDC41-\\uDC71\\uDC90-\\uDCFF\\uDD07\\uDD0A\\uDD31-\\uDD45\\uDD47-\\uDD5F\\uDD66\\uDD69\\uDD8A-\\uDD97\\uDD99-\\uDEDF\\uDEF3-\\uDF01\\uDF03\\uDF11\\uDF34-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC00-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82A\\uD82D\\uD82E\\uD830-\\uD834\\uD836\\uD83C-\\uD83F\\uD87B-\\uD87D\\uD87F\\uD889-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80B[\\uDC00-\\uDF8F\\uDFF1-\\uDFFF]|\\uD80D[\\uDC30-\\uDC40\\uDC47-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F-\\uDE6F\\uDEBF-\\uDECF\\uDEEE-\\uDEFF\\uDF30-\\uDF3F\\uDF44-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4F\\uDF51-\\uDF92\\uDFA0-\\uDFDF\\uDFE2\\uDFE4-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82B[\\uDC00-\\uDFEF\\uDFF4\\uDFFC\\uDFFF]|\\uD82C[\\uDD23-\\uDD31\\uDD33-\\uDD4F\\uDD53\\uDD54\\uDD56-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\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\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC-\\uDFFF]|\\uD837[\\uDC00-\\uDEFF\\uDF1F-\\uDF24\\uDF2B-\\uDFFF]|\\uD838[\\uDC00-\\uDC2F\\uDC6E-\\uDCFF\\uDD2D-\\uDD36\\uDD3E-\\uDD4D\\uDD4F-\\uDE8F\\uDEAE-\\uDEBF\\uDEEC-\\uDFFF]|\\uD839[\\uDC00-\\uDCCF\\uDCEC-\\uDFDF\\uDFE7\\uDFEC\\uDFEF\\uDFFF]|\\uD83A[\\uDCC5-\\uDCFF\\uDD44-\\uDD4A\\uDD4C-\\uDFFF]|\\uD83B[\\uDC00-\\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-\\uDFFF]|\\uD869[\\uDEE0-\\uDEFF]|\\uD86D[\\uDF3A-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDF4F]|\\uD888[\\uDFB0-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+/;\n var regexpNotValidAtEnd = /(?:[\\0- \\x7F-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u036F\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482-\\u0489\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u061F\\u064B-\\u066D\\u0670\\u06D4\\u06D6-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u06FD\\u06FE\\u0700-\\u070F\\u0711\\u0730-\\u074C\\u07A6-\\u07B0\\u07B2-\\u07C9\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FB-\\u07FF\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u083F\\u0859-\\u085F\\u086B-\\u086F\\u0888\\u088F-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0970\\u0981-\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA-\\u09BC\\u09BE-\\u09CD\\u09CF-\\u09DB\\u09DE\\u09E2-\\u09EF\\u09F2-\\u09FB\\u09FD-\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A-\\u0A58\\u0A5D\\u0A5F-\\u0A71\\u0A75-\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA-\\u0ABC\\u0ABE-\\u0ACF\\u0AD1-\\u0ADF\\u0AE2-\\u0AF8\\u0AFA-\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A-\\u0B3C\\u0B3E-\\u0B5B\\u0B5E\\u0B62-\\u0B70\\u0B72-\\u0B82\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BCF\\u0BD1-\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C3E-\\u0C57\\u0C5B\\u0C5C\\u0C5E\\u0C5F\\u0C62-\\u0C7F\\u0C81-\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA-\\u0CBC\\u0CBE-\\u0CDC\\u0CDF\\u0CE2-\\u0CF0\\u0CF3-\\u0D03\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D3E-\\u0D4D\\u0D4F-\\u0D53\\u0D57-\\u0D5E\\u0D62-\\u0D79\\u0D80-\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0E00\\u0E31\\u0E34-\\u0E3F\\u0E47-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EB1\\u0EB4-\\u0EBC\\u0EBE\\u0EBF\\u0EC5\\u0EC7-\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F3F\\u0F48\\u0F6D-\\u0F87\\u0F8D-\\u0FFF\\u102B-\\u103E\\u1040-\\u104F\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16F0\\u16F9-\\u16FF\\u1712-\\u171E\\u1732-\\u173F\\u1752-\\u175F\\u176D\\u1771-\\u177F\\u17B4-\\u17D6\\u17D8-\\u17DB\\u17DD-\\u181F\\u1879-\\u187F\\u1885\\u1886\\u18A9\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F-\\u194F\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19FF\\u1A17-\\u1A1F\\u1A55-\\u1AA6\\u1AA8-\\u1B04\\u1B34-\\u1B44\\u1B4D-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BFF\\u1C24-\\u1C4C\\u1C50-\\u1C59\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1CFB-\\u1CFF\\u1DC0-\\u1DFF\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u2182\\u2185-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7F\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF-\\u2E2E\\u2E30-\\u3004\\u3007-\\u3030\\u3036-\\u303A\\u303D-\\u3040\\u3097-\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA620-\\uA629\\uA62C-\\uA63F\\uA66F-\\uA67E\\uA69E\\uA69F\\uA6E6-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7CB-\\uA7CF\\uA7D2\\uA7D4\\uA7DA-\\uA7F1\\uA802\\uA806\\uA80B\\uA823-\\uA83F\\uA874-\\uA881\\uA8B4-\\uA8F1\\uA8F8-\\uA8FA\\uA8FC\\uA8FF-\\uA909\\uA926-\\uA92F\\uA947-\\uA95F\\uA97D-\\uA983\\uA9B3-\\uA9CE\\uA9D0-\\uA9DF\\uA9E5\\uA9F0-\\uA9F9\\uA9FF\\uAA29-\\uAA3F\\uAA43\\uAA4C-\\uAA5F\\uAA77-\\uAA79\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAEB-\\uAAF1\\uAAF5-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABE3-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB1E\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFE6F\\uFE75\\uFEFD-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEFF\\uDF20-\\uDF2C\\uDF41\\uDF4A-\\uDF4F\\uDF76-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0-\\uDFFF]|\\uD801[\\uDC9E-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6F\\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-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE01-\\uDE0F\\uDE14\\uDE18\\uDE36-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE5-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD24-\\uDE7F\\uDEAA-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF46-\\uDF6F\\uDF82-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC70\\uDC73\\uDC74\\uDC76-\\uDC82\\uDCB0-\\uDCCF\\uDCE9-\\uDD02\\uDD27-\\uDD43\\uDD45\\uDD46\\uDD48-\\uDD4F\\uDD73-\\uDD75\\uDD77-\\uDD82\\uDDB3-\\uDDC0\\uDDC5-\\uDDD9\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE2C-\\uDE3E\\uDE41-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEDF-\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A-\\uDF3C\\uDF3E-\\uDF4F\\uDF51-\\uDF5C\\uDF62-\\uDFFF]|\\uD805[\\uDC35-\\uDC46\\uDC4B-\\uDC5E\\uDC62-\\uDC7F\\uDCB0-\\uDCC3\\uDCC6\\uDCC8-\\uDD7F\\uDDAF-\\uDDD7\\uDDDC-\\uDDFF\\uDE30-\\uDE43\\uDE45-\\uDE7F\\uDEAB-\\uDEB7\\uDEB9-\\uDEFF\\uDF1B-\\uDF3F\\uDF47-\\uDFFF]|\\uD806[\\uDC2C-\\uDC9F\\uDCE0-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD30-\\uDD3E\\uDD40\\uDD42-\\uDD9F\\uDDA8\\uDDA9\\uDDD1-\\uDDE0\\uDDE2\\uDDE4-\\uDDFF\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE4F\\uDE51-\\uDE5B\\uDE8A-\\uDE9C\\uDE9E-\\uDEAF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC2F-\\uDC3F\\uDC41-\\uDC71\\uDC90-\\uDCFF\\uDD07\\uDD0A\\uDD31-\\uDD45\\uDD47-\\uDD5F\\uDD66\\uDD69\\uDD8A-\\uDD97\\uDD99-\\uDEDF\\uDEF3-\\uDF01\\uDF03\\uDF11\\uDF34-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC00-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82A\\uD82D\\uD82E\\uD830-\\uD834\\uD836\\uD83C-\\uD83F\\uD87B-\\uD87D\\uD87F\\uD889-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80B[\\uDC00-\\uDF8F\\uDFF1-\\uDFFF]|\\uD80D[\\uDC30-\\uDC40\\uDC47-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F-\\uDE6F\\uDEBF-\\uDECF\\uDEEE-\\uDEFF\\uDF30-\\uDF3F\\uDF44-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4F\\uDF51-\\uDF92\\uDFA0-\\uDFDF\\uDFE2\\uDFE4-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82B[\\uDC00-\\uDFEF\\uDFF4\\uDFFC\\uDFFF]|\\uD82C[\\uDD23-\\uDD31\\uDD33-\\uDD4F\\uDD53\\uDD54\\uDD56-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\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\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC-\\uDFFF]|\\uD837[\\uDC00-\\uDEFF\\uDF1F-\\uDF24\\uDF2B-\\uDFFF]|\\uD838[\\uDC00-\\uDC2F\\uDC6E-\\uDCFF\\uDD2D-\\uDD36\\uDD3E-\\uDD4D\\uDD4F-\\uDE8F\\uDEAE-\\uDEBF\\uDEEC-\\uDFFF]|\\uD839[\\uDC00-\\uDCCF\\uDCEC-\\uDFDF\\uDFE7\\uDFEC\\uDFEF\\uDFFF]|\\uD83A[\\uDCC5-\\uDCFF\\uDD44-\\uDD4A\\uDD4C-\\uDFFF]|\\uD83B[\\uDC00-\\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-\\uDFFF]|\\uD869[\\uDEE0-\\uDEFF]|\\uD86D[\\uDF3A-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDF4F]|\\uD888[\\uDFB0-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+$/;\n var extractNewHref = function extractNewHref(anchor, attr) {\n if (attr === 'text') {\n if (!anchor.textContent) {\n return '';\n }\n return anchor.textContent.replace(regexpNotValidAtStart, '').replace(regexpNotValidAtEnd, '');\n }\n if (attr.startsWith('?')) {\n try {\n var url = new URL(anchor.href, document.location.href);\n return url.searchParams.get(attr.slice(1)) || '';\n } catch (ex) {\n logMessage(source, \"Cannot retrieve the parameter '\".concat(attr.slice(1), \"' from the URL '\").concat(anchor.href));\n return '';\n }\n }\n if (attr.startsWith('[') && attr.endsWith(']')) {\n return anchor.getAttribute(attr.slice(1, -1)) || '';\n }\n return '';\n };\n var getValidURL = function getValidURL(text) {\n if (!text) {\n return null;\n }\n try {\n var _URL = new URL(text, document.location.href),\n href = _URL.href,\n protocol = _URL.protocol;\n if (protocol !== 'http:' && protocol !== 'https:') {\n logMessage(source, \"Protocol not allowed: \\\"\".concat(protocol, \"\\\", from URL: \\\"\").concat(href, \"\\\"\"));\n return null;\n }\n return href;\n } catch (_unused) {\n return null;\n }\n };\n var isSanitizableAnchor = function isSanitizableAnchor(element) {\n return element.nodeName.toLowerCase() === 'a' && element.hasAttribute('href');\n };\n var sanitize = function sanitize(elementSelector) {\n var elements;\n try {\n elements = document.querySelectorAll(elementSelector);\n } catch (e) {\n logMessage(source, \"Invalid selector \\\"\".concat(elementSelector, \"\\\"\"));\n return;\n }\n elements.forEach(function (elem) {\n try {\n if (!isSanitizableAnchor(elem)) {\n return;\n }\n var newHref = extractNewHref(elem, attribute);\n var newValidHref = getValidURL(newHref);\n if (!newValidHref) {\n logMessage(source, \"Invalid URL: \".concat(newHref));\n return;\n }\n var oldHref = elem.href;\n elem.setAttribute('href', newValidHref);\n if (newValidHref !== oldHref) {\n logMessage(source, \"Sanitized \\\"\".concat(oldHref, \"\\\" to \\\"\").concat(newValidHref, \"\\\".\"));\n }\n } catch (ex) {\n logMessage(source, \"Failed to sanitize \".concat(elem, \".\"));\n }\n });\n hit(source);\n };\n var run = function run() {\n sanitize(selector);\n observeDOMChanges(function () {\n return sanitize(selector);\n }, true);\n };\n if (document.readyState === 'loading') {\n window.addEventListener('DOMContentLoaded', run, {\n once: true\n });\n } else {\n run();\n }\n }\n hrefSanitizer$1.names = ['href-sanitizer',\n 'href-sanitizer.js', 'ubo-href-sanitizer.js', 'ubo-href-sanitizer'];\n hrefSanitizer$1.injections = [observeDOMChanges, hit, logMessage,\n throttle];\n function jsonPruneFetchResponse$1(source, propsToRemove, obligatoryProps) {\n var propsToMatch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var stack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n if (typeof fetch === 'undefined' || typeof Proxy === 'undefined' || typeof Response === 'undefined') {\n return;\n }\n var prunePaths = getPrunePath(propsToRemove);\n var requiredPaths = getPrunePath(obligatoryProps);\n var nativeStringify = window.JSON.stringify;\n var nativeRequestClone = window.Request.prototype.clone;\n var nativeResponseClone = window.Response.prototype.clone;\n var nativeFetch = window.fetch;\n var fetchHandlerWrapper = async function fetchHandlerWrapper(target, thisArg, args) {\n var fetchData = getFetchData(args, nativeRequestClone);\n if (!matchRequestProps(source, propsToMatch, fetchData)) {\n return Reflect.apply(target, thisArg, args);\n }\n var originalResponse;\n var clonedResponse;\n try {\n originalResponse = await nativeFetch.apply(null, args);\n clonedResponse = nativeResponseClone.call(originalResponse);\n } catch (_unused) {\n logMessage(source, \"Could not make an original fetch request: \".concat(fetchData.url));\n return Reflect.apply(target, thisArg, args);\n }\n var json;\n try {\n json = await originalResponse.json();\n } catch (e) {\n var message = \"Response body can't be converted to json: \".concat(objectToString$1(fetchData));\n logMessage(source, message);\n return clonedResponse;\n }\n var modifiedJson = jsonPruner(source, json, prunePaths, requiredPaths, stack, {\n nativeStringify,\n nativeRequestClone,\n nativeResponseClone,\n nativeFetch\n });\n var forgedResponse = forgeResponse(originalResponse, nativeStringify(modifiedJson));\n hit(source);\n return forgedResponse;\n };\n var fetchHandler = {\n apply: fetchHandlerWrapper\n };\n window.fetch = new Proxy(window.fetch, fetchHandler);\n }\n jsonPruneFetchResponse$1.names = ['json-prune-fetch-response',\n 'json-prune-fetch-response.js', 'ubo-json-prune-fetch-response.js', 'ubo-json-prune-fetch-response'];\n jsonPruneFetchResponse$1.injections = [hit, logMessage, getFetchData, objectToString$1, matchRequestProps, jsonPruner, getPrunePath, forgeResponse, isPruningNeeded, matchStackTrace, toRegExp, isValidStrPattern, escapeRegExp, isEmptyObject, getRequestData, getRequestProps, parseMatchProps, isValidParsedData, getMatchPropsData, getWildcardPropertyInChain, shouldAbortInlineOrInjectedScript, getNativeRegexpTest];\n function noProtectedAudience$1(source) {\n if (Document instanceof Object === false) {\n return;\n }\n var protectedAudienceMethods = {\n joinAdInterestGroup: noopResolveVoid,\n runAdAuction: noopResolveNull,\n leaveAdInterestGroup: noopResolveVoid,\n clearOriginJoinedAdInterestGroups: noopResolveVoid,\n createAuctionNonce: noopStr,\n updateAdInterestGroups: noopFunc\n };\n for (var _i = 0, _Object$keys = Object.keys(protectedAudienceMethods); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n var methodName = key;\n var prototype = Navigator.prototype;\n if (!Object.prototype.hasOwnProperty.call(prototype, methodName) || prototype[methodName] instanceof Function === false) {\n continue;\n }\n prototype[methodName] = protectedAudienceMethods[methodName];\n }\n hit(source);\n }\n noProtectedAudience$1.names = ['no-protected-audience'];\n noProtectedAudience$1.injections = [hit, noopStr, noopFunc, noopResolveVoid, noopResolveNull];\n function trustedSuppressNativeMethod$1(source, methodPath, signatureStr) {\n var how = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'abort';\n var stack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n if (!methodPath || !signatureStr) {\n return;\n }\n var IGNORE_ARG_SYMBOL = ' ';\n var suppress = how === 'abort' ? getAbortFunc() : function () {};\n var signatureMatcher;\n try {\n signatureMatcher = signatureStr.split('|').map(function (value) {\n return value === IGNORE_ARG_SYMBOL ? value : inferValue(value);\n });\n } catch (e) {\n logMessage(source, \"Could not parse the signature matcher: \".concat(getErrorMessage(e)));\n return;\n }\n var getPathParts = getPropertyInChain;\n var _getPathParts = getPathParts(window, methodPath),\n base = _getPathParts.base,\n chain = _getPathParts.chain,\n prop = _getPathParts.prop;\n if (typeof chain !== 'undefined') {\n logMessage(source, \"Could not reach the end of the prop chain: \".concat(methodPath));\n return;\n }\n var nativeMethod = base[prop];\n if (!nativeMethod || typeof nativeMethod !== 'function') {\n logMessage(source, \"Could not retrieve the method: \".concat(methodPath));\n return;\n }\n function matchMethodCall(nativeArguments, matchArguments) {\n return matchArguments.every(function (matcher, i) {\n if (matcher === IGNORE_ARG_SYMBOL) {\n return true;\n }\n var argument = nativeArguments[i];\n return isValueMatched(argument, matcher);\n });\n }\n var isMatchingSuspended = false;\n function apply(target, thisArg, argumentsList) {\n if (isMatchingSuspended) {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n isMatchingSuspended = true;\n if (stack && !matchStackTrace(stack, new Error().stack || '')) {\n return Reflect.apply(target, thisArg, argumentsList);\n }\n var isMatching = matchMethodCall(argumentsList, signatureMatcher);\n isMatchingSuspended = false;\n if (isMatching) {\n hit(source);\n return suppress();\n }\n return Reflect.apply(target, thisArg, argumentsList);\n }\n base[prop] = new Proxy(nativeMethod, {\n apply\n });\n }\n trustedSuppressNativeMethod$1.names = ['trusted-suppress-native-method'];\n trustedSuppressNativeMethod$1.injections = [hit, logMessage, getPropertyInChain, inferValue, isValueMatched, getAbortFunc, matchStackTrace, getErrorMessage,\n shouldAbortInlineOrInjectedScript, getNativeRegexpTest, toRegExp, nativeIsNaN, randomId, createOnErrorHandler, isEmptyObject, isArbitraryObject, isStringMatched, isArrayMatched, isObjectMatched];\n function jsonPruneXhrResponse$1(source, propsToRemove, obligatoryProps) {\n var propsToMatch = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var stack = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '';\n if (typeof Proxy === 'undefined') {\n return;\n }\n var shouldLog = !propsToRemove && !obligatoryProps;\n var prunePaths = getPrunePath(propsToRemove);\n var requiredPaths = getPrunePath(obligatoryProps);\n var nativeParse = window.JSON.parse;\n var nativeStringify = window.JSON.stringify;\n var nativeOpen = window.XMLHttpRequest.prototype.open;\n var nativeSend = window.XMLHttpRequest.prototype.send;\n var setRequestHeaderWrapper = function setRequestHeaderWrapper(setRequestHeader, thisArgument, argsList) {\n thisArgument.collectedHeaders.push(argsList);\n return Reflect.apply(setRequestHeader, thisArgument, argsList);\n };\n var setRequestHeaderHandler = {\n apply: setRequestHeaderWrapper\n };\n var xhrData;\n var openWrapper = function openWrapper(target, thisArg, args) {\n xhrData = getXhrData.apply(null, args);\n if (matchRequestProps(source, propsToMatch, xhrData) || shouldLog) {\n thisArg.xhrShouldBePruned = true;\n thisArg.headersReceived = !!thisArg.headersReceived;\n }\n if (thisArg.xhrShouldBePruned && !thisArg.headersReceived) {\n thisArg.headersReceived = true;\n thisArg.collectedHeaders = [];\n thisArg.setRequestHeader = new Proxy(thisArg.setRequestHeader, setRequestHeaderHandler);\n }\n return Reflect.apply(target, thisArg, args);\n };\n var sendWrapper = function sendWrapper(target, thisArg, args) {\n var stackTrace = new Error().stack || '';\n if (!thisArg.xhrShouldBePruned || stack && !matchStackTrace(stack, stackTrace)) {\n return Reflect.apply(target, thisArg, args);\n }\n var forgedRequest = new XMLHttpRequest();\n forgedRequest.addEventListener('readystatechange', function () {\n if (forgedRequest.readyState !== 4) {\n return;\n }\n var readyState = forgedRequest.readyState,\n response = forgedRequest.response,\n responseText = forgedRequest.responseText,\n responseURL = forgedRequest.responseURL,\n responseXML = forgedRequest.responseXML,\n status = forgedRequest.status,\n statusText = forgedRequest.statusText;\n var content = responseText || response;\n if (typeof content !== 'string' && typeof content !== 'object') {\n return;\n }\n var modifiedContent;\n if (typeof content === 'string') {\n try {\n var jsonContent = nativeParse(content);\n if (shouldLog) {\n logMessage(source, \"\".concat(window.location.hostname, \"\\n\").concat(nativeStringify(jsonContent, null, 2), \"\\nStack trace:\\n\").concat(stackTrace), true);\n logMessage(source, jsonContent, true, false);\n modifiedContent = content;\n } else {\n modifiedContent = jsonPruner(source, jsonContent, prunePaths, requiredPaths, stack = '', {\n nativeStringify\n });\n try {\n var responseType = thisArg.responseType;\n switch (responseType) {\n case '':\n case 'text':\n modifiedContent = nativeStringify(modifiedContent);\n break;\n case 'arraybuffer':\n modifiedContent = new TextEncoder().encode(nativeStringify(modifiedContent)).buffer;\n break;\n case 'blob':\n modifiedContent = new Blob([nativeStringify(modifiedContent)]);\n break;\n default:\n break;\n }\n } catch (error) {\n var message = \"Response body cannot be converted to reponse type: '\".concat(content, \"'\");\n logMessage(source, message);\n modifiedContent = content;\n }\n }\n } catch (error) {\n var _message = \"Response body cannot be converted to json: '\".concat(content, \"'\");\n logMessage(source, _message);\n modifiedContent = content;\n }\n }\n Object.defineProperties(thisArg, {\n readyState: {\n value: readyState,\n writable: false\n },\n responseURL: {\n value: responseURL,\n writable: false\n },\n responseXML: {\n value: responseXML,\n writable: false\n },\n status: {\n value: status,\n writable: false\n },\n statusText: {\n value: statusText,\n writable: false\n },\n response: {\n value: modifiedContent,\n writable: false\n },\n responseText: {\n value: modifiedContent,\n writable: false\n }\n });\n setTimeout(function () {\n var stateEvent = new Event('readystatechange');\n thisArg.dispatchEvent(stateEvent);\n var loadEvent = new Event('load');\n thisArg.dispatchEvent(loadEvent);\n var loadEndEvent = new Event('loadend');\n thisArg.dispatchEvent(loadEndEvent);\n }, 1);\n hit(source);\n });\n nativeOpen.apply(forgedRequest, [xhrData.method, xhrData.url, Boolean(xhrData.async)]);\n thisArg.collectedHeaders.forEach(function (header) {\n forgedRequest.setRequestHeader(header[0], header[1]);\n });\n thisArg.collectedHeaders = [];\n try {\n nativeSend.call(forgedRequest, args);\n } catch (_unused) {\n return Reflect.apply(target, thisArg, args);\n }\n return undefined;\n };\n var openHandler = {\n apply: openWrapper\n };\n var sendHandler = {\n apply: sendWrapper\n };\n XMLHttpRequest.prototype.open = new Proxy(XMLHttpRequest.prototype.open, openHandler);\n XMLHttpRequest.prototype.send = new Proxy(XMLHttpRequest.prototype.send, sendHandler);\n }\n jsonPruneXhrResponse$1.names = ['json-prune-xhr-response',\n 'json-prune-xhr-response.js', 'ubo-json-prune-xhr-response.js', 'ubo-json-prune-xhr-response'];\n jsonPruneXhrResponse$1.injections = [hit, logMessage, toRegExp, jsonPruner, getPrunePath, objectToString$1, matchRequestProps, getXhrData, isPruningNeeded, matchStackTrace, getMatchPropsData, getRequestProps, isValidParsedData, parseMatchProps, isValidStrPattern, escapeRegExp, isEmptyObject, getWildcardPropertyInChain, shouldAbortInlineOrInjectedScript, getNativeRegexpTest];\n function AmazonApstag$1(source) {\n var apstagWrapper = {\n fetchBids(a, b) {\n if (typeof b === 'function') {\n b([]);\n }\n },\n init: noopFunc,\n setDisplayBids: noopFunc,\n targetingKeys: noopFunc\n };\n window.apstag = apstagWrapper;\n hit(source);\n }\n AmazonApstag$1.names = ['amazon-apstag', 'ubo-amazon_apstag.js', 'amazon_apstag.js'];\n AmazonApstag$1.injections = [hit, noopFunc];\n function DidomiLoader$1(source) {\n function UserConsentStatusForVendorSubscribe() {}\n UserConsentStatusForVendorSubscribe.prototype.filter = function () {\n return new UserConsentStatusForVendorSubscribe();\n };\n UserConsentStatusForVendorSubscribe.prototype.subscribe = noopFunc;\n function UserConsentStatusForVendor() {}\n UserConsentStatusForVendor.prototype.first = function () {\n return new UserConsentStatusForVendorSubscribe();\n };\n UserConsentStatusForVendor.prototype.filter = function () {\n return new UserConsentStatusForVendorSubscribe();\n };\n UserConsentStatusForVendor.prototype.subscribe = noopFunc;\n var DidomiWrapper = {\n isConsentRequired: falseFunc,\n getUserConsentStatusForPurpose: trueFunc,\n getUserConsentStatus: trueFunc,\n getUserStatus: noopFunc,\n getRequiredPurposes: noopArray,\n getUserConsentStatusForVendor: trueFunc,\n Purposes: {\n Cookies: 'cookies'\n },\n notice: {\n configure: noopFunc,\n hide: noopFunc,\n isVisible: falseFunc,\n show: noopFunc,\n showDataProcessing: trueFunc\n },\n isUserConsentStatusPartial: falseFunc,\n on() {\n return {\n actions: {},\n emitter: {},\n services: {},\n store: {}\n };\n },\n shouldConsentBeCollected: falseFunc,\n getUserConsentStatusForAll: noopFunc,\n getObservableOnUserConsentStatusForVendor() {\n return new UserConsentStatusForVendor();\n }\n };\n window.Didomi = DidomiWrapper;\n var didomiStateWrapper = {\n didomiExperimentId: '',\n didomiExperimentUserGroup: '',\n didomiGDPRApplies: 1,\n didomiIABConsent: '',\n didomiPurposesConsent: '',\n didomiPurposesConsentDenied: '',\n didomiPurposesConsentUnknown: '',\n didomiVendorsConsent: '',\n didomiVendorsConsentDenied: '',\n didomiVendorsConsentUnknown: '',\n didomiVendorsRawConsent: '',\n didomiVendorsRawConsentDenied: '',\n didomiVendorsRawConsentUnknown: ''\n };\n window.didomiState = didomiStateWrapper;\n var tcData = {\n eventStatus: 'tcloaded',\n gdprApplies: false,\n listenerId: noopFunc,\n vendor: {\n consents: []\n },\n purpose: {\n consents: []\n }\n };\n var __tcfapiWrapper = function __tcfapiWrapper(command, version, callback) {\n if (typeof callback !== 'function' || command === 'removeEventListener') {\n return;\n }\n callback(tcData, true);\n };\n window.__tcfapi = __tcfapiWrapper;\n var didomiEventListenersWrapper = {\n stub: true,\n push: noopFunc\n };\n window.didomiEventListeners = didomiEventListenersWrapper;\n var didomiOnReadyWrapper = {\n stub: true,\n push(arg) {\n if (typeof arg !== 'function') {\n return;\n }\n if (document.readyState !== 'complete') {\n window.addEventListener('load', function () {\n setTimeout(arg(window.Didomi));\n });\n } else {\n setTimeout(arg(window.Didomi));\n }\n }\n };\n window.didomiOnReady = window.didomiOnReady || didomiOnReadyWrapper;\n if (Array.isArray(window.didomiOnReady)) {\n window.didomiOnReady.forEach(function (arg) {\n if (typeof arg === 'function') {\n try {\n setTimeout(arg(window.Didomi));\n } catch (e) {\n }\n }\n });\n }\n hit(source);\n }\n DidomiLoader$1.names = ['didomi-loader'];\n DidomiLoader$1.injections = [hit, noopFunc, noopArray, trueFunc, falseFunc];\n function Fingerprintjs2$1(source) {\n var browserId = '';\n for (var i = 0; i < 8; i += 1) {\n browserId += (Math.random() * 0x10000 + 0x1000).toString(16).slice(-4);\n }\n var Fingerprint2 = function Fingerprint2() {};\n Fingerprint2.get = function (options, callback) {\n if (!callback) {\n callback = options;\n }\n setTimeout(function () {\n if (callback) {\n callback(browserId, []);\n }\n }, 1);\n };\n Fingerprint2.prototype = {\n get: Fingerprint2.get\n };\n window.Fingerprint2 = Fingerprint2;\n hit(source);\n }\n Fingerprintjs2$1.names = ['fingerprintjs2',\n 'ubo-fingerprint2.js',\n 'fingerprint2.js'];\n Fingerprintjs2$1.injections = [hit];\n function Fingerprintjs3$1(source) {\n var visitorId = function () {\n var id = '';\n for (var i = 0; i < 8; i += 1) {\n id += (Math.random() * 0x10000 + 0x1000).toString(16).slice(-4);\n }\n return id;\n }();\n var FingerprintJS = function FingerprintJS() {};\n FingerprintJS.prototype = {\n load() {\n return Promise.resolve(new FingerprintJS());\n },\n get() {\n return Promise.resolve({\n visitorId\n });\n },\n hashComponents: noopStr\n };\n window.FingerprintJS = new FingerprintJS();\n hit(source);\n }\n Fingerprintjs3$1.names = ['fingerprintjs3',\n 'ubo-fingerprint3.js',\n 'fingerprint3.js'];\n Fingerprintjs3$1.injections = [hit, noopStr];\n function Gemius$1(source) {\n var GemiusPlayer = function GemiusPlayer() {};\n GemiusPlayer.prototype = {\n setVideoObject: noopFunc,\n newProgram: noopFunc,\n programEvent: noopFunc,\n newAd: noopFunc,\n adEvent: noopFunc\n };\n window.GemiusPlayer = GemiusPlayer;\n hit(source);\n }\n Gemius$1.names = ['gemius'];\n Gemius$1.injections = [hit, noopFunc];\n function GoogleAnalytics$1(source) {\n var _window$googleAnalyti;\n var Tracker = function Tracker() {};\n var proto = Tracker.prototype;\n proto.get = noopFunc;\n proto.set = noopFunc;\n proto.send = noopFunc;\n var googleAnalyticsName = window.GoogleAnalyticsObject || 'ga';\n var queue = (_window$googleAnalyti = window[googleAnalyticsName]) === null || _window$googleAnalyti === void 0 ? void 0 : _window$googleAnalyti.q;\n function ga(a) {\n var len = arguments.length;\n if (len === 0) {\n return;\n }\n var lastArg = arguments[len - 1];\n var replacer;\n if (lastArg instanceof Object && lastArg !== null && typeof lastArg.hitCallback === 'function') {\n replacer = lastArg.hitCallback;\n } else if (typeof lastArg === 'function') {\n replacer = function replacer() {\n lastArg(ga.create());\n };\n }\n try {\n setTimeout(replacer, 1);\n } catch (ex) {}\n }\n ga.create = function () {\n return new Tracker();\n };\n ga.getByName = function () {\n return new Tracker();\n };\n ga.getAll = function () {\n return [new Tracker()];\n };\n ga.remove = noopFunc;\n ga.loaded = true;\n window[googleAnalyticsName] = ga;\n if (Array.isArray(queue)) {\n var push = function push(arg) {\n ga(...arg);\n };\n queue.push = push;\n queue.forEach(push);\n }\n var _window = window,\n dataLayer = _window.dataLayer,\n google_optimize = _window.google_optimize;\n if (dataLayer instanceof Object === false) {\n return;\n }\n if (dataLayer.hide instanceof Object && typeof dataLayer.hide.end === 'function') {\n dataLayer.hide.end();\n }\n var handleCallback = function handleCallback(dataObj, funcName) {\n if (dataObj && typeof dataObj[funcName] === 'function') {\n setTimeout(dataObj[funcName]);\n }\n };\n if (typeof dataLayer.push === 'function') {\n dataLayer.push = function (data) {\n if (data instanceof Object) {\n handleCallback(data, 'eventCallback');\n for (var key in data) {\n handleCallback(data[key], 'event_callback');\n }\n if (!data.hasOwnProperty('eventCallback') && !data.hasOwnProperty('eventCallback')) {\n [].push.call(window.dataLayer, data);\n }\n }\n if (Array.isArray(data)) {\n data.forEach(function (arg) {\n handleCallback(arg, 'callback');\n });\n }\n return noopFunc;\n };\n }\n if (google_optimize instanceof Object && typeof google_optimize.get === 'function') {\n var googleOptimizeWrapper = {\n get: noopFunc\n };\n window.google_optimize = googleOptimizeWrapper;\n }\n hit(source);\n }\n GoogleAnalytics$1.names = ['google-analytics', 'ubo-google-analytics_analytics.js', 'google-analytics_analytics.js',\n 'googletagmanager-gtm', 'ubo-googletagmanager_gtm.js', 'googletagmanager_gtm.js'];\n GoogleAnalytics$1.injections = [hit, noopFunc, noopNull, noopArray];\n function GoogleAnalyticsGa$1(source) {\n function Gaq() {}\n Gaq.prototype.Na = noopFunc;\n Gaq.prototype.O = noopFunc;\n Gaq.prototype.Sa = noopFunc;\n Gaq.prototype.Ta = noopFunc;\n Gaq.prototype.Va = noopFunc;\n Gaq.prototype._createAsyncTracker = noopFunc;\n Gaq.prototype._getAsyncTracker = noopFunc;\n Gaq.prototype._getPlugin = noopFunc;\n Gaq.prototype.push = function (data) {\n if (typeof data === 'function') {\n data();\n return;\n }\n if (Array.isArray(data) === false) {\n return;\n }\n if (typeof data[0] === 'string' && /(^|\\.)_link$/.test(data[0]) && typeof data[1] === 'string') {\n window.location.assign(data[1]);\n }\n if (data[0] === '_set' && data[1] === 'hitCallback' && typeof data[2] === 'function') {\n data[2]();\n }\n };\n var gaq = new Gaq();\n var asyncTrackers = window._gaq || [];\n if (Array.isArray(asyncTrackers)) {\n while (asyncTrackers[0]) {\n gaq.push(asyncTrackers.shift());\n }\n }\n window._gaq = gaq.qf = gaq;\n function Gat() {}\n var api = ['_addIgnoredOrganic', '_addIgnoredRef', '_addItem', '_addOrganic', '_addTrans', '_clearIgnoredOrganic', '_clearIgnoredRef', '_clearOrganic', '_cookiePathCopy', '_deleteCustomVar', '_getName', '_setAccount', '_getAccount', '_getClientInfo', '_getDetectFlash', '_getDetectTitle', '_getLinkerUrl', '_getLocalGifPath', '_getServiceMode', '_getVersion', '_getVisitorCustomVar', '_initData', '_link', '_linkByPost', '_setAllowAnchor', '_setAllowHash', '_setAllowLinker', '_setCampContentKey', '_setCampMediumKey', '_setCampNameKey', '_setCampNOKey', '_setCampSourceKey', '_setCampTermKey', '_setCampaignCookieTimeout', '_setCampaignTrack', '_setClientInfo', '_setCookiePath', '_setCookiePersistence', '_setCookieTimeout', '_setCustomVar', '_setDetectFlash', '_setDetectTitle', '_setDomainName', '_setLocalGifPath', '_setLocalRemoteServerMode', '_setLocalServerMode', '_setReferrerOverride', '_setRemoteServerMode', '_setSampleRate', '_setSessionTimeout', '_setSiteSpeedSampleRate', '_setSessionCookieTimeout', '_setVar', '_setVisitorCookieTimeout', '_trackEvent', '_trackPageLoadTime', '_trackPageview', '_trackSocial', '_trackTiming', '_trackTrans', '_visitCode'];\n var tracker = api.reduce(function (res, funcName) {\n res[funcName] = noopFunc;\n return res;\n }, {});\n tracker._getLinkerUrl = function (a) {\n return a;\n };\n tracker._link = function (url) {\n if (typeof url !== 'string') {\n return;\n }\n try {\n window.location.assign(url);\n } catch (e) {\n logMessage(source, e);\n }\n };\n Gat.prototype._anonymizeIP = noopFunc;\n Gat.prototype._createTracker = noopFunc;\n Gat.prototype._forceSSL = noopFunc;\n Gat.prototype._getPlugin = noopFunc;\n Gat.prototype._getTracker = function () {\n return tracker;\n };\n Gat.prototype._getTrackerByName = function () {\n return tracker;\n };\n Gat.prototype._getTrackers = noopFunc;\n Gat.prototype.aa = noopFunc;\n Gat.prototype.ab = noopFunc;\n Gat.prototype.hb = noopFunc;\n Gat.prototype.la = noopFunc;\n Gat.prototype.oa = noopFunc;\n Gat.prototype.pa = noopFunc;\n Gat.prototype.u = noopFunc;\n var gat = new Gat();\n window._gat = gat;\n hit(source);\n }\n GoogleAnalyticsGa$1.names = ['google-analytics-ga', 'ubo-google-analytics_ga.js', 'google-analytics_ga.js'];\n GoogleAnalyticsGa$1.injections = [hit, noopFunc, logMessage];\n function GoogleIma3$1(source) {\n var _window$google$ima;\n var VERSION = '3.453.0';\n var ima = {};\n var AdDisplayContainer = function AdDisplayContainer(containerElement) {\n var divElement = document.createElement('div');\n divElement.style.setProperty('display', 'none', 'important');\n divElement.style.setProperty('visibility', 'collapse', 'important');\n if (containerElement) {\n containerElement.appendChild(divElement);\n }\n };\n AdDisplayContainer.prototype.destroy = noopFunc;\n AdDisplayContainer.prototype.initialize = noopFunc;\n var ImaSdkSettings = function ImaSdkSettings() {};\n ImaSdkSettings.CompanionBackfillMode = {\n ALWAYS: 'always',\n ON_MASTER_AD: 'on_master_ad'\n };\n ImaSdkSettings.VpaidMode = {\n DISABLED: 0,\n ENABLED: 1,\n INSECURE: 2\n };\n ImaSdkSettings.prototype = {\n c: true,\n f: {},\n i: false,\n l: '',\n p: '',\n r: 0,\n t: '',\n v: '',\n getCompanionBackfill: noopFunc,\n getDisableCustomPlaybackForIOS10Plus() {\n return this.i;\n },\n getDisabledFlashAds: function getDisabledFlashAds() {\n return true;\n },\n getFeatureFlags() {\n return this.f;\n },\n getLocale() {\n return this.l;\n },\n getNumRedirects() {\n return this.r;\n },\n getPlayerType() {\n return this.t;\n },\n getPlayerVersion() {\n return this.v;\n },\n getPpid() {\n return this.p;\n },\n getVpaidMode() {\n return this.C;\n },\n isCookiesEnabled() {\n return this.c;\n },\n isVpaidAdapter() {\n return this.M;\n },\n setCompanionBackfill: noopFunc,\n setAutoPlayAdBreaks(a) {\n this.K = a;\n },\n setCookiesEnabled(c) {\n this.c = !!c;\n },\n setDisableCustomPlaybackForIOS10Plus(i) {\n this.i = !!i;\n },\n setDisableFlashAds: noopFunc,\n setFeatureFlags(f) {\n this.f = !!f;\n },\n setIsVpaidAdapter(a) {\n this.M = a;\n },\n setLocale(l) {\n this.l = !!l;\n },\n setNumRedirects(r) {\n this.r = !!r;\n },\n setPageCorrelator(a) {\n this.R = a;\n },\n setPlayerType(t) {\n this.t = !!t;\n },\n setPlayerVersion(v) {\n this.v = !!v;\n },\n setPpid(p) {\n this.p = !!p;\n },\n setVpaidMode(a) {\n this.C = a;\n },\n setSessionId: noopFunc,\n setStreamCorrelator: noopFunc,\n setVpaidAllowed: noopFunc,\n CompanionBackfillMode: {\n ALWAYS: 'always',\n ON_MASTER_AD: 'on_master_ad'\n },\n VpaidMode: {\n DISABLED: 0,\n ENABLED: 1,\n INSECURE: 2\n }\n };\n var EventHandler = function EventHandler() {\n this.listeners = new Map();\n this._dispatch = function (e) {\n var listeners = this.listeners.get(e.type);\n listeners = listeners ? listeners.values() : [];\n for (var _i = 0, _Array$from = Array.from(listeners); _i < _Array$from.length; _i++) {\n var listener = _Array$from[_i];\n try {\n listener(e);\n } catch (r) {\n logMessage(source, r);\n }\n }\n };\n this.addEventListener = function (types, callback, options, context) {\n if (!Array.isArray(types)) {\n types = [types];\n }\n for (var i = 0; i < types.length; i += 1) {\n var type = types[i];\n if (!this.listeners.has(type)) {\n this.listeners.set(type, new Map());\n }\n this.listeners.get(type).set(callback, callback.bind(context || this));\n }\n };\n this.removeEventListener = function (types, callback) {\n if (!Array.isArray(types)) {\n types = [types];\n }\n for (var i = 0; i < types.length; i += 1) {\n var _this$listeners$get;\n var type = types[i];\n (_this$listeners$get = this.listeners.get(type)) === null || _this$listeners$get === void 0 ? void 0 : _this$listeners$get.delete(callback);\n }\n };\n };\n var AdsManager = new EventHandler();\n AdsManager.volume = 1;\n AdsManager.collapse = noopFunc;\n AdsManager.configureAdsManager = noopFunc;\n AdsManager.destroy = noopFunc;\n AdsManager.discardAdBreak = noopFunc;\n AdsManager.expand = noopFunc;\n AdsManager.focus = noopFunc;\n AdsManager.getAdSkippableState = function () {\n return false;\n };\n AdsManager.getCuePoints = function () {\n return [0];\n };\n AdsManager.getCurrentAd = function () {\n return currentAd;\n };\n AdsManager.getCurrentAdCuePoints = function () {\n return [];\n };\n AdsManager.getRemainingTime = function () {\n return 0;\n };\n AdsManager.getVolume = function () {\n return this.volume;\n };\n AdsManager.init = noopFunc;\n AdsManager.isCustomClickTrackingUsed = function () {\n return false;\n };\n AdsManager.isCustomPlaybackUsed = function () {\n return false;\n };\n AdsManager.pause = noopFunc;\n AdsManager.requestNextAdBreak = noopFunc;\n AdsManager.resize = noopFunc;\n AdsManager.resume = noopFunc;\n AdsManager.setVolume = function (v) {\n this.volume = v;\n };\n AdsManager.skip = noopFunc;\n AdsManager.start = function () {\n for (var _i2 = 0, _arr = [AdEvent.Type.ALL_ADS_COMPLETED, AdEvent.Type.CONTENT_RESUME_REQUESTED]; _i2 < _arr.length; _i2++) {\n var type = _arr[_i2];\n try {\n this._dispatch(new ima.AdEvent(type));\n } catch (e) {\n logMessage(source, e);\n }\n }\n };\n AdsManager.stop = noopFunc;\n AdsManager.updateAdsRenderingSettings = noopFunc;\n var manager = Object.create(AdsManager);\n var AdsManagerLoadedEvent = function AdsManagerLoadedEvent(type, adsRequest, userRequestContext) {\n this.type = type;\n this.adsRequest = adsRequest;\n this.userRequestContext = userRequestContext;\n };\n AdsManagerLoadedEvent.prototype = {\n getAdsManager: function getAdsManager() {\n return manager;\n },\n getUserRequestContext() {\n if (this.userRequestContext) {\n return this.userRequestContext;\n }\n return {};\n }\n };\n AdsManagerLoadedEvent.Type = {\n ADS_MANAGER_LOADED: 'adsManagerLoaded'\n };\n var AdsLoader = EventHandler;\n AdsLoader.prototype.settings = new ImaSdkSettings();\n AdsLoader.prototype.contentComplete = noopFunc;\n AdsLoader.prototype.destroy = noopFunc;\n AdsLoader.prototype.getSettings = function () {\n return this.settings;\n };\n AdsLoader.prototype.getVersion = function () {\n return VERSION;\n };\n AdsLoader.prototype.requestAds = function (adsRequest, userRequestContext) {\n var _this = this;\n requestAnimationFrame(function () {\n var ADS_MANAGER_LOADED = AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED;\n var event = new ima.AdsManagerLoadedEvent(ADS_MANAGER_LOADED, adsRequest, userRequestContext);\n _this._dispatch(event);\n });\n var e = new ima.AdError('adPlayError', 1205, 1205, 'The browser prevented playback initiated without user interaction.', adsRequest, userRequestContext);\n requestAnimationFrame(function () {\n _this._dispatch(new ima.AdErrorEvent(e));\n });\n };\n var AdsRenderingSettings = noopFunc;\n var AdsRequest = function AdsRequest() {};\n AdsRequest.prototype = {\n setAdWillAutoPlay: noopFunc,\n setAdWillPlayMuted: noopFunc,\n setContinuousPlayback: noopFunc\n };\n var AdPodInfo = function AdPodInfo() {};\n AdPodInfo.prototype = {\n getAdPosition: function getAdPosition() {\n return 1;\n },\n getIsBumper: function getIsBumper() {\n return false;\n },\n getMaxDuration: function getMaxDuration() {\n return -1;\n },\n getPodIndex: function getPodIndex() {\n return 1;\n },\n getTimeOffset: function getTimeOffset() {\n return 0;\n },\n getTotalAds: function getTotalAds() {\n return 1;\n }\n };\n var UniversalAdIdInfo = function UniversalAdIdInfo() {};\n UniversalAdIdInfo.prototype.getAdIdRegistry = function () {\n return '';\n };\n UniversalAdIdInfo.prototype.getAdIsValue = function () {\n return '';\n };\n var Ad = function Ad() {};\n Ad.prototype = {\n pi: new AdPodInfo(),\n getAdId: function getAdId() {\n return '';\n },\n getAdPodInfo() {\n return this.pi;\n },\n getAdSystem: function getAdSystem() {\n return '';\n },\n getAdvertiserName: function getAdvertiserName() {\n return '';\n },\n getApiFramework: function getApiFramework() {\n return null;\n },\n getCompanionAds: function getCompanionAds() {\n return [];\n },\n getContentType: function getContentType() {\n return '';\n },\n getCreativeAdId: function getCreativeAdId() {\n return '';\n },\n getDealId: function getDealId() {\n return '';\n },\n getDescription: function getDescription() {\n return '';\n },\n getDuration: function getDuration() {\n return 8.5;\n },\n getHeight: function getHeight() {\n return 0;\n },\n getMediaUrl: function getMediaUrl() {\n return null;\n },\n getMinSuggestedDuration: function getMinSuggestedDuration() {\n return -2;\n },\n getSkipTimeOffset: function getSkipTimeOffset() {\n return -1;\n },\n getSurveyUrl: function getSurveyUrl() {\n return null;\n },\n getTitle: function getTitle() {\n return '';\n },\n getTraffickingParametersString: function getTraffickingParametersString() {\n return '';\n },\n getUiElements: function getUiElements() {\n return [''];\n },\n getUniversalAdIdRegistry: function getUniversalAdIdRegistry() {\n return 'unknown';\n },\n getUniversalAdIds: function getUniversalAdIds() {\n return [new UniversalAdIdInfo()];\n },\n getUniversalAdIdValue: function getUniversalAdIdValue() {\n return 'unknown';\n },\n getVastMediaBitrate: function getVastMediaBitrate() {\n return 0;\n },\n getVastMediaHeight: function getVastMediaHeight() {\n return 0;\n },\n getVastMediaWidth: function getVastMediaWidth() {\n return 0;\n },\n getWidth: function getWidth() {\n return 0;\n },\n getWrapperAdIds: function getWrapperAdIds() {\n return [''];\n },\n getWrapperAdSystems: function getWrapperAdSystems() {\n return [''];\n },\n getWrapperCreativeIds: function getWrapperCreativeIds() {\n return [''];\n },\n isLinear: function isLinear() {\n return true;\n },\n isSkippable() {\n return true;\n }\n };\n var CompanionAd = function CompanionAd() {};\n CompanionAd.prototype = {\n getAdSlotId: function getAdSlotId() {\n return '';\n },\n getContent: function getContent() {\n return '';\n },\n getContentType: function getContentType() {\n return '';\n },\n getHeight: function getHeight() {\n return 1;\n },\n getWidth: function getWidth() {\n return 1;\n }\n };\n var AdError = function AdError(type, code, vast, message, adsRequest, userRequestContext) {\n this.errorCode = code;\n this.message = message;\n this.type = type;\n this.adsRequest = adsRequest;\n this.userRequestContext = userRequestContext;\n this.getErrorCode = function () {\n return this.errorCode;\n };\n this.getInnerError = function () {\n return null;\n };\n this.getMessage = function () {\n return this.message;\n };\n this.getType = function () {\n return this.type;\n };\n this.getVastErrorCode = function () {\n return this.vastErrorCode;\n };\n this.toString = function () {\n return \"AdError \".concat(this.errorCode, \": \").concat(this.message);\n };\n };\n AdError.ErrorCode = {};\n AdError.Type = {};\n var isEngadget = function isEngadget() {\n try {\n for (var _i3 = 0, _Object$values = Object.values(window.vidible._getContexts()); _i3 < _Object$values.length; _i3++) {\n var _ctx$getPlayer, _ctx$getPlayer$div;\n var ctx = _Object$values[_i3];\n if ((_ctx$getPlayer = ctx.getPlayer()) !== null && _ctx$getPlayer !== void 0 && (_ctx$getPlayer$div = _ctx$getPlayer.div) !== null && _ctx$getPlayer$div !== void 0 && _ctx$getPlayer$div.innerHTML.includes('www.engadget.com')) {\n return true;\n }\n }\n } catch (e) {}\n return false;\n };\n var currentAd = isEngadget() ? undefined : new Ad();\n var AdEvent = function AdEvent(type) {\n this.type = type;\n };\n AdEvent.prototype = {\n getAd: function getAd() {\n return currentAd;\n },\n getAdData: function getAdData() {}\n };\n AdEvent.Type = {\n AD_BREAK_READY: 'adBreakReady',\n AD_BUFFERING: 'adBuffering',\n AD_CAN_PLAY: 'adCanPlay',\n AD_METADATA: 'adMetadata',\n AD_PROGRESS: 'adProgress',\n ALL_ADS_COMPLETED: 'allAdsCompleted',\n CLICK: 'click',\n COMPLETE: 'complete',\n CONTENT_PAUSE_REQUESTED: 'contentPauseRequested',\n CONTENT_RESUME_REQUESTED: 'contentResumeRequested',\n DURATION_CHANGE: 'durationChange',\n EXPANDED_CHANGED: 'expandedChanged',\n FIRST_QUARTILE: 'firstQuartile',\n IMPRESSION: 'impression',\n INTERACTION: 'interaction',\n LINEAR_CHANGE: 'linearChange',\n LINEAR_CHANGED: 'linearChanged',\n LOADED: 'loaded',\n LOG: 'log',\n MIDPOINT: 'midpoint',\n PAUSED: 'pause',\n RESUMED: 'resume',\n SKIPPABLE_STATE_CHANGED: 'skippableStateChanged',\n SKIPPED: 'skip',\n STARTED: 'start',\n THIRD_QUARTILE: 'thirdQuartile',\n USER_CLOSE: 'userClose',\n VIDEO_CLICKED: 'videoClicked',\n VIDEO_ICON_CLICKED: 'videoIconClicked',\n VIEWABLE_IMPRESSION: 'viewable_impression',\n VOLUME_CHANGED: 'volumeChange',\n VOLUME_MUTED: 'mute'\n };\n var AdErrorEvent = function AdErrorEvent(error) {\n this.error = error;\n this.type = 'adError';\n this.getError = function () {\n return this.error;\n };\n this.getUserRequestContext = function () {\n var _this$error;\n if ((_this$error = this.error) !== null && _this$error !== void 0 && _this$error.userRequestContext) {\n return this.error.userRequestContext;\n }\n return {};\n };\n };\n AdErrorEvent.Type = {\n AD_ERROR: 'adError'\n };\n var CustomContentLoadedEvent = function CustomContentLoadedEvent() {};\n CustomContentLoadedEvent.Type = {\n CUSTOM_CONTENT_LOADED: 'deprecated-event'\n };\n var CompanionAdSelectionSettings = function CompanionAdSelectionSettings() {};\n CompanionAdSelectionSettings.CreativeType = {\n ALL: 'All',\n FLASH: 'Flash',\n IMAGE: 'Image'\n };\n CompanionAdSelectionSettings.ResourceType = {\n ALL: 'All',\n HTML: 'Html',\n IFRAME: 'IFrame',\n STATIC: 'Static'\n };\n CompanionAdSelectionSettings.SizeCriteria = {\n IGNORE: 'IgnoreSize',\n SELECT_EXACT_MATCH: 'SelectExactMatch',\n SELECT_NEAR_MATCH: 'SelectNearMatch'\n };\n var AdCuePoints = function AdCuePoints() {};\n AdCuePoints.prototype = {\n getCuePoints: function getCuePoints() {\n return [];\n },\n getAdIdRegistry: function getAdIdRegistry() {\n return '';\n },\n getAdIdValue: function getAdIdValue() {\n return '';\n }\n };\n var AdProgressData = noopFunc;\n Object.assign(ima, {\n AdCuePoints,\n AdDisplayContainer,\n AdError,\n AdErrorEvent,\n AdEvent,\n AdPodInfo,\n AdProgressData,\n AdsLoader,\n AdsManager: manager,\n AdsManagerLoadedEvent,\n AdsRenderingSettings,\n AdsRequest,\n CompanionAd,\n CompanionAdSelectionSettings,\n CustomContentLoadedEvent,\n gptProxyInstance: {},\n ImaSdkSettings,\n OmidAccessMode: {\n DOMAIN: 'domain',\n FULL: 'full',\n LIMITED: 'limited'\n },\n OmidVerificationVendor: {\n 1: 'OTHER',\n 2: 'MOAT',\n 3: 'DOUBLEVERIFY',\n 4: 'INTEGRAL_AD_SCIENCE',\n 5: 'PIXELATE',\n 6: 'NIELSEN',\n 7: 'COMSCORE',\n 8: 'MEETRICS',\n 9: 'GOOGLE',\n OTHER: 1,\n MOAT: 2,\n DOUBLEVERIFY: 3,\n INTEGRAL_AD_SCIENCE: 4,\n PIXELATE: 5,\n NIELSEN: 6,\n COMSCORE: 7,\n MEETRICS: 8,\n GOOGLE: 9\n },\n settings: new ImaSdkSettings(),\n UiElements: {\n AD_ATTRIBUTION: 'adAttribution',\n COUNTDOWN: 'countdown'\n },\n UniversalAdIdInfo,\n VERSION,\n ViewMode: {\n FULLSCREEN: 'fullscreen',\n NORMAL: 'normal'\n }\n });\n if (!window.google) {\n window.google = {};\n }\n if ((_window$google$ima = window.google.ima) !== null && _window$google$ima !== void 0 && _window$google$ima.dai) {\n ima.dai = window.google.ima.dai;\n }\n window.google.ima = ima;\n hit(source);\n }\n GoogleIma3$1.names = ['google-ima3',\n 'ubo-google-ima.js',\n 'google-ima.js'];\n GoogleIma3$1.injections = [hit, noopFunc, logMessage];\n function GoogleSyndicationAdsByGoogle$1(source) {\n window.adsbygoogle = {\n loaded: true,\n push(arg) {\n if (typeof this.length === 'undefined') {\n this.length = 0;\n this.length += 1;\n }\n if (arg !== null && arg instanceof Object && arg.constructor.name === 'Object') {\n for (var _i = 0, _Object$keys = Object.keys(arg); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (typeof arg[key] === 'function') {\n try {\n arg[key].call(this, {});\n } catch (_unused) {\n }\n }\n }\n }\n }\n };\n var adElems = document.querySelectorAll('.adsbygoogle');\n var css = 'height:1px!important;max-height:1px!important;max-width:1px!important;width:1px!important;';\n var statusAttrName = 'data-adsbygoogle-status';\n var ASWIFT_IFRAME_MARKER = 'aswift_';\n var GOOGLE_ADS_IFRAME_MARKER = 'google_ads_iframe_';\n var executed = false;\n for (var i = 0; i < adElems.length; i += 1) {\n var adElemChildNodes = adElems[i].childNodes;\n var childNodesQuantity = adElemChildNodes.length;\n var areIframesDefined = false;\n if (childNodesQuantity > 0) {\n areIframesDefined = childNodesQuantity === 2\n && adElemChildNodes[0].nodeName.toLowerCase() === 'iframe' && adElemChildNodes[0].id.includes(ASWIFT_IFRAME_MARKER)\n && adElemChildNodes[1].nodeName.toLowerCase() === 'iframe' && adElemChildNodes[1].id.includes(GOOGLE_ADS_IFRAME_MARKER);\n }\n if (!areIframesDefined) {\n adElems[i].setAttribute(statusAttrName, 'done');\n var aswiftIframe = document.createElement('iframe');\n aswiftIframe.id = \"\".concat(ASWIFT_IFRAME_MARKER).concat(i);\n aswiftIframe.style = css;\n adElems[i].appendChild(aswiftIframe);\n var innerAswiftIframe = document.createElement('iframe');\n aswiftIframe.contentWindow.document.body.appendChild(innerAswiftIframe);\n var googleadsIframe = document.createElement('iframe');\n googleadsIframe.id = \"\".concat(GOOGLE_ADS_IFRAME_MARKER).concat(i);\n googleadsIframe.style = css;\n adElems[i].appendChild(googleadsIframe);\n var innerGoogleadsIframe = document.createElement('iframe');\n googleadsIframe.contentWindow.document.body.appendChild(innerGoogleadsIframe);\n executed = true;\n }\n }\n if (executed) {\n hit(source);\n }\n }\n GoogleSyndicationAdsByGoogle$1.names = ['googlesyndication-adsbygoogle', 'ubo-googlesyndication_adsbygoogle.js', 'googlesyndication_adsbygoogle.js'];\n GoogleSyndicationAdsByGoogle$1.injections = [hit];\n function GoogleTagServicesGpt$1(source) {\n var slots = new Map();\n var slotsById = new Map();\n var slotsPerPath = new Map();\n var slotCreatives = new Map();\n var eventCallbacks = new Map();\n var gTargeting = new Map();\n var addEventListener = function addEventListener(name, listener) {\n if (!eventCallbacks.has(name)) {\n eventCallbacks.set(name, new Set());\n }\n eventCallbacks.get(name).add(listener);\n return this;\n };\n var removeEventListener = function removeEventListener(name, listener) {\n if (eventCallbacks.has(name)) {\n return eventCallbacks.get(name).delete(listener);\n }\n return false;\n };\n var fireSlotEvent = function fireSlotEvent(name, slot) {\n return new Promise(function (resolve) {\n requestAnimationFrame(function () {\n var size = [0, 0];\n var callbacksSet = eventCallbacks.get(name) || [];\n var callbackArray = Array.from(callbacksSet);\n for (var i = 0; i < callbackArray.length; i += 1) {\n callbackArray[i]({\n isEmpty: true,\n size,\n slot\n });\n }\n resolve();\n });\n });\n };\n var emptySlotElement = function emptySlotElement(slot) {\n var node = document.getElementById(slot.getSlotElementId());\n while (node !== null && node !== void 0 && node.lastChild) {\n node.lastChild.remove();\n }\n };\n var recreateIframeForSlot = function recreateIframeForSlot(slot) {\n var _document$getElementB;\n var eid = \"google_ads_iframe_\".concat(slot.getId());\n (_document$getElementB = document.getElementById(eid)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.remove();\n var node = document.getElementById(slot.getSlotElementId());\n if (node) {\n var f = document.createElement('iframe');\n f.id = eid;\n f.srcdoc = '';\n f.style = 'position:absolute; width:0; height:0; left:0; right:0; z-index:-1; border:0';\n f.setAttribute('width', 0);\n f.setAttribute('height', 0);\n f.setAttribute('data-load-complete', true);\n f.setAttribute('data-google-container-id', true);\n f.setAttribute('sandbox', '');\n node.appendChild(f);\n }\n };\n var displaySlot = function displaySlot(slot) {\n if (!slot) {\n return;\n }\n var id = slot.getSlotElementId();\n if (!document.getElementById(id)) {\n return;\n }\n var parent = document.getElementById(id);\n if (parent) {\n parent.appendChild(document.createElement('div'));\n }\n emptySlotElement(slot);\n recreateIframeForSlot(slot);\n fireSlotEvent('slotRenderEnded', slot);\n fireSlotEvent('slotRequested', slot);\n fireSlotEvent('slotResponseReceived', slot);\n fireSlotEvent('slotOnload', slot);\n fireSlotEvent('impressionViewable', slot);\n };\n var companionAdsService = {\n addEventListener,\n removeEventListener,\n enableSyncLoading: noopFunc,\n setRefreshUnfilledSlots: noopFunc,\n getSlots: noopArray\n };\n var contentService = {\n addEventListener,\n removeEventListener,\n setContent: noopFunc\n };\n function PassbackSlot() {}\n PassbackSlot.prototype.display = noopFunc;\n PassbackSlot.prototype.get = noopNull;\n PassbackSlot.prototype.set = noopThis;\n PassbackSlot.prototype.setClickUrl = noopThis;\n PassbackSlot.prototype.setTagForChildDirectedTreatment = noopThis;\n PassbackSlot.prototype.setTargeting = noopThis;\n PassbackSlot.prototype.updateTargetingFromMap = noopThis;\n function SizeMappingBuilder() {}\n SizeMappingBuilder.prototype.addSize = noopThis;\n SizeMappingBuilder.prototype.build = noopNull;\n var getTargetingValue = function getTargetingValue(v) {\n if (typeof v === 'string') {\n return [v];\n }\n try {\n return Array.prototype.flat.call(v);\n } catch (_unused) {\n }\n return [];\n };\n var updateTargeting = function updateTargeting(targeting, map) {\n if (typeof map === 'object') {\n for (var key in map) {\n if (Object.prototype.hasOwnProperty.call(map, key)) {\n targeting.set(key, getTargetingValue(map[key]));\n }\n }\n }\n };\n var defineSlot = function defineSlot(adUnitPath, creatives, optDiv) {\n if (slotsById.has(optDiv)) {\n var _document$getElementB2;\n (_document$getElementB2 = document.getElementById(optDiv)) === null || _document$getElementB2 === void 0 ? void 0 : _document$getElementB2.remove();\n return slotsById.get(optDiv);\n }\n var attributes = new Map();\n var targeting = new Map();\n var exclusions = new Set();\n var response = {\n advertiserId: undefined,\n campaignId: undefined,\n creativeId: undefined,\n creativeTemplateId: undefined,\n lineItemId: undefined\n };\n var sizes = [{\n getHeight: function getHeight() {\n return 2;\n },\n getWidth: function getWidth() {\n return 2;\n }\n }];\n var num = (slotsPerPath.get(adUnitPath) || 0) + 1;\n slotsPerPath.set(adUnitPath, num);\n var id = \"\".concat(adUnitPath, \"_\").concat(num);\n var clickUrl = '';\n var collapseEmptyDiv = null;\n var services = new Set();\n var slot = {\n addService(e) {\n services.add(e);\n return slot;\n },\n clearCategoryExclusions: noopThis,\n clearTargeting(k) {\n if (k === undefined) {\n targeting.clear();\n } else {\n targeting.delete(k);\n }\n },\n defineSizeMapping(mapping) {\n slotCreatives.set(optDiv, mapping);\n return this;\n },\n get: function get(k) {\n return attributes.get(k);\n },\n getAdUnitPath: function getAdUnitPath() {\n return adUnitPath;\n },\n getAttributeKeys: function getAttributeKeys() {\n return Array.from(attributes.keys());\n },\n getCategoryExclusions: function getCategoryExclusions() {\n return Array.from(exclusions);\n },\n getClickUrl: function getClickUrl() {\n return clickUrl;\n },\n getCollapseEmptyDiv: function getCollapseEmptyDiv() {\n return collapseEmptyDiv;\n },\n getContentUrl: function getContentUrl() {\n return '';\n },\n getDivStartsCollapsed: function getDivStartsCollapsed() {\n return null;\n },\n getDomId: function getDomId() {\n return optDiv;\n },\n getEscapedQemQueryId: function getEscapedQemQueryId() {\n return '';\n },\n getFirstLook: function getFirstLook() {\n return 0;\n },\n getId: function getId() {\n return id;\n },\n getHtml: function getHtml() {\n return '';\n },\n getName: function getName() {\n return id;\n },\n getOutOfPage: function getOutOfPage() {\n return false;\n },\n getResponseInformation: function getResponseInformation() {\n return response;\n },\n getServices: function getServices() {\n return Array.from(services);\n },\n getSizes: function getSizes() {\n return sizes;\n },\n getSlotElementId: function getSlotElementId() {\n return optDiv;\n },\n getSlotId: function getSlotId() {\n return slot;\n },\n getTargeting: function getTargeting(k) {\n return targeting.get(k) || gTargeting.get(k) || [];\n },\n getTargetingKeys: function getTargetingKeys() {\n return Array.from(new Set(Array.of(...gTargeting.keys(), ...targeting.keys())));\n },\n getTargetingMap: function getTargetingMap() {\n return Object.assign(Object.fromEntries(gTargeting.entries()), Object.fromEntries(targeting.entries()));\n },\n set(k, v) {\n attributes.set(k, v);\n return slot;\n },\n setCategoryExclusion(e) {\n exclusions.add(e);\n return slot;\n },\n setClickUrl(u) {\n clickUrl = u;\n return slot;\n },\n setCollapseEmptyDiv(v) {\n collapseEmptyDiv = !!v;\n return slot;\n },\n setSafeFrameConfig: noopThis,\n setTagForChildDirectedTreatment: noopThis,\n setTargeting(k, v) {\n targeting.set(k, getTargetingValue(v));\n return slot;\n },\n toString: function toString() {\n return id;\n },\n updateTargetingFromMap(map) {\n updateTargeting(targeting, map);\n return slot;\n }\n };\n slots.set(adUnitPath, slot);\n slotsById.set(optDiv, slot);\n slotCreatives.set(optDiv, creatives);\n return slot;\n };\n var pubAdsService = {\n addEventListener,\n removeEventListener,\n clear: noopFunc,\n clearCategoryExclusions: noopThis,\n clearTagForChildDirectedTreatment: noopThis,\n clearTargeting(k) {\n if (k === undefined) {\n gTargeting.clear();\n } else {\n gTargeting.delete(k);\n }\n },\n collapseEmptyDivs: noopFunc,\n defineOutOfPagePassback() {\n return new PassbackSlot();\n },\n definePassback() {\n return new PassbackSlot();\n },\n disableInitialLoad: noopFunc,\n display: noopFunc,\n enableAsyncRendering: noopFunc,\n enableLazyLoad: noopFunc,\n enableSingleRequest: noopFunc,\n enableSyncRendering: noopFunc,\n enableVideoAds: noopFunc,\n get: noopNull,\n getAttributeKeys: noopArray,\n getTargeting: noopArray,\n getTargetingKeys: noopArray,\n getSlots: noopArray,\n isInitialLoadDisabled: trueFunc,\n refresh: noopFunc,\n set: noopThis,\n setCategoryExclusion: noopThis,\n setCentering: noopFunc,\n setCookieOptions: noopThis,\n setForceSafeFrame: noopThis,\n setLocation: noopThis,\n setPrivacySettings: noopThis,\n setPublisherProvidedId: noopThis,\n setRequestNonPersonalizedAds: noopThis,\n setSafeFrameConfig: noopThis,\n setTagForChildDirectedTreatment: noopThis,\n setTargeting: noopThis,\n setVideoContent: noopThis,\n updateCorrelator: noopFunc\n };\n var _window = window,\n _window$googletag = _window.googletag,\n googletag = _window$googletag === void 0 ? {} : _window$googletag;\n var _googletag$cmd = googletag.cmd,\n cmd = _googletag$cmd === void 0 ? [] : _googletag$cmd;\n googletag.apiReady = true;\n googletag.cmd = [];\n googletag.cmd.push = function (a) {\n try {\n a();\n } catch (ex) {}\n return 1;\n };\n googletag.companionAds = function () {\n return companionAdsService;\n };\n googletag.content = function () {\n return contentService;\n };\n googletag.defineOutOfPageSlot = defineSlot;\n googletag.defineSlot = defineSlot;\n googletag.destroySlots = function () {\n slots.clear();\n slotsById.clear();\n };\n googletag.disablePublisherConsole = noopFunc;\n googletag.display = function (arg) {\n var id;\n if (arg !== null && arg !== void 0 && arg.getSlotElementId) {\n id = arg.getSlotElementId();\n } else if (arg !== null && arg !== void 0 && arg.nodeType) {\n id = arg.id;\n } else {\n id = String(arg);\n }\n displaySlot(slotsById.get(id));\n };\n googletag.enableServices = noopFunc;\n googletag.getVersion = noopStr;\n googletag.pubads = function () {\n return pubAdsService;\n };\n googletag.pubadsReady = true;\n googletag.setAdIframeTitle = noopFunc;\n googletag.sizeMapping = function () {\n return new SizeMappingBuilder();\n };\n window.googletag = googletag;\n while (cmd.length !== 0) {\n googletag.cmd.push(cmd.shift());\n }\n hit(source);\n }\n GoogleTagServicesGpt$1.names = ['googletagservices-gpt', 'ubo-googletagservices_gpt.js', 'googletagservices_gpt.js'];\n GoogleTagServicesGpt$1.injections = [hit, noopFunc, noopThis, noopNull, noopArray, noopStr, trueFunc];\n function Matomo$1(source) {\n var Tracker = function Tracker() {};\n Tracker.prototype.setDoNotTrack = noopFunc;\n Tracker.prototype.setDomains = noopFunc;\n Tracker.prototype.setCustomDimension = noopFunc;\n Tracker.prototype.trackPageView = noopFunc;\n var AsyncTracker = function AsyncTracker() {};\n AsyncTracker.prototype.addListener = noopFunc;\n var matomoWrapper = {\n getTracker: Tracker,\n getAsyncTracker: AsyncTracker\n };\n window.Piwik = matomoWrapper;\n hit(source);\n }\n Matomo$1.names = ['matomo'];\n Matomo$1.injections = [hit, noopFunc];\n function metrikaYandexTag$1(source) {\n var asyncCallbackFromOptions = function asyncCallbackFromOptions(id, param) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = options.callback;\n var ctx = options.ctx;\n if (typeof callback === 'function') {\n callback = ctx !== undefined ? callback.bind(ctx) : callback;\n setTimeout(function () {\n return callback();\n });\n }\n };\n var addFileExtension = noopFunc;\n var extLink = asyncCallbackFromOptions;\n var file = asyncCallbackFromOptions;\n var getClientID = function getClientID(id, cb) {\n if (!cb) {\n return;\n }\n setTimeout(cb(null));\n };\n var hitFunc = asyncCallbackFromOptions;\n var notBounce = asyncCallbackFromOptions;\n var params = noopFunc;\n var reachGoal = function reachGoal(id, target, params, callback, ctx) {\n asyncCallbackFromOptions(null, null, {\n callback,\n ctx\n });\n };\n var setUserID = noopFunc;\n var userParams = noopFunc;\n var destruct = noopFunc;\n var api = {\n addFileExtension,\n extLink,\n file,\n getClientID,\n hit: hitFunc,\n notBounce,\n params,\n reachGoal,\n setUserID,\n userParams,\n destruct\n };\n function ym(id, funcName) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return api[funcName] && api[funcName](id, ...args);\n }\n function init(id) {\n window[\"yaCounter\".concat(id)] = api;\n document.dispatchEvent(new Event(\"yacounter\".concat(id, \"inited\")));\n }\n if (typeof window.ym === 'undefined') {\n window.ym = ym;\n ym.a = [];\n } else if (window.ym && window.ym.a) {\n ym.a = window.ym.a;\n window.ym = ym;\n window.ym.a.forEach(function (params) {\n var id = params[0];\n init(id);\n });\n }\n hit(source);\n }\n metrikaYandexTag$1.names = ['metrika-yandex-tag'];\n metrikaYandexTag$1.injections = [hit, noopFunc];\n function metrikaYandexWatch$1(source) {\n var cbName = 'yandex_metrika_callbacks';\n var asyncCallbackFromOptions = function asyncCallbackFromOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = options.callback;\n var ctx = options.ctx;\n if (typeof callback === 'function') {\n callback = ctx !== undefined ? callback.bind(ctx) : callback;\n setTimeout(function () {\n return callback();\n });\n }\n };\n function Metrika() {}\n Metrika.counters = noopArray;\n Metrika.prototype.addFileExtension = noopFunc;\n Metrika.prototype.getClientID = noopFunc;\n Metrika.prototype.setUserID = noopFunc;\n Metrika.prototype.userParams = noopFunc;\n Metrika.prototype.params = noopFunc;\n Metrika.prototype.counters = noopArray;\n Metrika.prototype.extLink = function (url, options) {\n asyncCallbackFromOptions(options);\n };\n Metrika.prototype.file = function (url, options) {\n asyncCallbackFromOptions(options);\n };\n Metrika.prototype.hit = function (url, options) {\n asyncCallbackFromOptions(options);\n };\n Metrika.prototype.reachGoal = function (target, params, cb, ctx) {\n asyncCallbackFromOptions({\n callback: cb,\n ctx\n });\n };\n Metrika.prototype.notBounce = asyncCallbackFromOptions;\n if (window.Ya) {\n window.Ya.Metrika = Metrika;\n } else {\n window.Ya = {\n Metrika\n };\n }\n if (window[cbName] && Array.isArray(window[cbName])) {\n window[cbName].forEach(function (func) {\n if (typeof func === 'function') {\n func();\n }\n });\n }\n hit(source);\n }\n metrikaYandexWatch$1.names = ['metrika-yandex-watch'];\n metrikaYandexWatch$1.injections = [hit, noopFunc, noopArray];\n function NaverWcslog$1(source) {\n window.wcs_add = {};\n window.wcs_do = noopFunc;\n window.wcs = {\n inflow: noopFunc\n };\n hit(source);\n }\n NaverWcslog$1.names = ['naver-wcslog'];\n NaverWcslog$1.injections = [hit, noopFunc];\n function Pardot$1(source) {\n window.piVersion = '1.0.2';\n window.piScriptNum = 0;\n window.piScriptObj = [];\n window.checkNamespace = noopFunc;\n window.getPardotUrl = noopStr;\n window.piGetParameter = noopNull;\n window.piSetCookie = noopFunc;\n window.piGetCookie = noopStr;\n function piTracker() {\n window.pi = {\n tracker: {\n visitor_id: '',\n visitor_id_sign: '',\n pi_opt_in: '',\n campaign_id: ''\n }\n };\n window.piScriptNum += 1;\n }\n window.piResponse = noopFunc;\n window.piTracker = piTracker;\n piTracker();\n hit(source);\n }\n Pardot$1.names = ['pardot-1.0'];\n Pardot$1.injections = [hit, noopFunc, noopStr, noopNull];\n function Prebid$1(source) {\n var pushFunction = function pushFunction(arg) {\n if (typeof arg === 'function') {\n try {\n arg.call();\n } catch (ex) {\n }\n }\n };\n var pbjsWrapper = {\n addAdUnits() {},\n adServers: {\n dfp: {\n buildVideoUrl: noopStr\n }\n },\n adUnits: [],\n aliasBidder() {},\n cmd: [],\n enableAnalytics() {},\n getHighestCpmBids: noopArray,\n libLoaded: true,\n que: [],\n requestBids(arg) {\n if (arg instanceof Object && arg.bidsBackHandler) {\n try {\n arg.bidsBackHandler.call();\n } catch (ex) {\n }\n }\n },\n removeAdUnit() {},\n setBidderConfig() {},\n setConfig() {},\n setTargetingForGPTAsync() {}\n };\n pbjsWrapper.cmd.push = pushFunction;\n pbjsWrapper.que.push = pushFunction;\n window.pbjs = pbjsWrapper;\n hit(source);\n }\n Prebid$1.names = ['prebid'];\n Prebid$1.injections = [hit, noopFunc, noopStr, noopArray];\n function ScoreCardResearchBeacon$1(source) {\n window.COMSCORE = {\n purge() {\n window._comscore = [];\n },\n beacon() {}\n };\n hit(source);\n }\n ScoreCardResearchBeacon$1.names = ['scorecardresearch-beacon', 'ubo-scorecardresearch_beacon.js', 'scorecardresearch_beacon.js'];\n ScoreCardResearchBeacon$1.injections = [hit];\n var scriptletListRaw = Object.freeze({\n __proto__: null,\n AmazonApstag: AmazonApstag$1,\n DidomiLoader: DidomiLoader$1,\n Fingerprintjs2: Fingerprintjs2$1,\n Fingerprintjs3: Fingerprintjs3$1,\n Gemius: Gemius$1,\n GoogleAnalytics: GoogleAnalytics$1,\n GoogleAnalyticsGa: GoogleAnalyticsGa$1,\n GoogleIma3: GoogleIma3$1,\n GoogleSyndicationAdsByGoogle: GoogleSyndicationAdsByGoogle$1,\n GoogleTagServicesGpt: GoogleTagServicesGpt$1,\n Matomo: Matomo$1,\n NaverWcslog: NaverWcslog$1,\n Pardot: Pardot$1,\n Prebid: Prebid$1,\n ScoreCardResearchBeacon: ScoreCardResearchBeacon$1,\n abortCurrentInlineScript: abortCurrentInlineScript$1,\n abortOnPropertyRead: abortOnPropertyRead$1,\n abortOnPropertyWrite: abortOnPropertyWrite$1,\n abortOnStackTrace: abortOnStackTrace$1,\n adjustSetInterval: adjustSetInterval$1,\n adjustSetTimeout: adjustSetTimeout$1,\n callNoThrow: callNoThrow$1,\n debugCurrentInlineScript: debugCurrentInlineScript$1,\n debugOnPropertyRead: debugOnPropertyRead$1,\n debugOnPropertyWrite: debugOnPropertyWrite$1,\n dirString: dirString$1,\n disableNewtabLinks: disableNewtabLinks$1,\n evalDataPrune: evalDataPrune$1,\n forceWindowClose: forceWindowClose$1,\n hideInShadowDom: hideInShadowDom$1,\n hrefSanitizer: hrefSanitizer$1,\n injectCssInShadowDom: injectCssInShadowDom$1,\n jsonPrune: jsonPrune$1,\n jsonPruneFetchResponse: jsonPruneFetchResponse$1,\n jsonPruneXhrResponse: jsonPruneXhrResponse$1,\n log: log$1,\n logAddEventListener: logAddEventListener$1,\n logEval: logEval$1,\n logOnStacktrace: logOnStacktrace$1,\n m3uPrune: m3uPrune$1,\n metrikaYandexTag: metrikaYandexTag$1,\n metrikaYandexWatch: metrikaYandexWatch$1,\n noProtectedAudience: noProtectedAudience$1,\n noTopics: noTopics$1,\n noeval: noeval$1,\n nowebrtc: nowebrtc$1,\n preventAddEventListener: preventAddEventListener$1,\n preventAdfly: preventAdfly$1,\n preventBab: preventBab$2,\n preventElementSrcLoading: preventElementSrcLoading$1,\n preventEvalIf: preventEvalIf$1,\n preventFab: preventFab$1,\n preventFetch: preventFetch$1,\n preventPopadsNet: preventPopadsNet$1,\n preventRefresh: preventRefresh$1,\n preventRequestAnimationFrame: preventRequestAnimationFrame$1,\n preventSetInterval: preventSetInterval$1,\n preventSetTimeout: preventSetTimeout$1,\n preventWindowOpen: preventWindowOpen$1,\n preventXHR: preventXHR$1,\n removeAttr: removeAttr$1,\n removeClass: removeClass$1,\n removeCookie: removeCookie$1,\n removeInShadowDom: removeInShadowDom$1,\n removeNodeText: removeNodeText$1,\n setAttr: setAttr$1,\n setConstant: setConstant$1,\n setCookie: setCookie$1,\n setCookieReload: setCookieReload$1,\n setLocalStorageItem: setLocalStorageItem$1,\n setPopadsDummy: setPopadsDummy$1,\n setSessionStorageItem: setSessionStorageItem$1,\n spoofCSS: spoofCSS$1,\n trustedClickElement: trustedClickElement$1,\n trustedCreateElement: trustedCreateElement$1,\n trustedPruneInboundObject: trustedPruneInboundObject$1,\n trustedReplaceFetchResponse: trustedReplaceFetchResponse$1,\n trustedReplaceNodeText: trustedReplaceNodeText$1,\n trustedReplaceXhrResponse: trustedReplaceXhrResponse$1,\n trustedSetAttr: trustedSetAttr$1,\n trustedSetConstant: trustedSetConstant$1,\n trustedSetCookie: trustedSetCookie$1,\n trustedSetCookieReload: trustedSetCookieReload$1,\n trustedSetLocalStorageItem: trustedSetLocalStorageItem$1,\n trustedSuppressNativeMethod: trustedSuppressNativeMethod$1,\n xmlPrune: xmlPrune$1\n });\n var redirects$1 = [{\n adg: '1x1-transparent.gif',\n ubo: '1x1.gif',\n abp: '1x1-transparent-gif'\n }, {\n adg: '2x2-transparent.png',\n ubo: '2x2.png',\n abp: '2x2-transparent-png'\n }, {\n adg: '3x2-transparent.png',\n ubo: '3x2.png',\n abp: '3x2-transparent-png'\n }, {\n adg: '32x32-transparent.png',\n ubo: '32x32.png',\n abp: '32x32-transparent-png'\n }, {\n adg: 'amazon-apstag',\n ubo: 'amazon_apstag.js'\n }, {\n adg: 'ati-smarttag'\n }, {\n adg: 'didomi-loader'\n }, {\n adg: 'click2load.html',\n ubo: 'click2load.html'\n }, {\n adg: 'fingerprintjs2',\n ubo: 'fingerprint2.js'\n }, {\n adg: 'fingerprintjs3',\n ubo: 'fingerprint3.js'\n }, {\n adg: 'google-analytics',\n ubo: 'google-analytics_analytics.js'\n }, {\n adg: 'google-analytics-ga',\n ubo: 'google-analytics_ga.js'\n }, {\n adg: 'googlesyndication-adsbygoogle',\n ubo: 'googlesyndication_adsbygoogle.js'\n }, {\n adg: 'googlesyndication-adsbygoogle',\n ubo: 'googlesyndication.com/adsbygoogle.js'\n }, {\n adg: 'googletagmanager-gtm',\n ubo: 'google-analytics_ga.js'\n }, {\n adg: 'googletagmanager-gtm',\n ubo: 'googletagmanager_gtm.js'\n }, {\n adg: 'googletagservices-gpt',\n ubo: 'googletagservices_gpt.js'\n }, {\n adg: 'google-ima3',\n ubo: 'google-ima.js'\n }, {\n adg: 'gemius'\n }, {\n adg: 'matomo'\n }, {\n adg: 'metrika-yandex-watch'\n }, {\n adg: 'metrika-yandex-tag'\n }, {\n adg: 'naver-wcslog'\n }, {\n adg: 'noeval',\n ubo: 'noeval-silent.js'\n }, {\n adg: 'noopcss',\n ubo: 'noop.css',\n abp: 'blank-css'\n }, {\n adg: 'noopframe',\n ubo: 'noop.html',\n abp: 'blank-html'\n }, {\n adg: 'noopjs',\n ubo: 'noop.js',\n abp: 'blank-js'\n }, {\n adg: 'noopjson',\n ubo: 'noop.json'\n }, {\n adg: 'nooptext',\n ubo: 'noop.txt',\n abp: 'blank-text'\n }, {\n adg: 'noopmp3-0.1s',\n ubo: 'noop-0.1s.mp3',\n abp: 'blank-mp3'\n }, {\n adg: 'noopmp4-1s',\n ubo: 'noop-1s.mp4',\n abp: 'blank-mp4'\n }, {\n adg: 'noopvmap-1.0',\n ubo: 'noop-vmap1.0.xml'\n }, {\n adg: 'noopvast-2.0'\n }, {\n adg: 'noopvast-3.0'\n }, {\n adg: 'noopvast-4.0'\n }, {\n adg: 'prebid'\n }, {\n adg: 'pardot-1.0'\n }, {\n adg: 'prevent-bab',\n ubo: 'nobab.js'\n }, {\n adg: 'prevent-bab2',\n ubo: 'nobab2.js'\n }, {\n adg: 'prevent-fab-3.2.0',\n ubo: 'nofab.js'\n }, {\n adg: 'prevent-fab-3.2.0',\n ubo: 'fuckadblock.js-3.2.0'\n }, {\n adg: 'prevent-popads-net',\n ubo: 'popads.js'\n }, {\n adg: 'scorecardresearch-beacon',\n ubo: 'scorecardresearch_beacon.js'\n }, {\n adg: 'set-popads-dummy',\n ubo: 'popads-dummy.js'\n }, {\n adg: 'empty',\n ubo: 'empty'\n }, {\n adg: 'prebid-ads',\n ubo: 'prebid-ads.js'\n }];\n var JS_RULE_MARKER = '#%#';\n var COMMENT_MARKER = '!';\n var UBO_REDIRECT_PRIORITY_MARKER = ':';\n var isComment = function isComment(rule) {\n return rule.startsWith(COMMENT_MARKER);\n };\n var UBO_SCRIPTLET_MASK_REG = /#@?#script:inject|#@?#\\s*\\+js/;\n var UBO_SCRIPTLET_MASK_1 = '##+js';\n var UBO_SCRIPTLET_MASK_2 = '##script:inject';\n var UBO_SCRIPTLET_EXCEPTION_MASK_1 = '#@#+js';\n var UBO_SCRIPTLET_EXCEPTION_MASK_2 = '#@#script:inject';\n var ABP_SCRIPTLET_MASK = '#$#';\n var ABP_SCRIPTLET_EXCEPTION_MASK = '#@$#';\n var ADG_CSS_MASK_REG = /#@?\\$#.+?\\s*\\{.*\\}\\s*$/g;\n var isAdgScriptletRule = function isAdgScriptletRule(rule) {\n return !isComment(rule) && rule.includes(ADG_SCRIPTLET_MASK);\n };\n var isUboScriptletRule = function isUboScriptletRule(rule) {\n return (rule.includes(UBO_SCRIPTLET_MASK_1) || rule.includes(UBO_SCRIPTLET_MASK_2) || rule.includes(UBO_SCRIPTLET_EXCEPTION_MASK_1) || rule.includes(UBO_SCRIPTLET_EXCEPTION_MASK_2)) && UBO_SCRIPTLET_MASK_REG.test(rule) && !isComment(rule);\n };\n var isAbpSnippetRule = function isAbpSnippetRule(rule) {\n return (rule.includes(ABP_SCRIPTLET_MASK) || rule.includes(ABP_SCRIPTLET_EXCEPTION_MASK)) && rule.search(ADG_CSS_MASK_REG) === -1 && !isComment(rule);\n };\n var getScriptletsObjList = function getScriptletsObjList() {\n return Object.values(scriptletListRaw);\n };\n var getScriptletByName = function getScriptletByName(name, scriptlets) {\n var allScriptletsFns = scriptlets || getScriptletsObjList();\n return allScriptletsFns.find(function (s) {\n return s.names\n && (s.names.includes(name)\n || !name.endsWith('.js') && s.names.includes(\"\".concat(name, \".js\")));\n });\n };\n var scriptletObjects = getScriptletsObjList();\n var isValidScriptletNameNotCached = function isValidScriptletNameNotCached(name) {\n if (!name) {\n return false;\n }\n return !!getScriptletByName(name, scriptletObjects);\n };\n var scriptletNameValidationCache = new Map();\n var isValidScriptletName = function isValidScriptletName(name) {\n if (name === '') {\n return true;\n }\n if (!name) {\n return false;\n }\n if (!scriptletNameValidationCache.has(name)) {\n var isValid = isValidScriptletNameNotCached(name);\n scriptletNameValidationCache.set(name, isValid);\n return isValid;\n }\n return scriptletNameValidationCache.get(name);\n };\n var ADG_UBO_REDIRECT_MARKER = 'redirect=';\n var ADG_UBO_REDIRECT_RULE_MARKER = 'redirect-rule=';\n var ABP_REDIRECT_MARKER = 'rewrite=abp-resource:';\n var EMPTY_REDIRECT_MARKER = 'empty';\n var VALID_SOURCE_TYPES = ['image', 'media', 'subdocument', 'stylesheet', 'script', 'xmlhttprequest', 'other'];\n var ABSENT_SOURCE_TYPE_REPLACEMENT = [{\n NAME: 'nooptext',\n TYPES: VALID_SOURCE_TYPES\n }, {\n NAME: 'noopcss',\n TYPES: ['stylesheet']\n }, {\n NAME: 'noopjs',\n TYPES: ['script']\n }, {\n NAME: 'noopframe',\n TYPES: ['subdocument']\n }, {\n NAME: '1x1-transparent.gif',\n TYPES: ['image']\n }, {\n NAME: 'noopmp3-0.1s',\n TYPES: ['media']\n }, {\n NAME: 'noopmp4-1s',\n TYPES: ['media']\n }, {\n NAME: 'googlesyndication-adsbygoogle',\n TYPES: ['xmlhttprequest', 'script']\n }, {\n NAME: 'google-analytics',\n TYPES: ['script']\n }, {\n NAME: 'googletagservices-gpt',\n TYPES: ['script']\n }];\n var validAdgRedirects = redirects$1.filter(function (el) {\n return !!el.adg;\n });\n var uboToAdgCompatibility = Object.fromEntries(validAdgRedirects.filter(function (el) {\n return !!el.ubo;\n }).map(function (el) {\n return [el.ubo, el.adg];\n }));\n var abpToAdgCompatibility = Object.fromEntries(validAdgRedirects.filter(function (el) {\n return !!el.abp;\n }).map(function (el) {\n return [el.abp, el.adg];\n }));\n var adgToUboCompatibility = Object.fromEntries(validAdgRedirects.filter(function (el) {\n return el.ubo;\n }).map(function (el) {\n return [el.adg, el.ubo];\n }));\n var validAdgCompatibility = Object.fromEntries(validAdgRedirects.map(function (el) {\n return [el.adg, 'valid adg redirect'];\n }));\n var RedirectRuleType = function (RedirectRuleType) {\n RedirectRuleType[\"ValidAdg\"] = \"VALID_ADG\";\n RedirectRuleType[\"Adg\"] = \"ADG\";\n RedirectRuleType[\"Ubo\"] = \"UBO\";\n RedirectRuleType[\"Abp\"] = \"ABP\";\n return RedirectRuleType;\n }(RedirectRuleType || {});\n var REDIRECT_RULE_TYPES = {\n [RedirectRuleType.ValidAdg]: {\n redirectMarker: ADG_UBO_REDIRECT_MARKER,\n compatibility: validAdgCompatibility,\n redirectRuleMarker: ADG_UBO_REDIRECT_RULE_MARKER\n },\n [RedirectRuleType.Adg]: {\n redirectMarker: ADG_UBO_REDIRECT_MARKER,\n compatibility: adgToUboCompatibility,\n redirectRuleMarker: ADG_UBO_REDIRECT_RULE_MARKER\n },\n [RedirectRuleType.Ubo]: {\n redirectMarker: ADG_UBO_REDIRECT_MARKER,\n compatibility: uboToAdgCompatibility,\n redirectRuleMarker: ADG_UBO_REDIRECT_RULE_MARKER\n },\n [RedirectRuleType.Abp]: {\n redirectMarker: ABP_REDIRECT_MARKER,\n compatibility: abpToAdgCompatibility\n }\n };\n var parseModifiers = function parseModifiers(rule) {\n return substringAfter$1(rule, '$').split(',');\n };\n var getRedirectName = function getRedirectName(ruleModifiers, marker) {\n var redirectNamePart = ruleModifiers.find(function (el) {\n return el.includes(marker);\n });\n if (!redirectNamePart) {\n return null;\n }\n var redirectName = substringAfter$1(redirectNamePart, marker);\n var redirectPriorityIndex = redirectName.indexOf(UBO_REDIRECT_PRIORITY_MARKER);\n if (redirectPriorityIndex > -1) {\n redirectName = redirectName.substring(0, redirectPriorityIndex);\n }\n return redirectName;\n };\n var isAdgRedirectRule = function isAdgRedirectRule(rule) {\n var MARKER_IN_BASE_PART_MASK = '/((?!\\\\$|\\\\,).{1})redirect((-rule)?)=(.{0,}?)\\\\$(popup)?/';\n var _REDIRECT_RULE_TYPES$ = REDIRECT_RULE_TYPES[RedirectRuleType.Adg],\n redirectMarker = _REDIRECT_RULE_TYPES$.redirectMarker,\n redirectRuleMarker = _REDIRECT_RULE_TYPES$.redirectRuleMarker;\n return !isComment(rule) && (rule.includes(redirectMarker) || typeof redirectRuleMarker === 'string' && rule.includes(redirectRuleMarker))\n && !rule.includes(JS_RULE_MARKER)\n && !toRegExp(MARKER_IN_BASE_PART_MASK).test(rule);\n };\n var isRedirectRuleByType = function isRedirectRuleByType(rule, type) {\n var _REDIRECT_RULE_TYPES$2 = REDIRECT_RULE_TYPES[type],\n redirectMarker = _REDIRECT_RULE_TYPES$2.redirectMarker,\n redirectRuleMarker = _REDIRECT_RULE_TYPES$2.redirectRuleMarker,\n compatibility = _REDIRECT_RULE_TYPES$2.compatibility;\n if (rule && !isComment(rule)) {\n var marker;\n var markerIndex = redirectRuleMarker ? rule.indexOf(redirectRuleMarker) : -1;\n if (markerIndex > -1) {\n marker = redirectRuleMarker;\n } else {\n markerIndex = rule.indexOf(redirectMarker);\n if (markerIndex > -1) {\n marker = redirectMarker;\n } else {\n return false;\n }\n }\n if (!marker) {\n return false;\n }\n var redirectName = getRedirectName(parseModifiers(rule), marker);\n if (!redirectName) {\n return false;\n }\n return redirectName === Object.keys(compatibility).find(function (el) {\n return el === redirectName;\n });\n }\n return false;\n };\n var isValidAdgRedirectRule = function isValidAdgRedirectRule(rule) {\n return isRedirectRuleByType(rule, RedirectRuleType.ValidAdg);\n };\n var isAdgRedirectCompatibleWithUbo = function isAdgRedirectCompatibleWithUbo(rule) {\n return isAdgRedirectRule(rule) && isRedirectRuleByType(rule, RedirectRuleType.Adg);\n };\n var isUboRedirectCompatibleWithAdg = function isUboRedirectCompatibleWithAdg(rule) {\n return isRedirectRuleByType(rule, RedirectRuleType.Ubo);\n };\n var isAbpRedirectCompatibleWithAdg = function isAbpRedirectCompatibleWithAdg(rule) {\n return isRedirectRuleByType(rule, RedirectRuleType.Abp);\n };\n var hasValidContentType = function hasValidContentType(rule) {\n var ruleModifiers = parseModifiers(rule);\n var sourceTypes = ruleModifiers.filter(function (el) {\n return VALID_SOURCE_TYPES.includes(el);\n });\n var isSourceTypeSpecified = sourceTypes.length > 0;\n var isEmptyRedirect = ruleModifiers.includes(\"\".concat(ADG_UBO_REDIRECT_MARKER).concat(EMPTY_REDIRECT_MARKER)) || ruleModifiers.includes(\"\".concat(ADG_UBO_REDIRECT_RULE_MARKER).concat(EMPTY_REDIRECT_MARKER));\n if (isEmptyRedirect) {\n return true;\n }\n return isSourceTypeSpecified;\n };\n var validator = {\n UBO_SCRIPTLET_MASK_REG,\n ABP_SCRIPTLET_MASK,\n ABP_SCRIPTLET_EXCEPTION_MASK,\n isComment,\n isAdgScriptletRule,\n isUboScriptletRule,\n isAbpSnippetRule,\n getScriptletByName,\n isValidScriptletName,\n ADG_UBO_REDIRECT_RULE_MARKER,\n REDIRECT_RULE_TYPES,\n ABSENT_SOURCE_TYPE_REPLACEMENT,\n isAdgRedirectRule,\n isValidAdgRedirectRule,\n isAdgRedirectCompatibleWithUbo,\n isUboRedirectCompatibleWithAdg,\n isAbpRedirectCompatibleWithAdg,\n parseModifiers,\n getRedirectName,\n hasValidContentType,\n isRedirectRuleByType,\n RedirectRuleType\n };\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _toArray(arr) {\n return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();\n }\n var scriptletList = scriptletListRaw;\n var ADGUARD_SCRIPTLET_MASK_REG = /#@?%#\\/\\/scriptlet\\(.*\\)/;\n var ADGUARD_SCRIPTLET_TEMPLATE = '${domains}#%#//scriptlet(${args})';\n var ADGUARD_SCRIPTLET_EXCEPTION_TEMPLATE = '${domains}#@%#//scriptlet(${args})';\n var UBO_SCRIPTLET_TEMPLATE = '${domains}##+js(${args})';\n var UBO_SCRIPTLET_EXCEPTION_TEMPLATE = '${domains}#@#+js(${args})';\n var UBO_ALIAS_NAME_MARKER = 'ubo-';\n var UBO_SCRIPTLET_JS_ENDING = '.js';\n var UBO_XHR_TYPE = 'xhr';\n var ADG_XHR_TYPE = 'xmlhttprequest';\n var ADG_SET_CONSTANT_NAME = 'set-constant';\n var ADG_SET_CONSTANT_EMPTY_STRING = '';\n var ADG_SET_CONSTANT_EMPTY_ARRAY = 'emptyArr';\n var ADG_SET_CONSTANT_EMPTY_OBJECT = 'emptyObj';\n var UBO_SET_CONSTANT_EMPTY_STRING = '\\'\\'';\n var UBO_SET_CONSTANT_EMPTY_ARRAY = '[]';\n var UBO_SET_CONSTANT_EMPTY_OBJECT = '{}';\n var ADG_PREVENT_FETCH_NAME = 'prevent-fetch';\n var ADG_PREVENT_FETCH_EMPTY_STRING = '';\n var ADG_PREVENT_FETCH_WILDCARD = '*';\n var UBO_NO_FETCH_IF_WILDCARD = '/^/';\n var ESCAPED_COMMA_SEPARATOR = '\\\\,';\n var COMMA_SEPARATOR = ',';\n var SPOOF_CSS_METHOD = 'spoofCSS';\n var REMOVE_ATTR_METHOD = 'removeAttr';\n var REMOVE_CLASS_METHOD = 'removeClass';\n var SPOOF_CSS_ALIASES = scriptletList[SPOOF_CSS_METHOD].names;\n var REMOVE_ATTR_ALIASES = scriptletList[REMOVE_ATTR_METHOD].names;\n var REMOVE_CLASS_ALIASES = scriptletList[REMOVE_CLASS_METHOD].names;\n var REMOVE_ATTR_CLASS_APPLYING = ['asap', 'stay', 'complete'];\n var ABP_RESOURCE_MARKER = 'abp-resource:';\n var Origin = function (Origin) {\n Origin[\"Ubo\"] = \"ubo\";\n Origin[\"Abp\"] = \"abp\";\n Origin[\"AdgValid\"] = \"adgValid\";\n Origin[\"AdgInvalid\"] = \"adgInvalid\";\n return Origin;\n }(Origin || {});\n var originNames = [Origin.Ubo, Origin.Abp, Origin.AdgValid, Origin.AdgInvalid];\n var getAbpSnippetArguments = function getAbpSnippetArguments(str) {\n var reg = /'.*?'|\".*?\"|\\S+/g;\n var sentences = str.match(reg);\n if (!sentences) {\n throw new Error('Invalid ABP snippet args.');\n }\n return sentences;\n };\n var replacePlaceholders = function replacePlaceholders(str, data) {\n return Object.keys(data).reduce(function (acc, key) {\n var reg = new RegExp(\"\\\\$\\\\{\".concat(key, \"\\\\}\"), 'g');\n acc = acc.replace(reg, data[key]);\n return acc;\n }, str);\n };\n var splitArgs = function splitArgs(str) {\n var args = [];\n var prevArgStart = 0;\n for (var i = 0; i < str.length; i += 1) {\n if (str[i] === COMMA_SEPARATOR && str[i - 1] !== '\\\\') {\n args.push(str.slice(prevArgStart, i).trim());\n prevArgStart = i + 1;\n }\n }\n args.push(str.slice(prevArgStart, str.length).trim());\n return args;\n };\n var validateRemoveAttrClassArgs = function validateRemoveAttrClassArgs(parsedArgs) {\n var _parsedArgs = _toArray(parsedArgs),\n name = _parsedArgs[0],\n value = _parsedArgs[1],\n restArgs = _parsedArgs.slice(2);\n if (restArgs.length === 0) {\n return [name, value];\n }\n var lastArg = restArgs.pop();\n var applying;\n if (REMOVE_ATTR_CLASS_APPLYING.some(function (el) {\n return lastArg.includes(el);\n })) {\n applying = lastArg;\n } else {\n restArgs.push(lastArg);\n }\n var selector = replaceAll(restArgs.join(', '), ESCAPED_COMMA_SEPARATOR, COMMA_SEPARATOR);\n if (selector.length > 0 && typeof document !== 'undefined') {\n document.querySelectorAll(selector);\n }\n var validArgs = applying ? [name, value, selector, applying] : [name, value, selector];\n return validArgs;\n };\n var convertSpoofCssArgs = function convertSpoofCssArgs(parsedArgs) {\n var _parsedArgs2 = _toArray(parsedArgs),\n name = _parsedArgs2[0],\n selectors = _parsedArgs2[1],\n restArgs = _parsedArgs2.slice(2);\n var selector = replaceAll(selectors, ESCAPED_COMMA_SEPARATOR, COMMA_SEPARATOR);\n var convertedArgs = [name, selector, ...restArgs];\n return convertedArgs;\n };\n var convertUboScriptletToAdg = function convertUboScriptletToAdg(rule) {\n var domains = getBeforeRegExp(rule, validator.UBO_SCRIPTLET_MASK_REG);\n var matchResult = rule.match(validator.UBO_SCRIPTLET_MASK_REG);\n var mask = Array.isArray(matchResult) ? matchResult[0] : null;\n var template;\n if (mask !== null && mask !== void 0 && mask.includes('@')) {\n template = ADGUARD_SCRIPTLET_EXCEPTION_TEMPLATE;\n } else {\n template = ADGUARD_SCRIPTLET_TEMPLATE;\n }\n var argsStr = getStringInBraces(rule);\n var parsedArgs = splitArgs(argsStr);\n var scriptletName = '';\n var possibleName = parsedArgs[0];\n if (!possibleName) {\n scriptletName = '';\n var _adgRule = replacePlaceholders(template, {\n domains,\n args: scriptletName\n });\n return [_adgRule];\n }\n if (possibleName.includes(UBO_SCRIPTLET_JS_ENDING)) {\n scriptletName = \"ubo-\".concat(parsedArgs[0]);\n } else {\n scriptletName = \"ubo-\".concat(parsedArgs[0]).concat(UBO_SCRIPTLET_JS_ENDING);\n }\n if (REMOVE_ATTR_ALIASES.includes(scriptletName) || REMOVE_CLASS_ALIASES.includes(scriptletName)) {\n parsedArgs = validateRemoveAttrClassArgs(parsedArgs);\n }\n if (SPOOF_CSS_ALIASES.includes(scriptletName)) {\n parsedArgs = convertSpoofCssArgs(parsedArgs);\n }\n var args = parsedArgs.map(function (arg, index) {\n var outputArg = arg;\n if (index === 0) {\n outputArg = scriptletName;\n }\n if (arg === '$') {\n outputArg = '$$';\n }\n if (arg === '$remove$') {\n outputArg = '$$remove$$';\n }\n return outputArg;\n }).map(function (arg) {\n return wrapInSingleQuotes(arg);\n }).join(\"\".concat(COMMA_SEPARATOR, \" \"));\n var adgRule = replacePlaceholders(template, {\n domains,\n args\n });\n return [adgRule];\n };\n var convertAbpSnippetToAdg = function convertAbpSnippetToAdg(rule) {\n var SEMICOLON_DIVIDER = /;(?=(?:(?:[^\"]*\"){2})*[^\"]*$)/g;\n var mask = rule.includes(validator.ABP_SCRIPTLET_MASK) ? validator.ABP_SCRIPTLET_MASK : validator.ABP_SCRIPTLET_EXCEPTION_MASK;\n var template = mask === validator.ABP_SCRIPTLET_MASK ? ADGUARD_SCRIPTLET_TEMPLATE : ADGUARD_SCRIPTLET_EXCEPTION_TEMPLATE;\n var domains = substringBefore(rule, mask);\n var args = substringAfter$1(rule, mask);\n return args.split(SEMICOLON_DIVIDER)\n .filter(isExisting).map(function (args) {\n return getAbpSnippetArguments(args).map(function (arg, index) {\n return index === 0 ? \"abp-\".concat(arg) : arg;\n }).map(function (arg) {\n return wrapInSingleQuotes(arg);\n }).join(\"\".concat(COMMA_SEPARATOR, \" \"));\n }).map(function (args) {\n return replacePlaceholders(template, {\n domains,\n args\n });\n });\n };\n var isValidAdgScriptletRuleSyntax = function isValidAdgScriptletRuleSyntax(adgRuleText) {\n if (!adgRuleText) {\n return false;\n }\n if (!validator.isAdgScriptletRule(adgRuleText)) {\n return false;\n }\n var parsedRule;\n try {\n parsedRule = parseRule(adgRuleText);\n return validator.isValidScriptletName(parsedRule.name);\n } catch (e) {\n return false;\n }\n };\n var OriginValidator = {\n [Origin.Ubo]: validator.isUboScriptletRule,\n [Origin.Abp]: validator.isAbpSnippetRule,\n [Origin.AdgValid]: isValidAdgScriptletRuleSyntax,\n [Origin.AdgInvalid]: function (r) {\n return validator.isAdgScriptletRule(r) && !isValidAdgScriptletRuleSyntax(r);\n }\n };\n var Converter = {\n [Origin.Ubo]: convertUboScriptletToAdg,\n [Origin.Abp]: convertAbpSnippetToAdg,\n [Origin.AdgValid]: function (r) {\n return [r];\n },\n [Origin.AdgInvalid]: function (r) {\n console.log(\"Invalid AdGuard scriptlet rule: \".concat(r));\n return [];\n }\n };\n var getRuleOrigin = function getRuleOrigin(rule) {\n return originNames.find(function (originName) {\n return OriginValidator[originName](rule);\n });\n };\n var convertScriptletToAdg = function convertScriptletToAdg(rule) {\n if (validator.isComment(rule)) {\n return [rule];\n }\n var originName = getRuleOrigin(rule);\n if (!originName) {\n return [rule];\n }\n return Converter[originName](rule);\n };\n var convertAdgScriptletToUbo = function convertAdgScriptletToUbo(rule) {\n var res;\n if (validator.isAdgScriptletRule(rule)) {\n var _parseRule = parseRule(rule),\n parsedName = _parseRule.name,\n parsedParams = _parseRule.args;\n var matchResult = rule.match(ADGUARD_SCRIPTLET_MASK_REG);\n var mask = Array.isArray(matchResult) ? matchResult[0] : null;\n var template;\n if (mask !== null && mask !== void 0 && mask.includes('@')) {\n template = UBO_SCRIPTLET_EXCEPTION_TEMPLATE;\n } else {\n template = UBO_SCRIPTLET_TEMPLATE;\n }\n var domains = getBeforeRegExp(rule, ADGUARD_SCRIPTLET_MASK_REG);\n if (!parsedName) {\n var uboRule = replacePlaceholders(template, {\n domains,\n args: ''\n });\n return uboRule;\n }\n var preparedParams;\n if (parsedName === ADG_SET_CONSTANT_NAME\n && parsedParams[1] === ADG_SET_CONSTANT_EMPTY_STRING) {\n preparedParams = [parsedParams[0], UBO_SET_CONSTANT_EMPTY_STRING];\n } else if (parsedName === ADG_SET_CONSTANT_NAME\n && parsedParams[1] === ADG_SET_CONSTANT_EMPTY_ARRAY) {\n preparedParams = [parsedParams[0], UBO_SET_CONSTANT_EMPTY_ARRAY];\n } else if (parsedName === ADG_SET_CONSTANT_NAME && parsedParams[1] === ADG_SET_CONSTANT_EMPTY_OBJECT) {\n preparedParams = [parsedParams[0], UBO_SET_CONSTANT_EMPTY_OBJECT];\n } else if (parsedName === ADG_PREVENT_FETCH_NAME\n && (parsedParams[0] === ADG_PREVENT_FETCH_WILDCARD || parsedParams[0] === ADG_PREVENT_FETCH_EMPTY_STRING)) {\n preparedParams = [UBO_NO_FETCH_IF_WILDCARD];\n } else {\n preparedParams = parsedParams;\n }\n if (preparedParams && preparedParams.length > 0) {\n preparedParams = preparedParams.map(function (param) {\n if (param.includes(COMMA_SEPARATOR)) {\n return replaceAll(param, COMMA_SEPARATOR, ESCAPED_COMMA_SEPARATOR);\n }\n return param;\n });\n }\n var scriptletNames = Object.keys(scriptletList);\n var adgScriptletObject = scriptletNames.map(function (name) {\n return scriptletList[name];\n }).map(function (scriptlet) {\n var _scriptlet$names = _toArray(scriptlet.names),\n name = _scriptlet$names[0],\n aliases = _scriptlet$names.slice(1);\n return {\n name,\n aliases\n };\n }).find(function (el) {\n return el.name === parsedName || el.aliases.includes(parsedName);\n });\n var aliases = adgScriptletObject.aliases;\n if (aliases.length > 0) {\n var uboAlias = adgScriptletObject.aliases.find(function (alias) {\n return alias.includes(UBO_ALIAS_NAME_MARKER);\n });\n if (uboAlias) {\n var uboName = uboAlias.replace(UBO_ALIAS_NAME_MARKER, '')\n .replace(UBO_SCRIPTLET_JS_ENDING, '');\n var args = preparedParams.length > 0 ? \"\".concat(uboName, \", \").concat(preparedParams.join(\"\".concat(COMMA_SEPARATOR, \" \"))) : uboName;\n var _uboRule = replacePlaceholders(template, {\n domains,\n args\n });\n res = _uboRule;\n }\n }\n }\n return res;\n };\n var getAdgScriptletName = function getAdgScriptletName(rule) {\n if (rule.includes(\"\".concat(ADG_SCRIPTLET_MASK, \"()\"))) {\n return '';\n }\n var buffer = substringAfter$1(rule, \"\".concat(ADG_SCRIPTLET_MASK, \"(\"));\n if (!buffer) {\n return null;\n }\n var nameQuote = buffer[0];\n buffer = buffer.slice(1);\n if (!buffer) {\n return null;\n }\n var name = substringBefore(buffer, nameQuote);\n return name === buffer ? null : name;\n };\n var isValidScriptletRule = function isValidScriptletRule(ruleText) {\n if (!ruleText) {\n return false;\n }\n var rulesArray = convertScriptletToAdg(ruleText);\n if (rulesArray.length === 0) {\n return false;\n }\n var isValid = rulesArray.every(function (rule) {\n var name = getAdgScriptletName(rule);\n return validator.isValidScriptletName(name);\n });\n return isValid;\n };\n var getMarkerData = function getMarkerData(modifiers, redirectsData, rule) {\n var redirectRuleMarker = redirectsData.redirectRuleMarker,\n redirectMarker = redirectsData.redirectMarker;\n var index;\n if (redirectRuleMarker) {\n index = modifiers.findIndex(function (m) {\n return m.includes(redirectRuleMarker);\n });\n if (index > -1) {\n return {\n index,\n marker: redirectRuleMarker\n };\n }\n }\n index = modifiers.findIndex(function (m) {\n return m.includes(redirectMarker);\n });\n if (index > -1) {\n return {\n index,\n marker: redirectMarker\n };\n }\n throw new Error(\"No redirect resource modifier found in rule: \".concat(rule));\n };\n var convertUboRedirectToAdg = function convertUboRedirectToAdg(rule) {\n var firstPartOfRule = substringBefore(rule, '$');\n var uboModifiers = validator.parseModifiers(rule);\n var uboMarkerData = getMarkerData(uboModifiers, validator.REDIRECT_RULE_TYPES.UBO, rule);\n var adgModifiers = uboModifiers.map(function (modifier, index) {\n if (index === uboMarkerData.index) {\n var uboName = validator.getRedirectName([modifier], uboMarkerData.marker);\n if (uboName) {\n var adgName = validator.REDIRECT_RULE_TYPES.UBO.compatibility[uboName];\n var adgMarker = uboMarkerData.marker === validator.ADG_UBO_REDIRECT_RULE_MARKER ? validator.REDIRECT_RULE_TYPES.ADG.redirectRuleMarker : validator.REDIRECT_RULE_TYPES.ADG.redirectMarker;\n return \"\".concat(adgMarker).concat(adgName);\n }\n }\n if (modifier === UBO_XHR_TYPE) {\n return ADG_XHR_TYPE;\n }\n return modifier;\n }).join(COMMA_SEPARATOR);\n return \"\".concat(firstPartOfRule, \"$\").concat(adgModifiers);\n };\n var convertAbpRedirectToAdg = function convertAbpRedirectToAdg(rule) {\n var firstPartOfRule = substringBefore(rule, '$');\n var abpModifiers = validator.parseModifiers(rule);\n var adgModifiers = abpModifiers.map(function (modifier) {\n if (modifier.includes(validator.REDIRECT_RULE_TYPES.ABP.redirectMarker)) {\n var abpName = substringAfter$1(modifier, validator.REDIRECT_RULE_TYPES.ABP.redirectMarker);\n var adgName = validator.REDIRECT_RULE_TYPES.ABP.compatibility[abpName];\n return \"\".concat(validator.REDIRECT_RULE_TYPES.ADG.redirectMarker).concat(adgName);\n }\n return modifier;\n }).join(COMMA_SEPARATOR);\n return \"\".concat(firstPartOfRule, \"$\").concat(adgModifiers);\n };\n var convertRedirectToAdg = function convertRedirectToAdg(rule) {\n var result;\n if (validator.isUboRedirectCompatibleWithAdg(rule)) {\n result = convertUboRedirectToAdg(rule);\n } else if (validator.isAbpRedirectCompatibleWithAdg(rule)) {\n result = convertAbpRedirectToAdg(rule);\n } else if (validator.isValidAdgRedirectRule(rule)) {\n result = rule;\n }\n return result;\n };\n var convertAdgRedirectToUbo = function convertAdgRedirectToUbo(rule) {\n if (!validator.isAdgRedirectCompatibleWithUbo(rule)) {\n throw new Error(\"Unable to convert for uBO - unsupported redirect in rule: \".concat(rule));\n }\n var basePart = substringBefore(rule, '$');\n var adgModifiers = validator.parseModifiers(rule);\n var adgMarkerData = getMarkerData(adgModifiers, validator.REDIRECT_RULE_TYPES.ADG, rule);\n var adgRedirectName = validator.getRedirectName(adgModifiers, adgMarkerData.marker);\n if (!adgRedirectName) {\n throw new Error(\"Unable to convert for uBO - no valid redirect name in rule: \".concat(rule));\n }\n if (!validator.hasValidContentType(rule)) {\n var sourceTypesData = validator.ABSENT_SOURCE_TYPE_REPLACEMENT.find(function (el) {\n return el.NAME === adgRedirectName;\n });\n if (typeof sourceTypesData === 'undefined') {\n throw new Error(\"Unable to convert for uBO - no types to add for specific redirect in rule: \".concat(rule));\n }\n var additionModifiers = sourceTypesData.TYPES;\n adgModifiers.push(...additionModifiers);\n }\n var uboModifiers = adgModifiers.map(function (el, index) {\n if (index === adgMarkerData.index) {\n var uboMarker = adgMarkerData.marker === validator.ADG_UBO_REDIRECT_RULE_MARKER ? validator.REDIRECT_RULE_TYPES.UBO.redirectRuleMarker : validator.REDIRECT_RULE_TYPES.UBO.redirectMarker;\n var uboRedirectName = validator.REDIRECT_RULE_TYPES.ADG.compatibility[adgRedirectName];\n return \"\".concat(uboMarker).concat(uboRedirectName);\n }\n return el;\n }).join(COMMA_SEPARATOR);\n return \"\".concat(basePart, \"$\").concat(uboModifiers);\n };\n var convertRedirectNameToAdg = function convertRedirectNameToAdg(name) {\n var nameToCheck = name.trim();\n if (validator.REDIRECT_RULE_TYPES.ADG.compatibility[nameToCheck]) {\n return nameToCheck;\n }\n if (validator.REDIRECT_RULE_TYPES.UBO.compatibility[nameToCheck]) {\n return validator.REDIRECT_RULE_TYPES.UBO.compatibility[nameToCheck];\n }\n if (nameToCheck.startsWith(ABP_RESOURCE_MARKER)) {\n nameToCheck = nameToCheck.slice(ABP_RESOURCE_MARKER.length).trim();\n }\n return validator.REDIRECT_RULE_TYPES.ABP.compatibility[nameToCheck];\n };\n var preventBab$1 = preventBab$2;\n preventBab$1.names = ['prevent-bab',\n 'nobab.js', 'ubo-nobab.js', 'bab-defuser.js', 'ubo-bab-defuser.js', 'ubo-nobab', 'ubo-bab-defuser'];\n function ATInternetSmartTag(source) {\n var setNoopFuncWrapper = {\n set: noopFunc\n };\n var sendNoopFuncWrapper = {\n send: noopFunc\n };\n var ecommerceWrapper = {\n displayCart: {\n products: setNoopFuncWrapper,\n cart: setNoopFuncWrapper\n },\n updateCart: {\n cart: setNoopFuncWrapper\n },\n displayProduct: {\n products: setNoopFuncWrapper\n },\n displayPageProduct: {\n products: setNoopFuncWrapper\n },\n addProduct: {\n products: setNoopFuncWrapper\n },\n removeProduct: {\n products: setNoopFuncWrapper\n }\n };\n var tag = function tag() {};\n tag.prototype = {\n setConfig: noopFunc,\n setParam: noopFunc,\n dispatch: noopFunc,\n customVars: setNoopFuncWrapper,\n publisher: setNoopFuncWrapper,\n order: setNoopFuncWrapper,\n click: sendNoopFuncWrapper,\n clickListener: sendNoopFuncWrapper,\n internalSearch: {\n set: noopFunc,\n send: noopFunc\n },\n ecommerce: ecommerceWrapper,\n identifiedVisitor: {\n unset: noopFunc\n },\n page: {\n set: noopFunc,\n send: noopFunc\n },\n selfPromotion: {\n add: noopFunc,\n send: noopFunc\n },\n privacy: {\n setVisitorMode: noopFunc,\n getVisitorMode: noopFunc,\n hit: noopFunc\n },\n richMedia: {\n add: noopFunc,\n send: noopFunc,\n remove: noopFunc,\n removeAll: noopFunc\n }\n };\n var smartTagWrapper = {\n Tracker: {\n Tag: tag\n }\n };\n window.ATInternet = smartTagWrapper;\n hit(source);\n }\n ATInternetSmartTag.names = ['ati-smarttag'];\n ATInternetSmartTag.injections = [hit, noopFunc];\n function preventBab2(source) {\n var script = document.currentScript;\n if (script === null) {\n return;\n }\n var url = script.src;\n if (typeof url !== 'string') {\n return;\n }\n var domainsStr = ['adclixx\\\\.net', 'adnetasia\\\\.com', 'adtrackers\\\\.net', 'bannertrack\\\\.net'].join('|');\n var matchStr = \"^https?://[\\\\w-]+\\\\.(\".concat(domainsStr, \")/.\");\n var domainsRegex = new RegExp(matchStr);\n if (domainsRegex.test(url) === false) {\n return;\n }\n window.nH7eXzOsG = 858;\n hit(source);\n }\n preventBab2.names = ['prevent-bab2',\n 'nobab2.js'];\n preventBab2.injections = [hit];\n function prebidAds(source) {\n window.canRunAds = true;\n window.isAdBlockActive = false;\n hit(source);\n }\n prebidAds.names = ['prebid-ads', 'ubo-prebid-ads.js', 'prebid-ads.js'];\n prebidAds.injections = [hit];\n var redirectsList = Object.freeze({\n __proto__: null,\n ATInternetSmartTag: ATInternetSmartTag,\n AmazonApstag: AmazonApstag$1,\n DidomiLoader: DidomiLoader$1,\n Fingerprintjs2: Fingerprintjs2$1,\n Fingerprintjs3: Fingerprintjs3$1,\n Gemius: Gemius$1,\n GoogleAnalytics: GoogleAnalytics$1,\n GoogleAnalyticsGa: GoogleAnalyticsGa$1,\n GoogleIma3: GoogleIma3$1,\n GoogleSyndicationAdsByGoogle: GoogleSyndicationAdsByGoogle$1,\n GoogleTagServicesGpt: GoogleTagServicesGpt$1,\n Matomo: Matomo$1,\n NaverWcslog: NaverWcslog$1,\n Pardot: Pardot$1,\n Prebid: Prebid$1,\n ScoreCardResearchBeacon: ScoreCardResearchBeacon$1,\n metrikaYandexTag: metrikaYandexTag$1,\n metrikaYandexWatch: metrikaYandexWatch$1,\n noeval: noeval$1,\n prebidAds: prebidAds,\n preventBab: preventBab$1,\n preventBab2: preventBab2,\n preventFab: preventFab$1,\n preventPopadsNet: preventPopadsNet$1,\n setPopadsDummy: setPopadsDummy$1\n });\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function getDefaultExportFromCjs (x) {\n \treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n }\n var jsYaml$2 = {};\n var loader$1 = {};\n var common$6 = {};\n function isNothing(subject) {\n return typeof subject === 'undefined' || subject === null;\n }\n function isObject(subject) {\n return typeof subject === 'object' && subject !== null;\n }\n function toArray(sequence) {\n if (Array.isArray(sequence)) return sequence;else if (isNothing(sequence)) return [];\n return [sequence];\n }\n function extend(target, source) {\n var index, length, key, sourceKeys;\n if (source) {\n sourceKeys = Object.keys(source);\n for (index = 0, length = sourceKeys.length; index < length; index += 1) {\n key = sourceKeys[index];\n target[key] = source[key];\n }\n }\n return target;\n }\n function repeat(string, count) {\n var result = '',\n cycle;\n for (cycle = 0; cycle < count; cycle += 1) {\n result += string;\n }\n return result;\n }\n function isNegativeZero(number) {\n return number === 0 && Number.NEGATIVE_INFINITY === 1 / number;\n }\n common$6.isNothing = isNothing;\n common$6.isObject = isObject;\n common$6.toArray = toArray;\n common$6.repeat = repeat;\n common$6.isNegativeZero = isNegativeZero;\n common$6.extend = extend;\n function YAMLException$4(reason, mark) {\n Error.call(this);\n this.name = 'YAMLException';\n this.reason = reason;\n this.mark = mark;\n this.message = (this.reason || '(unknown reason)') + (this.mark ? ' ' + this.mark.toString() : '');\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = new Error().stack || '';\n }\n }\n YAMLException$4.prototype = Object.create(Error.prototype);\n YAMLException$4.prototype.constructor = YAMLException$4;\n YAMLException$4.prototype.toString = function toString(compact) {\n var result = this.name + ': ';\n result += this.reason || '(unknown reason)';\n if (!compact && this.mark) {\n result += ' ' + this.mark.toString();\n }\n return result;\n };\n var exception = YAMLException$4;\n var common$5 = common$6;\n function Mark$1(name, buffer, position, line, column) {\n this.name = name;\n this.buffer = buffer;\n this.position = position;\n this.line = line;\n this.column = column;\n }\n Mark$1.prototype.getSnippet = function getSnippet(indent, maxLength) {\n var head, start, tail, end, snippet;\n if (!this.buffer) return null;\n indent = indent || 4;\n maxLength = maxLength || 75;\n head = '';\n start = this.position;\n while (start > 0 && \"\\0\\r\\n\\x85\\u2028\\u2029\".indexOf(this.buffer.charAt(start - 1)) === -1) {\n start -= 1;\n if (this.position - start > maxLength / 2 - 1) {\n head = ' ... ';\n start += 5;\n break;\n }\n }\n tail = '';\n end = this.position;\n while (end < this.buffer.length && \"\\0\\r\\n\\x85\\u2028\\u2029\".indexOf(this.buffer.charAt(end)) === -1) {\n end += 1;\n if (end - this.position > maxLength / 2 - 1) {\n tail = ' ... ';\n end -= 5;\n break;\n }\n }\n snippet = this.buffer.slice(start, end);\n return common$5.repeat(' ', indent) + head + snippet + tail + '\\n' + common$5.repeat(' ', indent + this.position - start + head.length) + '^';\n };\n Mark$1.prototype.toString = function toString(compact) {\n var snippet,\n where = '';\n if (this.name) {\n where += 'in \"' + this.name + '\" ';\n }\n where += 'at line ' + (this.line + 1) + ', column ' + (this.column + 1);\n if (!compact) {\n snippet = this.getSnippet();\n if (snippet) {\n where += ':\\n' + snippet;\n }\n }\n return where;\n };\n var mark = Mark$1;\n var YAMLException$3 = exception;\n var TYPE_CONSTRUCTOR_OPTIONS = ['kind', 'resolve', 'construct', 'instanceOf', 'predicate', 'represent', 'defaultStyle', 'styleAliases'];\n var YAML_NODE_KINDS = ['scalar', 'sequence', 'mapping'];\n function compileStyleAliases(map) {\n var result = {};\n if (map !== null) {\n Object.keys(map).forEach(function (style) {\n map[style].forEach(function (alias) {\n result[String(alias)] = style;\n });\n });\n }\n return result;\n }\n function Type$h(tag, options) {\n options = options || {};\n Object.keys(options).forEach(function (name) {\n if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) {\n throw new YAMLException$3('Unknown option \"' + name + '\" is met in definition of \"' + tag + '\" YAML type.');\n }\n });\n this.tag = tag;\n this.kind = options['kind'] || null;\n this.resolve = options['resolve'] || function () {\n return true;\n };\n this.construct = options['construct'] || function (data) {\n return data;\n };\n this.instanceOf = options['instanceOf'] || null;\n this.predicate = options['predicate'] || null;\n this.represent = options['represent'] || null;\n this.defaultStyle = options['defaultStyle'] || null;\n this.styleAliases = compileStyleAliases(options['styleAliases'] || null);\n if (YAML_NODE_KINDS.indexOf(this.kind) === -1) {\n throw new YAMLException$3('Unknown kind \"' + this.kind + '\" is specified for \"' + tag + '\" YAML type.');\n }\n }\n var type = Type$h;\n var common$4 = common$6;\n var YAMLException$2 = exception;\n var Type$g = type;\n function compileList(schema, name, result) {\n var exclude = [];\n schema.include.forEach(function (includedSchema) {\n result = compileList(includedSchema, name, result);\n });\n schema[name].forEach(function (currentType) {\n result.forEach(function (previousType, previousIndex) {\n if (previousType.tag === currentType.tag && previousType.kind === currentType.kind) {\n exclude.push(previousIndex);\n }\n });\n result.push(currentType);\n });\n return result.filter(function (type, index) {\n return exclude.indexOf(index) === -1;\n });\n }\n function compileMap(\n ) {\n var result = {\n scalar: {},\n sequence: {},\n mapping: {},\n fallback: {}\n },\n index,\n length;\n function collectType(type) {\n result[type.kind][type.tag] = result['fallback'][type.tag] = type;\n }\n for (index = 0, length = arguments.length; index < length; index += 1) {\n arguments[index].forEach(collectType);\n }\n return result;\n }\n function Schema$5(definition) {\n this.include = definition.include || [];\n this.implicit = definition.implicit || [];\n this.explicit = definition.explicit || [];\n this.implicit.forEach(function (type) {\n if (type.loadKind && type.loadKind !== 'scalar') {\n throw new YAMLException$2('There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.');\n }\n });\n this.compiledImplicit = compileList(this, 'implicit', []);\n this.compiledExplicit = compileList(this, 'explicit', []);\n this.compiledTypeMap = compileMap(this.compiledImplicit, this.compiledExplicit);\n }\n Schema$5.DEFAULT = null;\n Schema$5.create = function createSchema() {\n var schemas, types;\n switch (arguments.length) {\n case 1:\n schemas = Schema$5.DEFAULT;\n types = arguments[0];\n break;\n case 2:\n schemas = arguments[0];\n types = arguments[1];\n break;\n default:\n throw new YAMLException$2('Wrong number of arguments for Schema.create function');\n }\n schemas = common$4.toArray(schemas);\n types = common$4.toArray(types);\n if (!schemas.every(function (schema) {\n return schema instanceof Schema$5;\n })) {\n throw new YAMLException$2('Specified list of super schemas (or a single Schema object) contains a non-Schema object.');\n }\n if (!types.every(function (type) {\n return type instanceof Type$g;\n })) {\n throw new YAMLException$2('Specified list of YAML types (or a single Type object) contains a non-Type object.');\n }\n return new Schema$5({\n include: schemas,\n explicit: types\n });\n };\n var schema = Schema$5;\n var Type$f = type;\n var str = new Type$f('tag:yaml.org,2002:str', {\n kind: 'scalar',\n construct: function construct(data) {\n return data !== null ? data : '';\n }\n });\n var Type$e = type;\n var seq = new Type$e('tag:yaml.org,2002:seq', {\n kind: 'sequence',\n construct: function construct(data) {\n return data !== null ? data : [];\n }\n });\n var Type$d = type;\n var map = new Type$d('tag:yaml.org,2002:map', {\n kind: 'mapping',\n construct: function construct(data) {\n return data !== null ? data : {};\n }\n });\n var Schema$4 = schema;\n var failsafe = new Schema$4({\n explicit: [str, seq, map]\n });\n var Type$c = type;\n function resolveYamlNull(data) {\n if (data === null) return true;\n var max = data.length;\n return max === 1 && data === '~' || max === 4 && (data === 'null' || data === 'Null' || data === 'NULL');\n }\n function constructYamlNull() {\n return null;\n }\n function isNull(object) {\n return object === null;\n }\n var _null = new Type$c('tag:yaml.org,2002:null', {\n kind: 'scalar',\n resolve: resolveYamlNull,\n construct: constructYamlNull,\n predicate: isNull,\n represent: {\n canonical: function canonical() {\n return '~';\n },\n lowercase: function lowercase() {\n return 'null';\n },\n uppercase: function uppercase() {\n return 'NULL';\n },\n camelcase: function camelcase() {\n return 'Null';\n }\n },\n defaultStyle: 'lowercase'\n });\n var Type$b = type;\n function resolveYamlBoolean(data) {\n if (data === null) return false;\n var max = data.length;\n return max === 4 && (data === 'true' || data === 'True' || data === 'TRUE') || max === 5 && (data === 'false' || data === 'False' || data === 'FALSE');\n }\n function constructYamlBoolean(data) {\n return data === 'true' || data === 'True' || data === 'TRUE';\n }\n function isBoolean(object) {\n return Object.prototype.toString.call(object) === '[object Boolean]';\n }\n var bool = new Type$b('tag:yaml.org,2002:bool', {\n kind: 'scalar',\n resolve: resolveYamlBoolean,\n construct: constructYamlBoolean,\n predicate: isBoolean,\n represent: {\n lowercase: function lowercase(object) {\n return object ? 'true' : 'false';\n },\n uppercase: function uppercase(object) {\n return object ? 'TRUE' : 'FALSE';\n },\n camelcase: function camelcase(object) {\n return object ? 'True' : 'False';\n }\n },\n defaultStyle: 'lowercase'\n });\n var common$3 = common$6;\n var Type$a = type;\n function isHexCode(c) {\n return 0x30 <= c && c <= 0x39 || 0x41 <= c && c <= 0x46 || 0x61 <= c && c <= 0x66 ;\n }\n function isOctCode(c) {\n return 0x30 <= c && c <= 0x37 ;\n }\n function isDecCode(c) {\n return 0x30 <= c && c <= 0x39 ;\n }\n function resolveYamlInteger(data) {\n if (data === null) return false;\n var max = data.length,\n index = 0,\n hasDigits = false,\n ch;\n if (!max) return false;\n ch = data[index];\n if (ch === '-' || ch === '+') {\n ch = data[++index];\n }\n if (ch === '0') {\n if (index + 1 === max) return true;\n ch = data[++index];\n if (ch === 'b') {\n index++;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch !== '0' && ch !== '1') return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n if (ch === 'x') {\n index++;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isHexCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (!isOctCode(data.charCodeAt(index))) return false;\n hasDigits = true;\n }\n return hasDigits && ch !== '_';\n }\n if (ch === '_') return false;\n for (; index < max; index++) {\n ch = data[index];\n if (ch === '_') continue;\n if (ch === ':') break;\n if (!isDecCode(data.charCodeAt(index))) {\n return false;\n }\n hasDigits = true;\n }\n if (!hasDigits || ch === '_') return false;\n if (ch !== ':') return true;\n return /^(:[0-5]?[0-9])+$/.test(data.slice(index));\n }\n function constructYamlInteger(data) {\n var value = data,\n sign = 1,\n ch,\n base,\n digits = [];\n if (value.indexOf('_') !== -1) {\n value = value.replace(/_/g, '');\n }\n ch = value[0];\n if (ch === '-' || ch === '+') {\n if (ch === '-') sign = -1;\n value = value.slice(1);\n ch = value[0];\n }\n if (value === '0') return 0;\n if (ch === '0') {\n if (value[1] === 'b') return sign * parseInt(value.slice(2), 2);\n if (value[1] === 'x') return sign * parseInt(value, 16);\n return sign * parseInt(value, 8);\n }\n if (value.indexOf(':') !== -1) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseInt(v, 10));\n });\n value = 0;\n base = 1;\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n return sign * value;\n }\n return sign * parseInt(value, 10);\n }\n function isInteger(object) {\n return Object.prototype.toString.call(object) === '[object Number]' && object % 1 === 0 && !common$3.isNegativeZero(object);\n }\n var int = new Type$a('tag:yaml.org,2002:int', {\n kind: 'scalar',\n resolve: resolveYamlInteger,\n construct: constructYamlInteger,\n predicate: isInteger,\n represent: {\n binary: function binary(obj) {\n return obj >= 0 ? '0b' + obj.toString(2) : '-0b' + obj.toString(2).slice(1);\n },\n octal: function octal(obj) {\n return obj >= 0 ? '0' + obj.toString(8) : '-0' + obj.toString(8).slice(1);\n },\n decimal: function decimal(obj) {\n return obj.toString(10);\n },\n hexadecimal: function hexadecimal(obj) {\n return obj >= 0 ? '0x' + obj.toString(16).toUpperCase() : '-0x' + obj.toString(16).toUpperCase().slice(1);\n }\n },\n defaultStyle: 'decimal',\n styleAliases: {\n binary: [2, 'bin'],\n octal: [8, 'oct'],\n decimal: [10, 'dec'],\n hexadecimal: [16, 'hex']\n }\n });\n var common$2 = common$6;\n var Type$9 = type;\n var YAML_FLOAT_PATTERN = new RegExp(\n '^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?' +\n '|\\\\.[0-9_]+(?:[eE][-+]?[0-9]+)?' +\n '|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\.[0-9_]*' +\n '|[-+]?\\\\.(?:inf|Inf|INF)' +\n '|\\\\.(?:nan|NaN|NAN))$');\n function resolveYamlFloat(data) {\n if (data === null) return false;\n if (!YAML_FLOAT_PATTERN.test(data) ||\n data[data.length - 1] === '_') {\n return false;\n }\n return true;\n }\n function constructYamlFloat(data) {\n var value, sign, base, digits;\n value = data.replace(/_/g, '').toLowerCase();\n sign = value[0] === '-' ? -1 : 1;\n digits = [];\n if ('+-'.indexOf(value[0]) >= 0) {\n value = value.slice(1);\n }\n if (value === '.inf') {\n return sign === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY;\n } else if (value === '.nan') {\n return NaN;\n } else if (value.indexOf(':') >= 0) {\n value.split(':').forEach(function (v) {\n digits.unshift(parseFloat(v, 10));\n });\n value = 0.0;\n base = 1;\n digits.forEach(function (d) {\n value += d * base;\n base *= 60;\n });\n return sign * value;\n }\n return sign * parseFloat(value, 10);\n }\n var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/;\n function representYamlFloat(object, style) {\n var res;\n if (isNaN(object)) {\n switch (style) {\n case 'lowercase':\n return '.nan';\n case 'uppercase':\n return '.NAN';\n case 'camelcase':\n return '.NaN';\n }\n } else if (Number.POSITIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase':\n return '.inf';\n case 'uppercase':\n return '.INF';\n case 'camelcase':\n return '.Inf';\n }\n } else if (Number.NEGATIVE_INFINITY === object) {\n switch (style) {\n case 'lowercase':\n return '-.inf';\n case 'uppercase':\n return '-.INF';\n case 'camelcase':\n return '-.Inf';\n }\n } else if (common$2.isNegativeZero(object)) {\n return '-0.0';\n }\n res = object.toString(10);\n return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace('e', '.e') : res;\n }\n function isFloat(object) {\n return Object.prototype.toString.call(object) === '[object Number]' && (object % 1 !== 0 || common$2.isNegativeZero(object));\n }\n var float = new Type$9('tag:yaml.org,2002:float', {\n kind: 'scalar',\n resolve: resolveYamlFloat,\n construct: constructYamlFloat,\n predicate: isFloat,\n represent: representYamlFloat,\n defaultStyle: 'lowercase'\n });\n var Schema$3 = schema;\n var json = new Schema$3({\n include: [failsafe],\n implicit: [_null, bool, int, float]\n });\n var Schema$2 = schema;\n var core = new Schema$2({\n include: [json]\n });\n var Type$8 = type;\n var YAML_DATE_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' +\n '-([0-9][0-9])' +\n '-([0-9][0-9])$');\n var YAML_TIMESTAMP_REGEXP = new RegExp('^([0-9][0-9][0-9][0-9])' +\n '-([0-9][0-9]?)' +\n '-([0-9][0-9]?)' +\n '(?:[Tt]|[ \\\\t]+)' +\n '([0-9][0-9]?)' +\n ':([0-9][0-9])' +\n ':([0-9][0-9])' +\n '(?:\\\\.([0-9]*))?' +\n '(?:[ \\\\t]*(Z|([-+])([0-9][0-9]?)' +\n '(?::([0-9][0-9]))?))?$');\n function resolveYamlTimestamp(data) {\n if (data === null) return false;\n if (YAML_DATE_REGEXP.exec(data) !== null) return true;\n if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) return true;\n return false;\n }\n function constructYamlTimestamp(data) {\n var match,\n year,\n month,\n day,\n hour,\n minute,\n second,\n fraction = 0,\n delta = null,\n tz_hour,\n tz_minute,\n date;\n match = YAML_DATE_REGEXP.exec(data);\n if (match === null) match = YAML_TIMESTAMP_REGEXP.exec(data);\n if (match === null) throw new Error('Date resolve error');\n year = +match[1];\n month = +match[2] - 1;\n day = +match[3];\n if (!match[4]) {\n return new Date(Date.UTC(year, month, day));\n }\n hour = +match[4];\n minute = +match[5];\n second = +match[6];\n if (match[7]) {\n fraction = match[7].slice(0, 3);\n while (fraction.length < 3) {\n fraction += '0';\n }\n fraction = +fraction;\n }\n if (match[9]) {\n tz_hour = +match[10];\n tz_minute = +(match[11] || 0);\n delta = (tz_hour * 60 + tz_minute) * 60000;\n if (match[9] === '-') delta = -delta;\n }\n date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction));\n if (delta) date.setTime(date.getTime() - delta);\n return date;\n }\n function representYamlTimestamp(object ) {\n return object.toISOString();\n }\n var timestamp = new Type$8('tag:yaml.org,2002:timestamp', {\n kind: 'scalar',\n resolve: resolveYamlTimestamp,\n construct: constructYamlTimestamp,\n instanceOf: Date,\n represent: representYamlTimestamp\n });\n var Type$7 = type;\n function resolveYamlMerge(data) {\n return data === '<<' || data === null;\n }\n var merge = new Type$7('tag:yaml.org,2002:merge', {\n kind: 'scalar',\n resolve: resolveYamlMerge\n });\n function commonjsRequire(path) {\n \tthrow new Error('Could not dynamically require \"' + path + '\". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');\n }\n var NodeBuffer;\n try {\n var _require$1 = commonjsRequire;\n NodeBuffer = _require$1('buffer').Buffer;\n } catch (__) {}\n var Type$6 = type;\n var BASE64_MAP = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\\n\\r';\n function resolveYamlBinary(data) {\n if (data === null) return false;\n var code,\n idx,\n bitlen = 0,\n max = data.length,\n map = BASE64_MAP;\n for (idx = 0; idx < max; idx++) {\n code = map.indexOf(data.charAt(idx));\n if (code > 64) continue;\n if (code < 0) return false;\n bitlen += 6;\n }\n return bitlen % 8 === 0;\n }\n function constructYamlBinary(data) {\n var idx,\n tailbits,\n input = data.replace(/[\\r\\n=]/g, ''),\n max = input.length,\n map = BASE64_MAP,\n bits = 0,\n result = [];\n for (idx = 0; idx < max; idx++) {\n if (idx % 4 === 0 && idx) {\n result.push(bits >> 16 & 0xFF);\n result.push(bits >> 8 & 0xFF);\n result.push(bits & 0xFF);\n }\n bits = bits << 6 | map.indexOf(input.charAt(idx));\n }\n tailbits = max % 4 * 6;\n if (tailbits === 0) {\n result.push(bits >> 16 & 0xFF);\n result.push(bits >> 8 & 0xFF);\n result.push(bits & 0xFF);\n } else if (tailbits === 18) {\n result.push(bits >> 10 & 0xFF);\n result.push(bits >> 2 & 0xFF);\n } else if (tailbits === 12) {\n result.push(bits >> 4 & 0xFF);\n }\n if (NodeBuffer) {\n return NodeBuffer.from ? NodeBuffer.from(result) : new NodeBuffer(result);\n }\n return result;\n }\n function representYamlBinary(object ) {\n var result = '',\n bits = 0,\n idx,\n tail,\n max = object.length,\n map = BASE64_MAP;\n for (idx = 0; idx < max; idx++) {\n if (idx % 3 === 0 && idx) {\n result += map[bits >> 18 & 0x3F];\n result += map[bits >> 12 & 0x3F];\n result += map[bits >> 6 & 0x3F];\n result += map[bits & 0x3F];\n }\n bits = (bits << 8) + object[idx];\n }\n tail = max % 3;\n if (tail === 0) {\n result += map[bits >> 18 & 0x3F];\n result += map[bits >> 12 & 0x3F];\n result += map[bits >> 6 & 0x3F];\n result += map[bits & 0x3F];\n } else if (tail === 2) {\n result += map[bits >> 10 & 0x3F];\n result += map[bits >> 4 & 0x3F];\n result += map[bits << 2 & 0x3F];\n result += map[64];\n } else if (tail === 1) {\n result += map[bits >> 2 & 0x3F];\n result += map[bits << 4 & 0x3F];\n result += map[64];\n result += map[64];\n }\n return result;\n }\n function isBinary(object) {\n return NodeBuffer && NodeBuffer.isBuffer(object);\n }\n var binary = new Type$6('tag:yaml.org,2002:binary', {\n kind: 'scalar',\n resolve: resolveYamlBinary,\n construct: constructYamlBinary,\n predicate: isBinary,\n represent: representYamlBinary\n });\n var Type$5 = type;\n var _hasOwnProperty$3 = Object.prototype.hasOwnProperty;\n var _toString$2 = Object.prototype.toString;\n function resolveYamlOmap(data) {\n if (data === null) return true;\n var objectKeys = [],\n index,\n length,\n pair,\n pairKey,\n pairHasKey,\n object = data;\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n pairHasKey = false;\n if (_toString$2.call(pair) !== '[object Object]') return false;\n for (pairKey in pair) {\n if (_hasOwnProperty$3.call(pair, pairKey)) {\n if (!pairHasKey) pairHasKey = true;else return false;\n }\n }\n if (!pairHasKey) return false;\n if (objectKeys.indexOf(pairKey) === -1) objectKeys.push(pairKey);else return false;\n }\n return true;\n }\n function constructYamlOmap(data) {\n return data !== null ? data : [];\n }\n var omap = new Type$5('tag:yaml.org,2002:omap', {\n kind: 'sequence',\n resolve: resolveYamlOmap,\n construct: constructYamlOmap\n });\n var Type$4 = type;\n var _toString$1 = Object.prototype.toString;\n function resolveYamlPairs(data) {\n if (data === null) return true;\n var index,\n length,\n pair,\n keys,\n result,\n object = data;\n result = new Array(object.length);\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n if (_toString$1.call(pair) !== '[object Object]') return false;\n keys = Object.keys(pair);\n if (keys.length !== 1) return false;\n result[index] = [keys[0], pair[keys[0]]];\n }\n return true;\n }\n function constructYamlPairs(data) {\n if (data === null) return [];\n var index,\n length,\n pair,\n keys,\n result,\n object = data;\n result = new Array(object.length);\n for (index = 0, length = object.length; index < length; index += 1) {\n pair = object[index];\n keys = Object.keys(pair);\n result[index] = [keys[0], pair[keys[0]]];\n }\n return result;\n }\n var pairs = new Type$4('tag:yaml.org,2002:pairs', {\n kind: 'sequence',\n resolve: resolveYamlPairs,\n construct: constructYamlPairs\n });\n var Type$3 = type;\n var _hasOwnProperty$2 = Object.prototype.hasOwnProperty;\n function resolveYamlSet(data) {\n if (data === null) return true;\n var key,\n object = data;\n for (key in object) {\n if (_hasOwnProperty$2.call(object, key)) {\n if (object[key] !== null) return false;\n }\n }\n return true;\n }\n function constructYamlSet(data) {\n return data !== null ? data : {};\n }\n var set = new Type$3('tag:yaml.org,2002:set', {\n kind: 'mapping',\n resolve: resolveYamlSet,\n construct: constructYamlSet\n });\n var Schema$1 = schema;\n var default_safe = new Schema$1({\n include: [core],\n implicit: [timestamp, merge],\n explicit: [binary, omap, pairs, set]\n });\n var Type$2 = type;\n function resolveJavascriptUndefined() {\n return true;\n }\n function constructJavascriptUndefined() {\n return undefined;\n }\n function representJavascriptUndefined() {\n return '';\n }\n function isUndefined(object) {\n return typeof object === 'undefined';\n }\n var _undefined = new Type$2('tag:yaml.org,2002:js/undefined', {\n kind: 'scalar',\n resolve: resolveJavascriptUndefined,\n construct: constructJavascriptUndefined,\n predicate: isUndefined,\n represent: representJavascriptUndefined\n });\n var Type$1 = type;\n function resolveJavascriptRegExp(data) {\n if (data === null) return false;\n if (data.length === 0) return false;\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n if (modifiers.length > 3) return false;\n if (regexp[regexp.length - modifiers.length - 1] !== '/') return false;\n }\n return true;\n }\n function constructJavascriptRegExp(data) {\n var regexp = data,\n tail = /\\/([gim]*)$/.exec(data),\n modifiers = '';\n if (regexp[0] === '/') {\n if (tail) modifiers = tail[1];\n regexp = regexp.slice(1, regexp.length - modifiers.length - 1);\n }\n return new RegExp(regexp, modifiers);\n }\n function representJavascriptRegExp(object ) {\n var result = '/' + object.source + '/';\n if (object.global) result += 'g';\n if (object.multiline) result += 'm';\n if (object.ignoreCase) result += 'i';\n return result;\n }\n function isRegExp(object) {\n return Object.prototype.toString.call(object) === '[object RegExp]';\n }\n var regexp = new Type$1('tag:yaml.org,2002:js/regexp', {\n kind: 'scalar',\n resolve: resolveJavascriptRegExp,\n construct: constructJavascriptRegExp,\n predicate: isRegExp,\n represent: representJavascriptRegExp\n });\n var esprima;\n try {\n var _require = commonjsRequire;\n esprima = _require('esprima');\n } catch (_) {\n if (typeof window !== 'undefined') esprima = window.esprima;\n }\n var Type = type;\n function resolveJavascriptFunction(data) {\n if (data === null) return false;\n try {\n var source = '(' + data + ')',\n ast = esprima.parse(source, {\n range: true\n });\n if (ast.type !== 'Program' || ast.body.length !== 1 || ast.body[0].type !== 'ExpressionStatement' || ast.body[0].expression.type !== 'ArrowFunctionExpression' && ast.body[0].expression.type !== 'FunctionExpression') {\n return false;\n }\n return true;\n } catch (err) {\n return false;\n }\n }\n function constructJavascriptFunction(data) {\n var source = '(' + data + ')',\n ast = esprima.parse(source, {\n range: true\n }),\n params = [],\n body;\n if (ast.type !== 'Program' || ast.body.length !== 1 || ast.body[0].type !== 'ExpressionStatement' || ast.body[0].expression.type !== 'ArrowFunctionExpression' && ast.body[0].expression.type !== 'FunctionExpression') {\n throw new Error('Failed to resolve function');\n }\n ast.body[0].expression.params.forEach(function (param) {\n params.push(param.name);\n });\n body = ast.body[0].expression.body.range;\n if (ast.body[0].expression.body.type === 'BlockStatement') {\n return new Function(params, source.slice(body[0] + 1, body[1] - 1));\n }\n return new Function(params, 'return ' + source.slice(body[0], body[1]));\n }\n function representJavascriptFunction(object ) {\n return object.toString();\n }\n function isFunction(object) {\n return Object.prototype.toString.call(object) === '[object Function]';\n }\n var _function = new Type('tag:yaml.org,2002:js/function', {\n kind: 'scalar',\n resolve: resolveJavascriptFunction,\n construct: constructJavascriptFunction,\n predicate: isFunction,\n represent: representJavascriptFunction\n });\n var Schema = schema;\n var default_full = Schema.DEFAULT = new Schema({\n include: [default_safe],\n explicit: [_undefined, regexp, _function]\n });\n var common$1 = common$6;\n var YAMLException$1 = exception;\n var Mark = mark;\n var DEFAULT_SAFE_SCHEMA$1 = default_safe;\n var DEFAULT_FULL_SCHEMA$1 = default_full;\n var _hasOwnProperty$1 = Object.prototype.hasOwnProperty;\n var CONTEXT_FLOW_IN = 1;\n var CONTEXT_FLOW_OUT = 2;\n var CONTEXT_BLOCK_IN = 3;\n var CONTEXT_BLOCK_OUT = 4;\n var CHOMPING_CLIP = 1;\n var CHOMPING_STRIP = 2;\n var CHOMPING_KEEP = 3;\n var PATTERN_NON_PRINTABLE = /[\\x00-\\x08\\x0B\\x0C\\x0E-\\x1F\\x7F-\\x84\\x86-\\x9F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n var PATTERN_NON_ASCII_LINE_BREAKS = /[\\x85\\u2028\\u2029]/;\n var PATTERN_FLOW_INDICATORS = /[,\\[\\]\\{\\}]/;\n var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\\-]+!)$/i;\n var PATTERN_TAG_URI = /^(?:!|[^,\\[\\]\\{\\}])(?:%[0-9a-f]{2}|[0-9a-z\\-#;\\/\\?:@&=\\+\\$,_\\.!~\\*'\\(\\)\\[\\]])*$/i;\n function _class(obj) {\n return Object.prototype.toString.call(obj);\n }\n function is_EOL(c) {\n return c === 0x0A || c === 0x0D ;\n }\n function is_WHITE_SPACE(c) {\n return c === 0x09 || c === 0x20 ;\n }\n function is_WS_OR_EOL(c) {\n return c === 0x09 || c === 0x20 || c === 0x0A || c === 0x0D ;\n }\n function is_FLOW_INDICATOR(c) {\n return c === 0x2C || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D ;\n }\n function fromHexCode(c) {\n var lc;\n if (0x30 <= c && c <= 0x39 ) {\n return c - 0x30;\n }\n lc = c | 0x20;\n if (0x61 <= lc && lc <= 0x66 ) {\n return lc - 0x61 + 10;\n }\n return -1;\n }\n function escapedHexLen(c) {\n if (c === 0x78 ) {\n return 2;\n }\n if (c === 0x75 ) {\n return 4;\n }\n if (c === 0x55 ) {\n return 8;\n }\n return 0;\n }\n function fromDecimalCode(c) {\n if (0x30 <= c && c <= 0x39 ) {\n return c - 0x30;\n }\n return -1;\n }\n function simpleEscapeSequence(c) {\n return c === 0x30 ? '\\x00' : c === 0x61 ? '\\x07' : c === 0x62 ? '\\x08' : c === 0x74 ? '\\x09' : c === 0x09 ? '\\x09' : c === 0x6E ? '\\x0A' : c === 0x76 ? '\\x0B' : c === 0x66 ? '\\x0C' : c === 0x72 ? '\\x0D' : c === 0x65 ? '\\x1B' : c === 0x20 ? ' ' : c === 0x22 ? '\\x22' : c === 0x2F ? '/' : c === 0x5C ? '\\x5C' : c === 0x4E ? '\\x85' : c === 0x5F ? '\\xA0' : c === 0x4C ? \"\\u2028\" : c === 0x50 ? \"\\u2029\" : '';\n }\n function charFromCodepoint(c) {\n if (c <= 0xFFFF) {\n return String.fromCharCode(c);\n }\n return String.fromCharCode((c - 0x010000 >> 10) + 0xD800, (c - 0x010000 & 0x03FF) + 0xDC00);\n }\n var simpleEscapeCheck = new Array(256);\n var simpleEscapeMap = new Array(256);\n for (var i = 0; i < 256; i++) {\n simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;\n simpleEscapeMap[i] = simpleEscapeSequence(i);\n }\n function State$1(input, options) {\n this.input = input;\n this.filename = options['filename'] || null;\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA$1;\n this.onWarning = options['onWarning'] || null;\n this.legacy = options['legacy'] || false;\n this.json = options['json'] || false;\n this.listener = options['listener'] || null;\n this.implicitTypes = this.schema.compiledImplicit;\n this.typeMap = this.schema.compiledTypeMap;\n this.length = input.length;\n this.position = 0;\n this.line = 0;\n this.lineStart = 0;\n this.lineIndent = 0;\n this.documents = [];\n }\n function generateError(state, message) {\n return new YAMLException$1(message, new Mark(state.filename, state.input, state.position, state.line, state.position - state.lineStart));\n }\n function throwError(state, message) {\n throw generateError(state, message);\n }\n function throwWarning(state, message) {\n if (state.onWarning) {\n state.onWarning.call(null, generateError(state, message));\n }\n }\n var directiveHandlers = {\n YAML: function handleYamlDirective(state, name, args) {\n var match, major, minor;\n if (state.version !== null) {\n throwError(state, 'duplication of %YAML directive');\n }\n if (args.length !== 1) {\n throwError(state, 'YAML directive accepts exactly one argument');\n }\n match = /^([0-9]+)\\.([0-9]+)$/.exec(args[0]);\n if (match === null) {\n throwError(state, 'ill-formed argument of the YAML directive');\n }\n major = parseInt(match[1], 10);\n minor = parseInt(match[2], 10);\n if (major !== 1) {\n throwError(state, 'unacceptable YAML version of the document');\n }\n state.version = args[0];\n state.checkLineBreaks = minor < 2;\n if (minor !== 1 && minor !== 2) {\n throwWarning(state, 'unsupported YAML version of the document');\n }\n },\n TAG: function handleTagDirective(state, name, args) {\n var handle, prefix;\n if (args.length !== 2) {\n throwError(state, 'TAG directive accepts exactly two arguments');\n }\n handle = args[0];\n prefix = args[1];\n if (!PATTERN_TAG_HANDLE.test(handle)) {\n throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');\n }\n if (_hasOwnProperty$1.call(state.tagMap, handle)) {\n throwError(state, 'there is a previously declared suffix for \"' + handle + '\" tag handle');\n }\n if (!PATTERN_TAG_URI.test(prefix)) {\n throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');\n }\n state.tagMap[handle] = prefix;\n }\n };\n function captureSegment(state, start, end, checkJson) {\n var _position, _length, _character, _result;\n if (start < end) {\n _result = state.input.slice(start, end);\n if (checkJson) {\n for (_position = 0, _length = _result.length; _position < _length; _position += 1) {\n _character = _result.charCodeAt(_position);\n if (!(_character === 0x09 || 0x20 <= _character && _character <= 0x10FFFF)) {\n throwError(state, 'expected valid JSON character');\n }\n }\n } else if (PATTERN_NON_PRINTABLE.test(_result)) {\n throwError(state, 'the stream contains non-printable characters');\n }\n state.result += _result;\n }\n }\n function mergeMappings(state, destination, source, overridableKeys) {\n var sourceKeys, key, index, quantity;\n if (!common$1.isObject(source)) {\n throwError(state, 'cannot merge mappings; the provided source object is unacceptable');\n }\n sourceKeys = Object.keys(source);\n for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {\n key = sourceKeys[index];\n if (!_hasOwnProperty$1.call(destination, key)) {\n destination[key] = source[key];\n overridableKeys[key] = true;\n }\n }\n }\n function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {\n var index, quantity;\n if (Array.isArray(keyNode)) {\n keyNode = Array.prototype.slice.call(keyNode);\n for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {\n if (Array.isArray(keyNode[index])) {\n throwError(state, 'nested arrays are not supported inside keys');\n }\n if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {\n keyNode[index] = '[object Object]';\n }\n }\n }\n if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {\n keyNode = '[object Object]';\n }\n keyNode = String(keyNode);\n if (_result === null) {\n _result = {};\n }\n if (keyTag === 'tag:yaml.org,2002:merge') {\n if (Array.isArray(valueNode)) {\n for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {\n mergeMappings(state, _result, valueNode[index], overridableKeys);\n }\n } else {\n mergeMappings(state, _result, valueNode, overridableKeys);\n }\n } else {\n if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) {\n state.line = startLine || state.line;\n state.position = startPos || state.position;\n throwError(state, 'duplicated mapping key');\n }\n _result[keyNode] = valueNode;\n delete overridableKeys[keyNode];\n }\n return _result;\n }\n function readLineBreak(state) {\n var ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 0x0A ) {\n state.position++;\n } else if (ch === 0x0D ) {\n state.position++;\n if (state.input.charCodeAt(state.position) === 0x0A ) {\n state.position++;\n }\n } else {\n throwError(state, 'a line break is expected');\n }\n state.line += 1;\n state.lineStart = state.position;\n }\n function skipSeparationSpace(state, allowComments, checkIndent) {\n var lineBreaks = 0,\n ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (allowComments && ch === 0x23 ) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0x0A && ch !== 0x0D && ch !== 0);\n }\n if (is_EOL(ch)) {\n readLineBreak(state);\n ch = state.input.charCodeAt(state.position);\n lineBreaks++;\n state.lineIndent = 0;\n while (ch === 0x20 ) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n } else {\n break;\n }\n }\n if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {\n throwWarning(state, 'deficient indentation');\n }\n return lineBreaks;\n }\n function testDocumentSeparator(state) {\n var _position = state.position,\n ch;\n ch = state.input.charCodeAt(_position);\n if ((ch === 0x2D || ch === 0x2E ) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) {\n _position += 3;\n ch = state.input.charCodeAt(_position);\n if (ch === 0 || is_WS_OR_EOL(ch)) {\n return true;\n }\n }\n return false;\n }\n function writeFoldedLines(state, count) {\n if (count === 1) {\n state.result += ' ';\n } else if (count > 1) {\n state.result += common$1.repeat('\\n', count - 1);\n }\n }\n function readPlainScalar(state, nodeIndent, withinFlowCollection) {\n var preceding,\n following,\n captureStart,\n captureEnd,\n hasPendingContent,\n _line,\n _lineStart,\n _lineIndent,\n _kind = state.kind,\n _result = state.result,\n ch;\n ch = state.input.charCodeAt(state.position);\n if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 0x23 || ch === 0x26 || ch === 0x2A || ch === 0x21 || ch === 0x7C || ch === 0x3E || ch === 0x27 || ch === 0x22 || ch === 0x25 || ch === 0x40 || ch === 0x60 ) {\n return false;\n }\n if (ch === 0x3F || ch === 0x2D ) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n return false;\n }\n }\n state.kind = 'scalar';\n state.result = '';\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n while (ch !== 0) {\n if (ch === 0x3A ) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) {\n break;\n }\n } else if (ch === 0x23 ) {\n preceding = state.input.charCodeAt(state.position - 1);\n if (is_WS_OR_EOL(preceding)) {\n break;\n }\n } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) {\n break;\n } else if (is_EOL(ch)) {\n _line = state.line;\n _lineStart = state.lineStart;\n _lineIndent = state.lineIndent;\n skipSeparationSpace(state, false, -1);\n if (state.lineIndent >= nodeIndent) {\n hasPendingContent = true;\n ch = state.input.charCodeAt(state.position);\n continue;\n } else {\n state.position = captureEnd;\n state.line = _line;\n state.lineStart = _lineStart;\n state.lineIndent = _lineIndent;\n break;\n }\n }\n if (hasPendingContent) {\n captureSegment(state, captureStart, captureEnd, false);\n writeFoldedLines(state, state.line - _line);\n captureStart = captureEnd = state.position;\n hasPendingContent = false;\n }\n if (!is_WHITE_SPACE(ch)) {\n captureEnd = state.position + 1;\n }\n ch = state.input.charCodeAt(++state.position);\n }\n captureSegment(state, captureStart, captureEnd, false);\n if (state.result) {\n return true;\n }\n state.kind = _kind;\n state.result = _result;\n return false;\n }\n function readSingleQuotedScalar(state, nodeIndent) {\n var ch, captureStart, captureEnd;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 0x27 ) {\n return false;\n }\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x27 ) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n if (ch === 0x27 ) {\n captureStart = state.position;\n state.position++;\n captureEnd = state.position;\n } else {\n return true;\n }\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a single quoted scalar');\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n throwError(state, 'unexpected end of the stream within a single quoted scalar');\n }\n function readDoubleQuotedScalar(state, nodeIndent) {\n var captureStart, captureEnd, hexLength, hexResult, tmp, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 0x22 ) {\n return false;\n }\n state.kind = 'scalar';\n state.result = '';\n state.position++;\n captureStart = captureEnd = state.position;\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n if (ch === 0x22 ) {\n captureSegment(state, captureStart, state.position, true);\n state.position++;\n return true;\n } else if (ch === 0x5C ) {\n captureSegment(state, captureStart, state.position, true);\n ch = state.input.charCodeAt(++state.position);\n if (is_EOL(ch)) {\n skipSeparationSpace(state, false, nodeIndent);\n } else if (ch < 256 && simpleEscapeCheck[ch]) {\n state.result += simpleEscapeMap[ch];\n state.position++;\n } else if ((tmp = escapedHexLen(ch)) > 0) {\n hexLength = tmp;\n hexResult = 0;\n for (; hexLength > 0; hexLength--) {\n ch = state.input.charCodeAt(++state.position);\n if ((tmp = fromHexCode(ch)) >= 0) {\n hexResult = (hexResult << 4) + tmp;\n } else {\n throwError(state, 'expected hexadecimal character');\n }\n }\n state.result += charFromCodepoint(hexResult);\n state.position++;\n } else {\n throwError(state, 'unknown escape sequence');\n }\n captureStart = captureEnd = state.position;\n } else if (is_EOL(ch)) {\n captureSegment(state, captureStart, captureEnd, true);\n writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));\n captureStart = captureEnd = state.position;\n } else if (state.position === state.lineStart && testDocumentSeparator(state)) {\n throwError(state, 'unexpected end of the document within a double quoted scalar');\n } else {\n state.position++;\n captureEnd = state.position;\n }\n }\n throwError(state, 'unexpected end of the stream within a double quoted scalar');\n }\n function readFlowCollection(state, nodeIndent) {\n var readNext = true,\n _line,\n _tag = state.tag,\n _result,\n _anchor = state.anchor,\n following,\n terminator,\n isPair,\n isExplicitPair,\n isMapping,\n overridableKeys = {},\n keyNode,\n keyTag,\n valueNode,\n ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 0x5B ) {\n terminator = 0x5D;\n isMapping = false;\n _result = [];\n } else if (ch === 0x7B ) {\n terminator = 0x7D;\n isMapping = true;\n _result = {};\n } else {\n return false;\n }\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(++state.position);\n while (ch !== 0) {\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if (ch === terminator) {\n state.position++;\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = isMapping ? 'mapping' : 'sequence';\n state.result = _result;\n return true;\n } else if (!readNext) {\n throwError(state, 'missed comma between flow collection entries');\n }\n keyTag = keyNode = valueNode = null;\n isPair = isExplicitPair = false;\n if (ch === 0x3F ) {\n following = state.input.charCodeAt(state.position + 1);\n if (is_WS_OR_EOL(following)) {\n isPair = isExplicitPair = true;\n state.position++;\n skipSeparationSpace(state, true, nodeIndent);\n }\n }\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n keyTag = state.tag;\n keyNode = state.result;\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if ((isExplicitPair || state.line === _line) && ch === 0x3A ) {\n isPair = true;\n ch = state.input.charCodeAt(++state.position);\n skipSeparationSpace(state, true, nodeIndent);\n composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);\n valueNode = state.result;\n }\n if (isMapping) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);\n } else if (isPair) {\n _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));\n } else {\n _result.push(keyNode);\n }\n skipSeparationSpace(state, true, nodeIndent);\n ch = state.input.charCodeAt(state.position);\n if (ch === 0x2C ) {\n readNext = true;\n ch = state.input.charCodeAt(++state.position);\n } else {\n readNext = false;\n }\n }\n throwError(state, 'unexpected end of the stream within a flow collection');\n }\n function readBlockScalar(state, nodeIndent) {\n var captureStart,\n folding,\n chomping = CHOMPING_CLIP,\n didReadContent = false,\n detectedIndent = false,\n textIndent = nodeIndent,\n emptyLines = 0,\n atMoreIndented = false,\n tmp,\n ch;\n ch = state.input.charCodeAt(state.position);\n if (ch === 0x7C ) {\n folding = false;\n } else if (ch === 0x3E ) {\n folding = true;\n } else {\n return false;\n }\n state.kind = 'scalar';\n state.result = '';\n while (ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n if (ch === 0x2B || ch === 0x2D ) {\n if (CHOMPING_CLIP === chomping) {\n chomping = ch === 0x2B ? CHOMPING_KEEP : CHOMPING_STRIP;\n } else {\n throwError(state, 'repeat of a chomping mode identifier');\n }\n } else if ((tmp = fromDecimalCode(ch)) >= 0) {\n if (tmp === 0) {\n throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');\n } else if (!detectedIndent) {\n textIndent = nodeIndent + tmp - 1;\n detectedIndent = true;\n } else {\n throwError(state, 'repeat of an indentation width identifier');\n }\n } else {\n break;\n }\n }\n if (is_WHITE_SPACE(ch)) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (is_WHITE_SPACE(ch));\n if (ch === 0x23 ) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (!is_EOL(ch) && ch !== 0);\n }\n }\n while (ch !== 0) {\n readLineBreak(state);\n state.lineIndent = 0;\n ch = state.input.charCodeAt(state.position);\n while ((!detectedIndent || state.lineIndent < textIndent) && ch === 0x20 ) {\n state.lineIndent++;\n ch = state.input.charCodeAt(++state.position);\n }\n if (!detectedIndent && state.lineIndent > textIndent) {\n textIndent = state.lineIndent;\n }\n if (is_EOL(ch)) {\n emptyLines++;\n continue;\n }\n if (state.lineIndent < textIndent) {\n if (chomping === CHOMPING_KEEP) {\n state.result += common$1.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (chomping === CHOMPING_CLIP) {\n if (didReadContent) {\n state.result += '\\n';\n }\n }\n break;\n }\n if (folding) {\n if (is_WHITE_SPACE(ch)) {\n atMoreIndented = true;\n state.result += common$1.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n } else if (atMoreIndented) {\n atMoreIndented = false;\n state.result += common$1.repeat('\\n', emptyLines + 1);\n } else if (emptyLines === 0) {\n if (didReadContent) {\n state.result += ' ';\n }\n } else {\n state.result += common$1.repeat('\\n', emptyLines);\n }\n } else {\n state.result += common$1.repeat('\\n', didReadContent ? 1 + emptyLines : emptyLines);\n }\n didReadContent = true;\n detectedIndent = true;\n emptyLines = 0;\n captureStart = state.position;\n while (!is_EOL(ch) && ch !== 0) {\n ch = state.input.charCodeAt(++state.position);\n }\n captureSegment(state, captureStart, state.position, false);\n }\n return true;\n }\n function readBlockSequence(state, nodeIndent) {\n var _line,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = [],\n following,\n detected = false,\n ch;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n if (ch !== 0x2D ) {\n break;\n }\n following = state.input.charCodeAt(state.position + 1);\n if (!is_WS_OR_EOL(following)) {\n break;\n }\n detected = true;\n state.position++;\n if (skipSeparationSpace(state, true, -1)) {\n if (state.lineIndent <= nodeIndent) {\n _result.push(null);\n ch = state.input.charCodeAt(state.position);\n continue;\n }\n }\n _line = state.line;\n composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);\n _result.push(state.result);\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) {\n throwError(state, 'bad indentation of a sequence entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'sequence';\n state.result = _result;\n return true;\n }\n return false;\n }\n function readBlockMapping(state, nodeIndent, flowIndent) {\n var following,\n allowCompact,\n _line,\n _pos,\n _tag = state.tag,\n _anchor = state.anchor,\n _result = {},\n overridableKeys = {},\n keyTag = null,\n keyNode = null,\n valueNode = null,\n atExplicitKey = false,\n detected = false,\n ch;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = _result;\n }\n ch = state.input.charCodeAt(state.position);\n while (ch !== 0) {\n following = state.input.charCodeAt(state.position + 1);\n _line = state.line;\n _pos = state.position;\n if ((ch === 0x3F || ch === 0x3A ) && is_WS_OR_EOL(following)) {\n if (ch === 0x3F ) {\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = true;\n allowCompact = true;\n } else if (atExplicitKey) {\n atExplicitKey = false;\n allowCompact = true;\n } else {\n throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');\n }\n state.position += 1;\n ch = following;\n } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {\n if (state.line === _line) {\n ch = state.input.charCodeAt(state.position);\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (ch === 0x3A ) {\n ch = state.input.charCodeAt(++state.position);\n if (!is_WS_OR_EOL(ch)) {\n throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');\n }\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n keyTag = keyNode = valueNode = null;\n }\n detected = true;\n atExplicitKey = false;\n allowCompact = false;\n keyTag = state.tag;\n keyNode = state.result;\n } else if (detected) {\n throwError(state, 'can not read an implicit mapping pair; a colon is missed');\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true;\n }\n } else if (detected) {\n throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');\n } else {\n state.tag = _tag;\n state.anchor = _anchor;\n return true;\n }\n } else {\n break;\n }\n if (state.line === _line || state.lineIndent > nodeIndent) {\n if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {\n if (atExplicitKey) {\n keyNode = state.result;\n } else {\n valueNode = state.result;\n }\n }\n if (!atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);\n keyTag = keyNode = valueNode = null;\n }\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n }\n if (state.lineIndent > nodeIndent && ch !== 0) {\n throwError(state, 'bad indentation of a mapping entry');\n } else if (state.lineIndent < nodeIndent) {\n break;\n }\n }\n if (atExplicitKey) {\n storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);\n }\n if (detected) {\n state.tag = _tag;\n state.anchor = _anchor;\n state.kind = 'mapping';\n state.result = _result;\n }\n return detected;\n }\n function readTagProperty(state) {\n var _position,\n isVerbatim = false,\n isNamed = false,\n tagHandle,\n tagName,\n ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 0x21 ) return false;\n if (state.tag !== null) {\n throwError(state, 'duplication of a tag property');\n }\n ch = state.input.charCodeAt(++state.position);\n if (ch === 0x3C ) {\n isVerbatim = true;\n ch = state.input.charCodeAt(++state.position);\n } else if (ch === 0x21 ) {\n isNamed = true;\n tagHandle = '!!';\n ch = state.input.charCodeAt(++state.position);\n } else {\n tagHandle = '!';\n }\n _position = state.position;\n if (isVerbatim) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0 && ch !== 0x3E );\n if (state.position < state.length) {\n tagName = state.input.slice(_position, state.position);\n ch = state.input.charCodeAt(++state.position);\n } else {\n throwError(state, 'unexpected end of the stream within a verbatim tag');\n }\n } else {\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n if (ch === 0x21 ) {\n if (!isNamed) {\n tagHandle = state.input.slice(_position - 1, state.position + 1);\n if (!PATTERN_TAG_HANDLE.test(tagHandle)) {\n throwError(state, 'named tag handle cannot contain such characters');\n }\n isNamed = true;\n _position = state.position + 1;\n } else {\n throwError(state, 'tag suffix cannot contain exclamation marks');\n }\n }\n ch = state.input.charCodeAt(++state.position);\n }\n tagName = state.input.slice(_position, state.position);\n if (PATTERN_FLOW_INDICATORS.test(tagName)) {\n throwError(state, 'tag suffix cannot contain flow indicator characters');\n }\n }\n if (tagName && !PATTERN_TAG_URI.test(tagName)) {\n throwError(state, 'tag name cannot contain such characters: ' + tagName);\n }\n if (isVerbatim) {\n state.tag = tagName;\n } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) {\n state.tag = state.tagMap[tagHandle] + tagName;\n } else if (tagHandle === '!') {\n state.tag = '!' + tagName;\n } else if (tagHandle === '!!') {\n state.tag = 'tag:yaml.org,2002:' + tagName;\n } else {\n throwError(state, 'undeclared tag handle \"' + tagHandle + '\"');\n }\n return true;\n }\n function readAnchorProperty(state) {\n var _position, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 0x26 ) return false;\n if (state.anchor !== null) {\n throwError(state, 'duplication of an anchor property');\n }\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (state.position === _position) {\n throwError(state, 'name of an anchor node must contain at least one character');\n }\n state.anchor = state.input.slice(_position, state.position);\n return true;\n }\n function readAlias(state) {\n var _position, alias, ch;\n ch = state.input.charCodeAt(state.position);\n if (ch !== 0x2A ) return false;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (state.position === _position) {\n throwError(state, 'name of an alias node must contain at least one character');\n }\n alias = state.input.slice(_position, state.position);\n if (!_hasOwnProperty$1.call(state.anchorMap, alias)) {\n throwError(state, 'unidentified alias \"' + alias + '\"');\n }\n state.result = state.anchorMap[alias];\n skipSeparationSpace(state, true, -1);\n return true;\n }\n function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {\n var allowBlockStyles,\n allowBlockScalars,\n allowBlockCollections,\n indentStatus = 1,\n atNewLine = false,\n hasContent = false,\n typeIndex,\n typeQuantity,\n type,\n flowIndent,\n blockIndent;\n if (state.listener !== null) {\n state.listener('open', state);\n }\n state.tag = null;\n state.anchor = null;\n state.kind = null;\n state.result = null;\n allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext;\n if (allowToSeek) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n }\n }\n if (indentStatus === 1) {\n while (readTagProperty(state) || readAnchorProperty(state)) {\n if (skipSeparationSpace(state, true, -1)) {\n atNewLine = true;\n allowBlockCollections = allowBlockStyles;\n if (state.lineIndent > parentIndent) {\n indentStatus = 1;\n } else if (state.lineIndent === parentIndent) {\n indentStatus = 0;\n } else if (state.lineIndent < parentIndent) {\n indentStatus = -1;\n }\n } else {\n allowBlockCollections = false;\n }\n }\n }\n if (allowBlockCollections) {\n allowBlockCollections = atNewLine || allowCompact;\n }\n if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {\n if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {\n flowIndent = parentIndent;\n } else {\n flowIndent = parentIndent + 1;\n }\n blockIndent = state.position - state.lineStart;\n if (indentStatus === 1) {\n if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) {\n hasContent = true;\n } else {\n if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) {\n hasContent = true;\n } else if (readAlias(state)) {\n hasContent = true;\n if (state.tag !== null || state.anchor !== null) {\n throwError(state, 'alias node should not have any properties');\n }\n } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {\n hasContent = true;\n if (state.tag === null) {\n state.tag = '?';\n }\n }\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else if (indentStatus === 0) {\n hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);\n }\n }\n if (state.tag !== null && state.tag !== '!') {\n if (state.tag === '?') {\n if (state.result !== null && state.kind !== 'scalar') {\n throwError(state, 'unacceptable node kind for ! tag; it should be \"scalar\", not \"' + state.kind + '\"');\n }\n for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {\n type = state.implicitTypes[typeIndex];\n if (type.resolve(state.result)) {\n state.result = type.construct(state.result);\n state.tag = type.tag;\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n break;\n }\n }\n } else if (_hasOwnProperty$1.call(state.typeMap[state.kind || 'fallback'], state.tag)) {\n type = state.typeMap[state.kind || 'fallback'][state.tag];\n if (state.result !== null && type.kind !== state.kind) {\n throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be \"' + type.kind + '\", not \"' + state.kind + '\"');\n }\n if (!type.resolve(state.result)) {\n throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');\n } else {\n state.result = type.construct(state.result);\n if (state.anchor !== null) {\n state.anchorMap[state.anchor] = state.result;\n }\n }\n } else {\n throwError(state, 'unknown tag !<' + state.tag + '>');\n }\n }\n if (state.listener !== null) {\n state.listener('close', state);\n }\n return state.tag !== null || state.anchor !== null || hasContent;\n }\n function readDocument(state) {\n var documentStart = state.position,\n _position,\n directiveName,\n directiveArgs,\n hasDirectives = false,\n ch;\n state.version = null;\n state.checkLineBreaks = state.legacy;\n state.tagMap = {};\n state.anchorMap = {};\n while ((ch = state.input.charCodeAt(state.position)) !== 0) {\n skipSeparationSpace(state, true, -1);\n ch = state.input.charCodeAt(state.position);\n if (state.lineIndent > 0 || ch !== 0x25 ) {\n break;\n }\n hasDirectives = true;\n ch = state.input.charCodeAt(++state.position);\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n directiveName = state.input.slice(_position, state.position);\n directiveArgs = [];\n if (directiveName.length < 1) {\n throwError(state, 'directive name must not be less than one character in length');\n }\n while (ch !== 0) {\n while (is_WHITE_SPACE(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n if (ch === 0x23 ) {\n do {\n ch = state.input.charCodeAt(++state.position);\n } while (ch !== 0 && !is_EOL(ch));\n break;\n }\n if (is_EOL(ch)) break;\n _position = state.position;\n while (ch !== 0 && !is_WS_OR_EOL(ch)) {\n ch = state.input.charCodeAt(++state.position);\n }\n directiveArgs.push(state.input.slice(_position, state.position));\n }\n if (ch !== 0) readLineBreak(state);\n if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) {\n directiveHandlers[directiveName](state, directiveName, directiveArgs);\n } else {\n throwWarning(state, 'unknown document directive \"' + directiveName + '\"');\n }\n }\n skipSeparationSpace(state, true, -1);\n if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 0x2D && state.input.charCodeAt(state.position + 1) === 0x2D && state.input.charCodeAt(state.position + 2) === 0x2D ) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n } else if (hasDirectives) {\n throwError(state, 'directives end mark is expected');\n }\n composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);\n skipSeparationSpace(state, true, -1);\n if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {\n throwWarning(state, 'non-ASCII line breaks are interpreted as content');\n }\n state.documents.push(state.result);\n if (state.position === state.lineStart && testDocumentSeparator(state)) {\n if (state.input.charCodeAt(state.position) === 0x2E ) {\n state.position += 3;\n skipSeparationSpace(state, true, -1);\n }\n return;\n }\n if (state.position < state.length - 1) {\n throwError(state, 'end of the stream or a document separator is expected');\n } else {\n return;\n }\n }\n function loadDocuments(input, options) {\n input = String(input);\n options = options || {};\n if (input.length !== 0) {\n if (input.charCodeAt(input.length - 1) !== 0x0A && input.charCodeAt(input.length - 1) !== 0x0D ) {\n input += '\\n';\n }\n if (input.charCodeAt(0) === 0xFEFF) {\n input = input.slice(1);\n }\n }\n var state = new State$1(input, options);\n var nullpos = input.indexOf('\\0');\n if (nullpos !== -1) {\n state.position = nullpos;\n throwError(state, 'null byte is not allowed in input');\n }\n state.input += '\\0';\n while (state.input.charCodeAt(state.position) === 0x20 ) {\n state.lineIndent += 1;\n state.position += 1;\n }\n while (state.position < state.length - 1) {\n readDocument(state);\n }\n return state.documents;\n }\n function loadAll(input, iterator, options) {\n if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n var documents = loadDocuments(input, options);\n if (typeof iterator !== 'function') {\n return documents;\n }\n for (var index = 0, length = documents.length; index < length; index += 1) {\n iterator(documents[index]);\n }\n }\n function load(input, options) {\n var documents = loadDocuments(input, options);\n if (documents.length === 0) {\n return undefined;\n } else if (documents.length === 1) {\n return documents[0];\n }\n throw new YAMLException$1('expected a single document in the stream, but found more');\n }\n function safeLoadAll(input, iterator, options) {\n if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {\n options = iterator;\n iterator = null;\n }\n return loadAll(input, iterator, common$1.extend({\n schema: DEFAULT_SAFE_SCHEMA$1\n }, options));\n }\n function safeLoad(input, options) {\n return load(input, common$1.extend({\n schema: DEFAULT_SAFE_SCHEMA$1\n }, options));\n }\n loader$1.loadAll = loadAll;\n loader$1.load = load;\n loader$1.safeLoadAll = safeLoadAll;\n loader$1.safeLoad = safeLoad;\n var dumper$1 = {};\n var common = common$6;\n var YAMLException = exception;\n var DEFAULT_FULL_SCHEMA = default_full;\n var DEFAULT_SAFE_SCHEMA = default_safe;\n var _toString = Object.prototype.toString;\n var _hasOwnProperty = Object.prototype.hasOwnProperty;\n var CHAR_TAB = 0x09;\n var CHAR_LINE_FEED = 0x0A;\n var CHAR_CARRIAGE_RETURN = 0x0D;\n var CHAR_SPACE = 0x20;\n var CHAR_EXCLAMATION = 0x21;\n var CHAR_DOUBLE_QUOTE = 0x22;\n var CHAR_SHARP = 0x23;\n var CHAR_PERCENT = 0x25;\n var CHAR_AMPERSAND = 0x26;\n var CHAR_SINGLE_QUOTE = 0x27;\n var CHAR_ASTERISK = 0x2A;\n var CHAR_COMMA = 0x2C;\n var CHAR_MINUS = 0x2D;\n var CHAR_COLON = 0x3A;\n var CHAR_EQUALS = 0x3D;\n var CHAR_GREATER_THAN = 0x3E;\n var CHAR_QUESTION = 0x3F;\n var CHAR_COMMERCIAL_AT = 0x40;\n var CHAR_LEFT_SQUARE_BRACKET = 0x5B;\n var CHAR_RIGHT_SQUARE_BRACKET = 0x5D;\n var CHAR_GRAVE_ACCENT = 0x60;\n var CHAR_LEFT_CURLY_BRACKET = 0x7B;\n var CHAR_VERTICAL_LINE = 0x7C;\n var CHAR_RIGHT_CURLY_BRACKET = 0x7D;\n var ESCAPE_SEQUENCES = {};\n ESCAPE_SEQUENCES[0x00] = '\\\\0';\n ESCAPE_SEQUENCES[0x07] = '\\\\a';\n ESCAPE_SEQUENCES[0x08] = '\\\\b';\n ESCAPE_SEQUENCES[0x09] = '\\\\t';\n ESCAPE_SEQUENCES[0x0A] = '\\\\n';\n ESCAPE_SEQUENCES[0x0B] = '\\\\v';\n ESCAPE_SEQUENCES[0x0C] = '\\\\f';\n ESCAPE_SEQUENCES[0x0D] = '\\\\r';\n ESCAPE_SEQUENCES[0x1B] = '\\\\e';\n ESCAPE_SEQUENCES[0x22] = '\\\\\"';\n ESCAPE_SEQUENCES[0x5C] = '\\\\\\\\';\n ESCAPE_SEQUENCES[0x85] = '\\\\N';\n ESCAPE_SEQUENCES[0xA0] = '\\\\_';\n ESCAPE_SEQUENCES[0x2028] = '\\\\L';\n ESCAPE_SEQUENCES[0x2029] = '\\\\P';\n var DEPRECATED_BOOLEANS_SYNTAX = ['y', 'Y', 'yes', 'Yes', 'YES', 'on', 'On', 'ON', 'n', 'N', 'no', 'No', 'NO', 'off', 'Off', 'OFF'];\n function compileStyleMap(schema, map) {\n var result, keys, index, length, tag, style, type;\n if (map === null) return {};\n result = {};\n keys = Object.keys(map);\n for (index = 0, length = keys.length; index < length; index += 1) {\n tag = keys[index];\n style = String(map[tag]);\n if (tag.slice(0, 2) === '!!') {\n tag = 'tag:yaml.org,2002:' + tag.slice(2);\n }\n type = schema.compiledTypeMap['fallback'][tag];\n if (type && _hasOwnProperty.call(type.styleAliases, style)) {\n style = type.styleAliases[style];\n }\n result[tag] = style;\n }\n return result;\n }\n function encodeHex(character) {\n var string, handle, length;\n string = character.toString(16).toUpperCase();\n if (character <= 0xFF) {\n handle = 'x';\n length = 2;\n } else if (character <= 0xFFFF) {\n handle = 'u';\n length = 4;\n } else if (character <= 0xFFFFFFFF) {\n handle = 'U';\n length = 8;\n } else {\n throw new YAMLException('code point within a string may not be greater than 0xFFFFFFFF');\n }\n return '\\\\' + handle + common.repeat('0', length - string.length) + string;\n }\n function State(options) {\n this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;\n this.indent = Math.max(1, options['indent'] || 2);\n this.noArrayIndent = options['noArrayIndent'] || false;\n this.skipInvalid = options['skipInvalid'] || false;\n this.flowLevel = common.isNothing(options['flowLevel']) ? -1 : options['flowLevel'];\n this.styleMap = compileStyleMap(this.schema, options['styles'] || null);\n this.sortKeys = options['sortKeys'] || false;\n this.lineWidth = options['lineWidth'] || 80;\n this.noRefs = options['noRefs'] || false;\n this.noCompatMode = options['noCompatMode'] || false;\n this.condenseFlow = options['condenseFlow'] || false;\n this.implicitTypes = this.schema.compiledImplicit;\n this.explicitTypes = this.schema.compiledExplicit;\n this.tag = null;\n this.result = '';\n this.duplicates = [];\n this.usedDuplicates = null;\n }\n function indentString(string, spaces) {\n var ind = common.repeat(' ', spaces),\n position = 0,\n next = -1,\n result = '',\n line,\n length = string.length;\n while (position < length) {\n next = string.indexOf('\\n', position);\n if (next === -1) {\n line = string.slice(position);\n position = length;\n } else {\n line = string.slice(position, next + 1);\n position = next + 1;\n }\n if (line.length && line !== '\\n') result += ind;\n result += line;\n }\n return result;\n }\n function generateNextLine(state, level) {\n return '\\n' + common.repeat(' ', state.indent * level);\n }\n function testImplicitResolving(state, str) {\n var index, length, type;\n for (index = 0, length = state.implicitTypes.length; index < length; index += 1) {\n type = state.implicitTypes[index];\n if (type.resolve(str)) {\n return true;\n }\n }\n return false;\n }\n function isWhitespace(c) {\n return c === CHAR_SPACE || c === CHAR_TAB;\n }\n function isPrintable(c) {\n return 0x00020 <= c && c <= 0x00007E || 0x000A1 <= c && c <= 0x00D7FF && c !== 0x2028 && c !== 0x2029 || 0x0E000 <= c && c <= 0x00FFFD && c !== 0xFEFF || 0x10000 <= c && c <= 0x10FFFF;\n }\n function isNsChar(c) {\n return isPrintable(c) && !isWhitespace(c)\n && c !== 0xFEFF\n && c !== CHAR_CARRIAGE_RETURN && c !== CHAR_LINE_FEED;\n }\n function isPlainSafe(c, prev) {\n return isPrintable(c) && c !== 0xFEFF\n && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET\n && c !== CHAR_COLON && (c !== CHAR_SHARP || prev && isNsChar(prev));\n }\n function isPlainSafeFirst(c) {\n return isPrintable(c) && c !== 0xFEFF && !isWhitespace(c)\n && c !== CHAR_MINUS && c !== CHAR_QUESTION && c !== CHAR_COLON && c !== CHAR_COMMA && c !== CHAR_LEFT_SQUARE_BRACKET && c !== CHAR_RIGHT_SQUARE_BRACKET && c !== CHAR_LEFT_CURLY_BRACKET && c !== CHAR_RIGHT_CURLY_BRACKET\n && c !== CHAR_SHARP && c !== CHAR_AMPERSAND && c !== CHAR_ASTERISK && c !== CHAR_EXCLAMATION && c !== CHAR_VERTICAL_LINE && c !== CHAR_EQUALS && c !== CHAR_GREATER_THAN && c !== CHAR_SINGLE_QUOTE && c !== CHAR_DOUBLE_QUOTE\n && c !== CHAR_PERCENT && c !== CHAR_COMMERCIAL_AT && c !== CHAR_GRAVE_ACCENT;\n }\n function needIndentIndicator(string) {\n var leadingSpaceRe = /^\\n* /;\n return leadingSpaceRe.test(string);\n }\n var STYLE_PLAIN = 1,\n STYLE_SINGLE = 2,\n STYLE_LITERAL = 3,\n STYLE_FOLDED = 4,\n STYLE_DOUBLE = 5;\n function chooseScalarStyle(string, singleLineOnly, indentPerLevel, lineWidth, testAmbiguousType) {\n var i;\n var char, prev_char;\n var hasLineBreak = false;\n var hasFoldableLine = false;\n var shouldTrackWidth = lineWidth !== -1;\n var previousLineBreak = -1;\n var plain = isPlainSafeFirst(string.charCodeAt(0)) && !isWhitespace(string.charCodeAt(string.length - 1));\n if (singleLineOnly) {\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n } else {\n for (i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char === CHAR_LINE_FEED) {\n hasLineBreak = true;\n if (shouldTrackWidth) {\n hasFoldableLine = hasFoldableLine ||\n i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' ';\n previousLineBreak = i;\n }\n } else if (!isPrintable(char)) {\n return STYLE_DOUBLE;\n }\n prev_char = i > 0 ? string.charCodeAt(i - 1) : null;\n plain = plain && isPlainSafe(char, prev_char);\n }\n hasFoldableLine = hasFoldableLine || shouldTrackWidth && i - previousLineBreak - 1 > lineWidth && string[previousLineBreak + 1] !== ' ';\n }\n if (!hasLineBreak && !hasFoldableLine) {\n return plain && !testAmbiguousType(string) ? STYLE_PLAIN : STYLE_SINGLE;\n }\n if (indentPerLevel > 9 && needIndentIndicator(string)) {\n return STYLE_DOUBLE;\n }\n return hasFoldableLine ? STYLE_FOLDED : STYLE_LITERAL;\n }\n function writeScalar(state, string, level, iskey) {\n state.dump = function () {\n if (string.length === 0) {\n return \"''\";\n }\n if (!state.noCompatMode && DEPRECATED_BOOLEANS_SYNTAX.indexOf(string) !== -1) {\n return \"'\" + string + \"'\";\n }\n var indent = state.indent * Math.max(1, level);\n var lineWidth = state.lineWidth === -1 ? -1 : Math.max(Math.min(state.lineWidth, 40), state.lineWidth - indent);\n var singleLineOnly = iskey\n || state.flowLevel > -1 && level >= state.flowLevel;\n function testAmbiguity(string) {\n return testImplicitResolving(state, string);\n }\n switch (chooseScalarStyle(string, singleLineOnly, state.indent, lineWidth, testAmbiguity)) {\n case STYLE_PLAIN:\n return string;\n case STYLE_SINGLE:\n return \"'\" + string.replace(/'/g, \"''\") + \"'\";\n case STYLE_LITERAL:\n return '|' + blockHeader(string, state.indent) + dropEndingNewline(indentString(string, indent));\n case STYLE_FOLDED:\n return '>' + blockHeader(string, state.indent) + dropEndingNewline(indentString(foldString(string, lineWidth), indent));\n case STYLE_DOUBLE:\n return '\"' + escapeString(string) + '\"';\n default:\n throw new YAMLException('impossible error: invalid scalar style');\n }\n }();\n }\n function blockHeader(string, indentPerLevel) {\n var indentIndicator = needIndentIndicator(string) ? String(indentPerLevel) : '';\n var clip = string[string.length - 1] === '\\n';\n var keep = clip && (string[string.length - 2] === '\\n' || string === '\\n');\n var chomp = keep ? '+' : clip ? '' : '-';\n return indentIndicator + chomp + '\\n';\n }\n function dropEndingNewline(string) {\n return string[string.length - 1] === '\\n' ? string.slice(0, -1) : string;\n }\n function foldString(string, width) {\n var lineRe = /(\\n+)([^\\n]*)/g;\n var result = function () {\n var nextLF = string.indexOf('\\n');\n nextLF = nextLF !== -1 ? nextLF : string.length;\n lineRe.lastIndex = nextLF;\n return foldLine(string.slice(0, nextLF), width);\n }();\n var prevMoreIndented = string[0] === '\\n' || string[0] === ' ';\n var moreIndented;\n var match;\n while (match = lineRe.exec(string)) {\n var prefix = match[1],\n line = match[2];\n moreIndented = line[0] === ' ';\n result += prefix + (!prevMoreIndented && !moreIndented && line !== '' ? '\\n' : '') + foldLine(line, width);\n prevMoreIndented = moreIndented;\n }\n return result;\n }\n function foldLine(line, width) {\n if (line === '' || line[0] === ' ') return line;\n var breakRe = / [^ ]/g;\n var match;\n var start = 0,\n end,\n curr = 0,\n next = 0;\n var result = '';\n while (match = breakRe.exec(line)) {\n next = match.index;\n if (next - start > width) {\n end = curr > start ? curr : next;\n result += '\\n' + line.slice(start, end);\n start = end + 1;\n }\n curr = next;\n }\n result += '\\n';\n if (line.length - start > width && curr > start) {\n result += line.slice(start, curr) + '\\n' + line.slice(curr + 1);\n } else {\n result += line.slice(start);\n }\n return result.slice(1);\n }\n function escapeString(string) {\n var result = '';\n var char, nextChar;\n var escapeSeq;\n for (var i = 0; i < string.length; i++) {\n char = string.charCodeAt(i);\n if (char >= 0xD800 && char <= 0xDBFF ) {\n nextChar = string.charCodeAt(i + 1);\n if (nextChar >= 0xDC00 && nextChar <= 0xDFFF ) {\n result += encodeHex((char - 0xD800) * 0x400 + nextChar - 0xDC00 + 0x10000);\n i++;\n continue;\n }\n }\n escapeSeq = ESCAPE_SEQUENCES[char];\n result += !escapeSeq && isPrintable(char) ? string[i] : escapeSeq || encodeHex(char);\n }\n return result;\n }\n function writeFlowSequence(state, level, object) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n for (index = 0, length = object.length; index < length; index += 1) {\n if (writeNode(state, level, object[index], false, false)) {\n if (index !== 0) _result += ',' + (!state.condenseFlow ? ' ' : '');\n _result += state.dump;\n }\n }\n state.tag = _tag;\n state.dump = '[' + _result + ']';\n }\n function writeBlockSequence(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n index,\n length;\n for (index = 0, length = object.length; index < length; index += 1) {\n if (writeNode(state, level + 1, object[index], true, true)) {\n if (!compact || index !== 0) {\n _result += generateNextLine(state, level);\n }\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n _result += '-';\n } else {\n _result += '- ';\n }\n _result += state.dump;\n }\n }\n state.tag = _tag;\n state.dump = _result || '[]';\n }\n function writeFlowMapping(state, level, object) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n pairBuffer;\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n if (index !== 0) pairBuffer += ', ';\n if (state.condenseFlow) pairBuffer += '\"';\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n if (!writeNode(state, level, objectKey, false, false)) {\n continue;\n }\n if (state.dump.length > 1024) pairBuffer += '? ';\n pairBuffer += state.dump + (state.condenseFlow ? '\"' : '') + ':' + (state.condenseFlow ? '' : ' ');\n if (!writeNode(state, level, objectValue, false, false)) {\n continue;\n }\n pairBuffer += state.dump;\n _result += pairBuffer;\n }\n state.tag = _tag;\n state.dump = '{' + _result + '}';\n }\n function writeBlockMapping(state, level, object, compact) {\n var _result = '',\n _tag = state.tag,\n objectKeyList = Object.keys(object),\n index,\n length,\n objectKey,\n objectValue,\n explicitPair,\n pairBuffer;\n if (state.sortKeys === true) {\n objectKeyList.sort();\n } else if (typeof state.sortKeys === 'function') {\n objectKeyList.sort(state.sortKeys);\n } else if (state.sortKeys) {\n throw new YAMLException('sortKeys must be a boolean or a function');\n }\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n pairBuffer = '';\n if (!compact || index !== 0) {\n pairBuffer += generateNextLine(state, level);\n }\n objectKey = objectKeyList[index];\n objectValue = object[objectKey];\n if (!writeNode(state, level + 1, objectKey, true, true, true)) {\n continue;\n }\n explicitPair = state.tag !== null && state.tag !== '?' || state.dump && state.dump.length > 1024;\n if (explicitPair) {\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += '?';\n } else {\n pairBuffer += '? ';\n }\n }\n pairBuffer += state.dump;\n if (explicitPair) {\n pairBuffer += generateNextLine(state, level);\n }\n if (!writeNode(state, level + 1, objectValue, true, explicitPair)) {\n continue;\n }\n if (state.dump && CHAR_LINE_FEED === state.dump.charCodeAt(0)) {\n pairBuffer += ':';\n } else {\n pairBuffer += ': ';\n }\n pairBuffer += state.dump;\n _result += pairBuffer;\n }\n state.tag = _tag;\n state.dump = _result || '{}';\n }\n function detectType(state, object, explicit) {\n var _result, typeList, index, length, type, style;\n typeList = explicit ? state.explicitTypes : state.implicitTypes;\n for (index = 0, length = typeList.length; index < length; index += 1) {\n type = typeList[index];\n if ((type.instanceOf || type.predicate) && (!type.instanceOf || typeof object === 'object' && object instanceof type.instanceOf) && (!type.predicate || type.predicate(object))) {\n state.tag = explicit ? type.tag : '?';\n if (type.represent) {\n style = state.styleMap[type.tag] || type.defaultStyle;\n if (_toString.call(type.represent) === '[object Function]') {\n _result = type.represent(object, style);\n } else if (_hasOwnProperty.call(type.represent, style)) {\n _result = type.represent[style](object, style);\n } else {\n throw new YAMLException('!<' + type.tag + '> tag resolver accepts not \"' + style + '\" style');\n }\n state.dump = _result;\n }\n return true;\n }\n }\n return false;\n }\n function writeNode(state, level, object, block, compact, iskey) {\n state.tag = null;\n state.dump = object;\n if (!detectType(state, object, false)) {\n detectType(state, object, true);\n }\n var type = _toString.call(state.dump);\n if (block) {\n block = state.flowLevel < 0 || state.flowLevel > level;\n }\n var objectOrArray = type === '[object Object]' || type === '[object Array]',\n duplicateIndex,\n duplicate;\n if (objectOrArray) {\n duplicateIndex = state.duplicates.indexOf(object);\n duplicate = duplicateIndex !== -1;\n }\n if (state.tag !== null && state.tag !== '?' || duplicate || state.indent !== 2 && level > 0) {\n compact = false;\n }\n if (duplicate && state.usedDuplicates[duplicateIndex]) {\n state.dump = '*ref_' + duplicateIndex;\n } else {\n if (objectOrArray && duplicate && !state.usedDuplicates[duplicateIndex]) {\n state.usedDuplicates[duplicateIndex] = true;\n }\n if (type === '[object Object]') {\n if (block && Object.keys(state.dump).length !== 0) {\n writeBlockMapping(state, level, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowMapping(state, level, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object Array]') {\n var arrayLevel = state.noArrayIndent && level > 0 ? level - 1 : level;\n if (block && state.dump.length !== 0) {\n writeBlockSequence(state, arrayLevel, state.dump, compact);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + state.dump;\n }\n } else {\n writeFlowSequence(state, arrayLevel, state.dump);\n if (duplicate) {\n state.dump = '&ref_' + duplicateIndex + ' ' + state.dump;\n }\n }\n } else if (type === '[object String]') {\n if (state.tag !== '?') {\n writeScalar(state, state.dump, level, iskey);\n }\n } else {\n if (state.skipInvalid) return false;\n throw new YAMLException('unacceptable kind of an object to dump ' + type);\n }\n if (state.tag !== null && state.tag !== '?') {\n state.dump = '!<' + state.tag + '> ' + state.dump;\n }\n }\n return true;\n }\n function getDuplicateReferences(object, state) {\n var objects = [],\n duplicatesIndexes = [],\n index,\n length;\n inspectNode(object, objects, duplicatesIndexes);\n for (index = 0, length = duplicatesIndexes.length; index < length; index += 1) {\n state.duplicates.push(objects[duplicatesIndexes[index]]);\n }\n state.usedDuplicates = new Array(length);\n }\n function inspectNode(object, objects, duplicatesIndexes) {\n var objectKeyList, index, length;\n if (object !== null && typeof object === 'object') {\n index = objects.indexOf(object);\n if (index !== -1) {\n if (duplicatesIndexes.indexOf(index) === -1) {\n duplicatesIndexes.push(index);\n }\n } else {\n objects.push(object);\n if (Array.isArray(object)) {\n for (index = 0, length = object.length; index < length; index += 1) {\n inspectNode(object[index], objects, duplicatesIndexes);\n }\n } else {\n objectKeyList = Object.keys(object);\n for (index = 0, length = objectKeyList.length; index < length; index += 1) {\n inspectNode(object[objectKeyList[index]], objects, duplicatesIndexes);\n }\n }\n }\n }\n }\n function dump(input, options) {\n options = options || {};\n var state = new State(options);\n if (!state.noRefs) getDuplicateReferences(input, state);\n if (writeNode(state, 0, input, true, true)) return state.dump + '\\n';\n return '';\n }\n function safeDump(input, options) {\n return dump(input, common.extend({\n schema: DEFAULT_SAFE_SCHEMA\n }, options));\n }\n dumper$1.dump = dump;\n dumper$1.safeDump = safeDump;\n var loader = loader$1;\n var dumper = dumper$1;\n function deprecated(name) {\n return function () {\n throw new Error('Function ' + name + ' is deprecated and cannot be used.');\n };\n }\n jsYaml$2.Type = type;\n jsYaml$2.Schema = schema;\n jsYaml$2.FAILSAFE_SCHEMA = failsafe;\n jsYaml$2.JSON_SCHEMA = json;\n jsYaml$2.CORE_SCHEMA = core;\n jsYaml$2.DEFAULT_SAFE_SCHEMA = default_safe;\n jsYaml$2.DEFAULT_FULL_SCHEMA = default_full;\n jsYaml$2.load = loader.load;\n jsYaml$2.loadAll = loader.loadAll;\n jsYaml$2.safeLoad = loader.safeLoad;\n jsYaml$2.safeLoadAll = loader.safeLoadAll;\n jsYaml$2.dump = dumper.dump;\n jsYaml$2.safeDump = dumper.safeDump;\n jsYaml$2.YAMLException = exception;\n jsYaml$2.MINIMAL_SCHEMA = failsafe;\n jsYaml$2.SAFE_SCHEMA = default_safe;\n jsYaml$2.DEFAULT_SCHEMA = default_full;\n jsYaml$2.scan = deprecated('scan');\n jsYaml$2.parse = deprecated('parse');\n jsYaml$2.compose = deprecated('compose');\n jsYaml$2.addConstructor = deprecated('addConstructor');\n var yaml = jsYaml$2;\n var jsYaml = yaml;\n var jsYaml$1 = getDefaultExportFromCjs(jsYaml);\n function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n class Redirects {\n constructor(rawYaml) {\n try {\n var arrOfRedirects = jsYaml$1.safeLoad(rawYaml);\n this.redirects = arrOfRedirects.reduce(function (acc, redirect) {\n return _objectSpread(_objectSpread({}, acc), {}, {\n [redirect.title]: redirect\n });\n }, {});\n } catch (e) {\n console.log(\"Was unable to load YAML into JS due to: \".concat(e.message));\n throw e;\n }\n }\n getRedirect(title) {\n var _this = this;\n if (Object.prototype.hasOwnProperty.call(this.redirects, title)) {\n return this.redirects[title];\n }\n var values = Object.keys(this.redirects).map(function (key) {\n return _this.redirects[key];\n });\n return values.find(function (redirect) {\n var aliases = redirect.aliases;\n if (!aliases) {\n return false;\n }\n return aliases.includes(title);\n });\n }\n isBlocking(title) {\n var redirect = this.redirects[title];\n if (redirect) {\n return !!redirect.isBlocking;\n }\n return false;\n }\n }\n var redirectsMap = {\n \"1x1-transparent.gif\": \"1x1-transparent.gif\",\n \"1x1.gif\": \"1x1-transparent.gif\",\n \"1x1-transparent-gif\": \"1x1-transparent.gif\",\n \"2x2-transparent.png\": \"2x2-transparent.png\",\n \"2x2.png\": \"2x2-transparent.png\",\n \"2x2-transparent-png\": \"2x2-transparent.png\",\n \"3x2-transparent.png\": \"3x2-transparent.png\",\n \"3x2.png\": \"3x2-transparent.png\",\n \"3x2-transparent-png\": \"3x2-transparent.png\",\n \"32x32-transparent.png\": \"32x32-transparent.png\",\n \"32x32.png\": \"32x32-transparent.png\",\n \"32x32-transparent-png\": \"32x32-transparent.png\",\n noopframe: \"noopframe.html\",\n \"noop.html\": \"noopframe.html\",\n \"blank-html\": \"noopframe.html\",\n noopcss: \"noopcss.css\",\n \"noop.css\": \"noopcss.css\",\n \"blank-css\": \"noopcss.css\",\n noopjs: \"noopjs.js\",\n \"noop.js\": \"noopjs.js\",\n \"blank-js\": \"noopjs.js\",\n noopjson: \"noopjson.json\",\n \"noop.json\": \"noopjson.json\",\n nooptext: \"nooptext.js\",\n \"noop.txt\": \"nooptext.js\",\n \"blank-text\": \"nooptext.js\",\n empty: \"nooptext.js\",\n \"noopvmap-1.0\": \"noopvmap01.xml\",\n \"noop-vmap1.0.xml\": \"noopvmap01.xml\",\n \"noopvast-2.0\": \"noopvast02.xml\",\n \"noopvast-3.0\": \"noopvast03.xml\",\n \"noopvast-4.0\": \"noopvast04.xml\",\n \"noopmp3-0.1s\": \"noopmp3.mp3\",\n \"blank-mp3\": \"noopmp3.mp3\",\n \"noopmp4-1s\": \"noopmp4.mp4\",\n \"noop-1s.mp4\": \"noopmp4.mp4\",\n \"blank-mp4\": \"noopmp4.mp4\",\n \"click2load.html\": \"click2load.html\",\n \"ubo-click2load.html\": \"click2load.html\",\n \"amazon-apstag\": \"amazon-apstag.js\",\n \"ubo-amazon_apstag.js\": \"amazon-apstag.js\",\n \"amazon_apstag.js\": \"amazon-apstag.js\",\n \"ati-smarttag\": \"ati-smarttag.js\",\n \"didomi-loader\": \"didomi-loader.js\",\n fingerprintjs2: \"fingerprintjs2.js\",\n \"ubo-fingerprint2.js\": \"fingerprintjs2.js\",\n \"fingerprint2.js\": \"fingerprintjs2.js\",\n fingerprintjs3: \"fingerprintjs3.js\",\n \"ubo-fingerprint3.js\": \"fingerprintjs3.js\",\n \"fingerprint3.js\": \"fingerprintjs3.js\",\n gemius: \"gemius.js\",\n \"google-analytics-ga\": \"google-analytics-ga.js\",\n \"ubo-google-analytics_ga.js\": \"google-analytics-ga.js\",\n \"google-analytics_ga.js\": \"google-analytics-ga.js\",\n \"google-analytics\": \"google-analytics.js\",\n \"ubo-google-analytics_analytics.js\": \"google-analytics.js\",\n \"google-analytics_analytics.js\": \"google-analytics.js\",\n \"googletagmanager-gtm\": \"google-analytics.js\",\n \"ubo-googletagmanager_gtm.js\": \"google-analytics.js\",\n \"googletagmanager_gtm.js\": \"google-analytics.js\",\n \"google-ima3\": \"google-ima3.js\",\n \"ubo-google-ima.js\": \"google-ima3.js\",\n \"google-ima.js\": \"google-ima3.js\",\n \"googlesyndication-adsbygoogle\": \"googlesyndication-adsbygoogle.js\",\n \"ubo-googlesyndication_adsbygoogle.js\": \"googlesyndication-adsbygoogle.js\",\n \"googlesyndication_adsbygoogle.js\": \"googlesyndication-adsbygoogle.js\",\n \"googletagservices-gpt\": \"googletagservices-gpt.js\",\n \"ubo-googletagservices_gpt.js\": \"googletagservices-gpt.js\",\n \"googletagservices_gpt.js\": \"googletagservices-gpt.js\",\n matomo: \"matomo.js\",\n \"metrika-yandex-tag\": \"metrika-yandex-tag.js\",\n \"metrika-yandex-watch\": \"metrika-yandex-watch.js\",\n \"naver-wcslog\": \"naver-wcslog.js\",\n noeval: \"noeval.js\",\n \"noeval.js\": \"noeval.js\",\n \"silent-noeval.js\": \"noeval.js\",\n \"ubo-noeval.js\": \"noeval.js\",\n \"ubo-silent-noeval.js\": \"noeval.js\",\n \"ubo-noeval\": \"noeval.js\",\n \"ubo-silent-noeval\": \"noeval.js\",\n \"pardot-1.0\": \"pardot-1.0.js\",\n \"prebid-ads\": \"prebid-ads.js\",\n \"ubo-prebid-ads.js\": \"prebid-ads.js\",\n \"prebid-ads.js\": \"prebid-ads.js\",\n prebid: \"prebid.js\",\n \"prevent-bab\": \"prevent-bab.js\",\n \"nobab.js\": \"prevent-bab.js\",\n \"ubo-nobab.js\": \"prevent-bab.js\",\n \"bab-defuser.js\": \"prevent-bab.js\",\n \"ubo-bab-defuser.js\": \"prevent-bab.js\",\n \"ubo-nobab\": \"prevent-bab.js\",\n \"ubo-bab-defuser\": \"prevent-bab.js\",\n \"prevent-bab2\": \"prevent-bab2.js\",\n \"nobab2.js\": \"prevent-bab2.js\",\n \"prevent-fab-3.2.0\": \"prevent-fab-3.2.0.js\",\n \"nofab.js\": \"prevent-fab-3.2.0.js\",\n \"ubo-nofab.js\": \"prevent-fab-3.2.0.js\",\n \"fuckadblock.js-3.2.0\": \"prevent-fab-3.2.0.js\",\n \"ubo-fuckadblock.js-3.2.0\": \"prevent-fab-3.2.0.js\",\n \"ubo-nofab\": \"prevent-fab-3.2.0.js\",\n \"prevent-popads-net\": \"prevent-popads-net.js\",\n \"popads.net.js\": \"prevent-popads-net.js\",\n \"ubo-popads.net.js\": \"prevent-popads-net.js\",\n \"ubo-popads.net\": \"prevent-popads-net.js\",\n \"scorecardresearch-beacon\": \"scorecardresearch-beacon.js\",\n \"ubo-scorecardresearch_beacon.js\": \"scorecardresearch-beacon.js\",\n \"scorecardresearch_beacon.js\": \"scorecardresearch-beacon.js\",\n \"set-popads-dummy\": \"set-popads-dummy.js\",\n \"popads-dummy.js\": \"set-popads-dummy.js\",\n \"ubo-popads-dummy.js\": \"set-popads-dummy.js\",\n \"ubo-popads-dummy\": \"set-popads-dummy.js\"\n };\n var getRedirectByName = function getRedirectByName(name) {\n var redirects = Object.keys(redirectsList).map(function (key) {\n return redirectsList[key];\n });\n return redirects.find(function (r) {\n return r.names && r.names.includes(name);\n });\n };\n var getRedirectCode = function getRedirectCode(source) {\n var redirect = getRedirectByName(source.name);\n var result = attachDependencies(redirect);\n result = addCall(redirect, result);\n result = source.engine === 'test' ? wrapInNonameFunc(result) : passSourceAndProps(source, result, true);\n return result;\n };\n var getRedirectFilename = function getRedirectFilename(name) {\n return redirectsMap[name];\n };\n var redirects = {\n Redirects,\n getRedirectFilename,\n getCode: getRedirectCode,\n isAdgRedirectRule: validator.isAdgRedirectRule,\n isValidAdgRedirectRule: validator.isValidAdgRedirectRule,\n isAdgRedirectCompatibleWithUbo: validator.isAdgRedirectCompatibleWithUbo,\n isUboRedirectCompatibleWithAdg: validator.isUboRedirectCompatibleWithAdg,\n isAbpRedirectCompatibleWithAdg: validator.isAbpRedirectCompatibleWithAdg,\n convertUboRedirectToAdg,\n convertAbpRedirectToAdg,\n convertRedirectToAdg,\n convertRedirectNameToAdg,\n convertAdgRedirectToUbo\n };\n var version = \"1.10.25\";\n function AmazonApstag(source,args){function AmazonApstag(source){var apstagWrapper={fetchBids(a,b){if(typeof b===\"function\"){b([]);}},init:noopFunc,setDisplayBids:noopFunc,targetingKeys:noopFunc};window.apstag=apstagWrapper;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{AmazonApstag.apply(this,updatedArgs);}catch(e){console.log(e);}}function DidomiLoader(source,args){function DidomiLoader(source){function UserConsentStatusForVendorSubscribe(){}UserConsentStatusForVendorSubscribe.prototype.filter=function(){return new UserConsentStatusForVendorSubscribe();};UserConsentStatusForVendorSubscribe.prototype.subscribe=noopFunc;function UserConsentStatusForVendor(){}UserConsentStatusForVendor.prototype.first=function(){return new UserConsentStatusForVendorSubscribe();};UserConsentStatusForVendor.prototype.filter=function(){return new UserConsentStatusForVendorSubscribe();};UserConsentStatusForVendor.prototype.subscribe=noopFunc;var DidomiWrapper={isConsentRequired:falseFunc,getUserConsentStatusForPurpose:trueFunc,getUserConsentStatus:trueFunc,getUserStatus:noopFunc,getRequiredPurposes:noopArray,getUserConsentStatusForVendor:trueFunc,Purposes:{Cookies:\"cookies\"},notice:{configure:noopFunc,hide:noopFunc,isVisible:falseFunc,show:noopFunc,showDataProcessing:trueFunc},isUserConsentStatusPartial:falseFunc,on(){return {actions:{},emitter:{},services:{},store:{}};},shouldConsentBeCollected:falseFunc,getUserConsentStatusForAll:noopFunc,getObservableOnUserConsentStatusForVendor(){return new UserConsentStatusForVendor();}};window.Didomi=DidomiWrapper;var didomiStateWrapper={didomiExperimentId:\"\",didomiExperimentUserGroup:\"\",didomiGDPRApplies:1,didomiIABConsent:\"\",didomiPurposesConsent:\"\",didomiPurposesConsentDenied:\"\",didomiPurposesConsentUnknown:\"\",didomiVendorsConsent:\"\",didomiVendorsConsentDenied:\"\",didomiVendorsConsentUnknown:\"\",didomiVendorsRawConsent:\"\",didomiVendorsRawConsentDenied:\"\",didomiVendorsRawConsentUnknown:\"\"};window.didomiState=didomiStateWrapper;var tcData={eventStatus:\"tcloaded\",gdprApplies:false,listenerId:noopFunc,vendor:{consents:[]},purpose:{consents:[]}};var __tcfapiWrapper=function __tcfapiWrapper(command,version,callback){if(typeof callback!==\"function\"||command===\"removeEventListener\"){return;}callback(tcData,true);};window.__tcfapi=__tcfapiWrapper;var didomiEventListenersWrapper={stub:true,push:noopFunc};window.didomiEventListeners=didomiEventListenersWrapper;var didomiOnReadyWrapper={stub:true,push(arg){if(typeof arg!==\"function\"){return;}if(document.readyState!==\"complete\"){window.addEventListener(\"load\",function(){setTimeout(arg(window.Didomi));});}else {setTimeout(arg(window.Didomi));}}};window.didomiOnReady=window.didomiOnReady||didomiOnReadyWrapper;if(Array.isArray(window.didomiOnReady)){window.didomiOnReady.forEach(function(arg){if(typeof arg===\"function\"){try{setTimeout(arg(window.Didomi));}catch(e){}}});}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function noopArray(){return [];}function trueFunc(){return true;}function falseFunc(){return false;}var updatedArgs=args?[].concat(source).concat(args):[source];try{DidomiLoader.apply(this,updatedArgs);}catch(e){console.log(e);}}function Fingerprintjs2(source,args){function Fingerprintjs2(source){var browserId=\"\";for(var i=0;i<8;i+=1){browserId+=(Math.random()*65536+4096).toString(16).slice(-4);}var Fingerprint2=function Fingerprint2(){};Fingerprint2.get=function(options,callback){if(!callback){callback=options;}setTimeout(function(){if(callback){callback(browserId,[]);}},1);};Fingerprint2.prototype={get:Fingerprint2.get};window.Fingerprint2=Fingerprint2;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{Fingerprintjs2.apply(this,updatedArgs);}catch(e){console.log(e);}}function Fingerprintjs3(source,args){function Fingerprintjs3(source){var visitorId=function(){var id=\"\";for(var i=0;i<8;i+=1){id+=(Math.random()*65536+4096).toString(16).slice(-4);}return id;}();var FingerprintJS=function FingerprintJS(){};FingerprintJS.prototype={load(){return Promise.resolve(new FingerprintJS());},get(){return Promise.resolve({visitorId:visitorId});},hashComponents:noopStr};window.FingerprintJS=new FingerprintJS();hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopStr(){return \"\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{Fingerprintjs3.apply(this,updatedArgs);}catch(e){console.log(e);}}function Gemius(source,args){function Gemius(source){var GemiusPlayer=function GemiusPlayer(){};GemiusPlayer.prototype={setVideoObject:noopFunc,newProgram:noopFunc,programEvent:noopFunc,newAd:noopFunc,adEvent:noopFunc};window.GemiusPlayer=GemiusPlayer;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{Gemius.apply(this,updatedArgs);}catch(e){console.log(e);}}function GoogleAnalytics(source,args){function GoogleAnalytics(source){var _window$googleAnalyti;var Tracker=function Tracker(){};var proto=Tracker.prototype;proto.get=noopFunc;proto.set=noopFunc;proto.send=noopFunc;var googleAnalyticsName=window.GoogleAnalyticsObject||\"ga\";var queue=(_window$googleAnalyti=window[googleAnalyticsName])===null||_window$googleAnalyti===void 0?void 0:_window$googleAnalyti.q;function ga(a){var len=arguments.length;if(len===0){return;}var lastArg=arguments[len-1];var replacer;if(lastArg instanceof Object&&lastArg!==null&&typeof lastArg.hitCallback===\"function\"){replacer=lastArg.hitCallback;}else if(typeof lastArg===\"function\"){replacer=function replacer(){lastArg(ga.create());};}try{setTimeout(replacer,1);}catch(ex){}}ga.create=function(){return new Tracker();};ga.getByName=function(){return new Tracker();};ga.getAll=function(){return [new Tracker()];};ga.remove=noopFunc;ga.loaded=true;window[googleAnalyticsName]=ga;if(Array.isArray(queue)){var push=function push(arg){ga(...arg);};queue.push=push;queue.forEach(push);}var _window=window,dataLayer=_window.dataLayer,google_optimize=_window.google_optimize;if(dataLayer instanceof Object===false){return;}if(dataLayer.hide instanceof Object&&typeof dataLayer.hide.end===\"function\"){dataLayer.hide.end();}var handleCallback=function handleCallback(dataObj,funcName){if(dataObj&&typeof dataObj[funcName]===\"function\"){setTimeout(dataObj[funcName]);}};if(typeof dataLayer.push===\"function\"){dataLayer.push=function(data){if(data instanceof Object){handleCallback(data,\"eventCallback\");for(var key in data){handleCallback(data[key],\"event_callback\");}if(!data.hasOwnProperty(\"eventCallback\")&&!data.hasOwnProperty(\"eventCallback\")){[].push.call(window.dataLayer,data);}}if(Array.isArray(data)){data.forEach(function(arg){handleCallback(arg,\"callback\");});}return noopFunc;};}if(google_optimize instanceof Object&&typeof google_optimize.get===\"function\"){var googleOptimizeWrapper={get:noopFunc};window.google_optimize=googleOptimizeWrapper;}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{GoogleAnalytics.apply(this,updatedArgs);}catch(e){console.log(e);}}function GoogleAnalyticsGa(source,args){function GoogleAnalyticsGa(source){function Gaq(){}Gaq.prototype.Na=noopFunc;Gaq.prototype.O=noopFunc;Gaq.prototype.Sa=noopFunc;Gaq.prototype.Ta=noopFunc;Gaq.prototype.Va=noopFunc;Gaq.prototype._createAsyncTracker=noopFunc;Gaq.prototype._getAsyncTracker=noopFunc;Gaq.prototype._getPlugin=noopFunc;Gaq.prototype.push=function(data){if(typeof data===\"function\"){data();return;}if(Array.isArray(data)===false){return;}if(typeof data[0]===\"string\"&&/(^|\\.)_link$/.test(data[0])&&typeof data[1]===\"string\"){window.location.assign(data[1]);}if(data[0]===\"_set\"&&data[1]===\"hitCallback\"&&typeof data[2]===\"function\"){data[2]();}};var gaq=new Gaq();var asyncTrackers=window._gaq||[];if(Array.isArray(asyncTrackers)){while(asyncTrackers[0]){gaq.push(asyncTrackers.shift());}}window._gaq=gaq.qf=gaq;function Gat(){}var api=[\"_addIgnoredOrganic\",\"_addIgnoredRef\",\"_addItem\",\"_addOrganic\",\"_addTrans\",\"_clearIgnoredOrganic\",\"_clearIgnoredRef\",\"_clearOrganic\",\"_cookiePathCopy\",\"_deleteCustomVar\",\"_getName\",\"_setAccount\",\"_getAccount\",\"_getClientInfo\",\"_getDetectFlash\",\"_getDetectTitle\",\"_getLinkerUrl\",\"_getLocalGifPath\",\"_getServiceMode\",\"_getVersion\",\"_getVisitorCustomVar\",\"_initData\",\"_link\",\"_linkByPost\",\"_setAllowAnchor\",\"_setAllowHash\",\"_setAllowLinker\",\"_setCampContentKey\",\"_setCampMediumKey\",\"_setCampNameKey\",\"_setCampNOKey\",\"_setCampSourceKey\",\"_setCampTermKey\",\"_setCampaignCookieTimeout\",\"_setCampaignTrack\",\"_setClientInfo\",\"_setCookiePath\",\"_setCookiePersistence\",\"_setCookieTimeout\",\"_setCustomVar\",\"_setDetectFlash\",\"_setDetectTitle\",\"_setDomainName\",\"_setLocalGifPath\",\"_setLocalRemoteServerMode\",\"_setLocalServerMode\",\"_setReferrerOverride\",\"_setRemoteServerMode\",\"_setSampleRate\",\"_setSessionTimeout\",\"_setSiteSpeedSampleRate\",\"_setSessionCookieTimeout\",\"_setVar\",\"_setVisitorCookieTimeout\",\"_trackEvent\",\"_trackPageLoadTime\",\"_trackPageview\",\"_trackSocial\",\"_trackTiming\",\"_trackTrans\",\"_visitCode\"];var tracker=api.reduce(function(res,funcName){res[funcName]=noopFunc;return res;},{});tracker._getLinkerUrl=function(a){return a;};tracker._link=function(url){if(typeof url!==\"string\"){return;}try{window.location.assign(url);}catch(e){logMessage(source,e);}};Gat.prototype._anonymizeIP=noopFunc;Gat.prototype._createTracker=noopFunc;Gat.prototype._forceSSL=noopFunc;Gat.prototype._getPlugin=noopFunc;Gat.prototype._getTracker=function(){return tracker;};Gat.prototype._getTrackerByName=function(){return tracker;};Gat.prototype._getTrackers=noopFunc;Gat.prototype.aa=noopFunc;Gat.prototype.ab=noopFunc;Gat.prototype.hb=noopFunc;Gat.prototype.la=noopFunc;Gat.prototype.oa=noopFunc;Gat.prototype.pa=noopFunc;Gat.prototype.u=noopFunc;var gat=new Gat();window._gat=gat;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{GoogleAnalyticsGa.apply(this,updatedArgs);}catch(e){console.log(e);}}function GoogleIma3(source,args){function GoogleIma3(source){var _window$google$ima;var VERSION=\"3.453.0\";var ima={};var AdDisplayContainer=function AdDisplayContainer(containerElement){var divElement=document.createElement(\"div\");divElement.style.setProperty(\"display\",\"none\",\"important\");divElement.style.setProperty(\"visibility\",\"collapse\",\"important\");if(containerElement){containerElement.appendChild(divElement);}};AdDisplayContainer.prototype.destroy=noopFunc;AdDisplayContainer.prototype.initialize=noopFunc;var ImaSdkSettings=function ImaSdkSettings(){};ImaSdkSettings.CompanionBackfillMode={ALWAYS:\"always\",ON_MASTER_AD:\"on_master_ad\"};ImaSdkSettings.VpaidMode={DISABLED:0,ENABLED:1,INSECURE:2};ImaSdkSettings.prototype={c:true,f:{},i:false,l:\"\",p:\"\",r:0,t:\"\",v:\"\",getCompanionBackfill:noopFunc,getDisableCustomPlaybackForIOS10Plus(){return this.i;},getDisabledFlashAds:function getDisabledFlashAds(){return true;},getFeatureFlags(){return this.f;},getLocale(){return this.l;},getNumRedirects(){return this.r;},getPlayerType(){return this.t;},getPlayerVersion(){return this.v;},getPpid(){return this.p;},getVpaidMode(){return this.C;},isCookiesEnabled(){return this.c;},isVpaidAdapter(){return this.M;},setCompanionBackfill:noopFunc,setAutoPlayAdBreaks(a){this.K=a;},setCookiesEnabled(c){this.c=!!c;},setDisableCustomPlaybackForIOS10Plus(i){this.i=!!i;},setDisableFlashAds:noopFunc,setFeatureFlags(f){this.f=!!f;},setIsVpaidAdapter(a){this.M=a;},setLocale(l){this.l=!!l;},setNumRedirects(r){this.r=!!r;},setPageCorrelator(a){this.R=a;},setPlayerType(t){this.t=!!t;},setPlayerVersion(v){this.v=!!v;},setPpid(p){this.p=!!p;},setVpaidMode(a){this.C=a;},setSessionId:noopFunc,setStreamCorrelator:noopFunc,setVpaidAllowed:noopFunc,CompanionBackfillMode:{ALWAYS:\"always\",ON_MASTER_AD:\"on_master_ad\"},VpaidMode:{DISABLED:0,ENABLED:1,INSECURE:2}};var EventHandler=function EventHandler(){this.listeners=new Map();this._dispatch=function(e){var listeners=this.listeners.get(e.type);listeners=listeners?listeners.values():[];for(var _i=0,_Array$from=Array.from(listeners);_i<_Array$from.length;_i++){var listener=_Array$from[_i];try{listener(e);}catch(r){logMessage(source,r);}}};this.addEventListener=function(types,callback,options,context){if(!Array.isArray(types)){types=[types];}for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{GoogleIma3.apply(this,updatedArgs);}catch(e){console.log(e);}}function GoogleSyndicationAdsByGoogle(source,args){function GoogleSyndicationAdsByGoogle(source){window.adsbygoogle={loaded:true,push(arg){if(typeof this.length===\"undefined\"){this.length=0;this.length+=1;}if(arg!==null&&arg instanceof Object&&arg.constructor.name===\"Object\"){for(var _i=0,_Object$keys=Object.keys(arg);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];if(typeof arg[key]===\"function\"){try{arg[key].call(this,{});}catch(_unused){}}}}}};var adElems=document.querySelectorAll(\".adsbygoogle\");var css=\"height:1px!important;max-height:1px!important;max-width:1px!important;width:1px!important;\";var statusAttrName=\"data-adsbygoogle-status\";var ASWIFT_IFRAME_MARKER=\"aswift_\";var GOOGLE_ADS_IFRAME_MARKER=\"google_ads_iframe_\";var executed=false;for(var i=0;i0){areIframesDefined=childNodesQuantity===2&&adElemChildNodes[0].nodeName.toLowerCase()===\"iframe\"&&adElemChildNodes[0].id.includes(ASWIFT_IFRAME_MARKER)&&adElemChildNodes[1].nodeName.toLowerCase()===\"iframe\"&&adElemChildNodes[1].id.includes(GOOGLE_ADS_IFRAME_MARKER);}if(!areIframesDefined){adElems[i].setAttribute(statusAttrName,\"done\");var aswiftIframe=document.createElement(\"iframe\");aswiftIframe.id=\"\".concat(ASWIFT_IFRAME_MARKER).concat(i);aswiftIframe.style=css;adElems[i].appendChild(aswiftIframe);var innerAswiftIframe=document.createElement(\"iframe\");aswiftIframe.contentWindow.document.body.appendChild(innerAswiftIframe);var googleadsIframe=document.createElement(\"iframe\");googleadsIframe.id=\"\".concat(GOOGLE_ADS_IFRAME_MARKER).concat(i);googleadsIframe.style=css;adElems[i].appendChild(googleadsIframe);var innerGoogleadsIframe=document.createElement(\"iframe\");googleadsIframe.contentWindow.document.body.appendChild(innerGoogleadsIframe);executed=true;}}if(executed){hit(source);}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{GoogleSyndicationAdsByGoogle.apply(this,updatedArgs);}catch(e){console.log(e);}}function GoogleTagServicesGpt(source,args){function GoogleTagServicesGpt(source){var slots=new Map();var slotsById=new Map();var slotsPerPath=new Map();var slotCreatives=new Map();var eventCallbacks=new Map();var gTargeting=new Map();var addEventListener=function addEventListener(name,listener){if(!eventCallbacks.has(name)){eventCallbacks.set(name,new Set());}eventCallbacks.get(name).add(listener);return this;};var removeEventListener=function removeEventListener(name,listener){if(eventCallbacks.has(name)){return eventCallbacks.get(name).delete(listener);}return false;};var fireSlotEvent=function fireSlotEvent(name,slot){return new Promise(function(resolve){requestAnimationFrame(function(){var size=[0,0];var callbacksSet=eventCallbacks.get(name)||[];var callbackArray=Array.from(callbacksSet);for(var i=0;i\";f.style=\"position:absolute; width:0; height:0; left:0; right:0; z-index:-1; border:0\";f.setAttribute(\"width\",0);f.setAttribute(\"height\",0);f.setAttribute(\"data-load-complete\",true);f.setAttribute(\"data-google-container-id\",true);f.setAttribute(\"sandbox\",\"\");node.appendChild(f);}};var displaySlot=function displaySlot(slot){if(!slot){return;}var id=slot.getSlotElementId();if(!document.getElementById(id)){return;}var parent=document.getElementById(id);if(parent){parent.appendChild(document.createElement(\"div\"));}emptySlotElement(slot);recreateIframeForSlot(slot);fireSlotEvent(\"slotRenderEnded\",slot);fireSlotEvent(\"slotRequested\",slot);fireSlotEvent(\"slotResponseReceived\",slot);fireSlotEvent(\"slotOnload\",slot);fireSlotEvent(\"impressionViewable\",slot);};var companionAdsService={addEventListener:addEventListener,removeEventListener:removeEventListener,enableSyncLoading:noopFunc,setRefreshUnfilledSlots:noopFunc,getSlots:noopArray};var contentService={addEventListener:addEventListener,removeEventListener:removeEventListener,setContent:noopFunc};function PassbackSlot(){}PassbackSlot.prototype.display=noopFunc;PassbackSlot.prototype.get=noopNull;PassbackSlot.prototype.set=noopThis;PassbackSlot.prototype.setClickUrl=noopThis;PassbackSlot.prototype.setTagForChildDirectedTreatment=noopThis;PassbackSlot.prototype.setTargeting=noopThis;PassbackSlot.prototype.updateTargetingFromMap=noopThis;function SizeMappingBuilder(){}SizeMappingBuilder.prototype.addSize=noopThis;SizeMappingBuilder.prototype.build=noopNull;var getTargetingValue=function getTargetingValue(v){if(typeof v===\"string\"){return [v];}try{return Array.prototype.flat.call(v);}catch(_unused){}return [];};var updateTargeting=function updateTargeting(targeting,map){if(typeof map===\"object\"){for(var key in map){if(Object.prototype.hasOwnProperty.call(map,key)){targeting.set(key,getTargetingValue(map[key]));}}}};var defineSlot=function defineSlot(adUnitPath,creatives,optDiv){if(slotsById.has(optDiv)){var _document$getElementB2;(_document$getElementB2=document.getElementById(optDiv))===null||_document$getElementB2===void 0?void 0:_document$getElementB2.remove();return slotsById.get(optDiv);}var attributes=new Map();var targeting=new Map();var exclusions=new Set();var response={advertiserId:undefined,campaignId:undefined,creativeId:undefined,creativeTemplateId:undefined,lineItemId:undefined};var sizes=[{getHeight:function getHeight(){return 2;},getWidth:function getWidth(){return 2;}}];var num=(slotsPerPath.get(adUnitPath)||0)+1;slotsPerPath.set(adUnitPath,num);var id=\"\".concat(adUnitPath,\"_\").concat(num);var clickUrl=\"\";var collapseEmptyDiv=null;var services=new Set();var slot={addService(e){services.add(e);return slot;},clearCategoryExclusions:noopThis,clearTargeting(k){if(k===undefined){targeting.clear();}else {targeting.delete(k);}},defineSizeMapping(mapping){slotCreatives.set(optDiv,mapping);return this;},get:function get(k){return attributes.get(k);},getAdUnitPath:function getAdUnitPath(){return adUnitPath;},getAttributeKeys:function getAttributeKeys(){return Array.from(attributes.keys());},getCategoryExclusions:function getCategoryExclusions(){return Array.from(exclusions);},getClickUrl:function getClickUrl(){return clickUrl;},getCollapseEmptyDiv:function getCollapseEmptyDiv(){return collapseEmptyDiv;},getContentUrl:function getContentUrl(){return \"\";},getDivStartsCollapsed:function getDivStartsCollapsed(){return null;},getDomId:function getDomId(){return optDiv;},getEscapedQemQueryId:function getEscapedQemQueryId(){return \"\";},getFirstLook:function getFirstLook(){return 0;},getId:function getId(){return id;},getHtml:function getHtml(){return \"\";},getName:function getName(){return id;},getOutOfPage:function getOutOfPage(){return false;},getResponseInformation:function getResponseInformation(){return response;},getServices:function getServices(){return Array.from(services);},getSizes:function getSizes(){return sizes;},getSlotElementId:function getSlotElementId(){return optDiv;},getSlotId:function getSlotId(){return slot;},getTargeting:function getTargeting(k){return targeting.get(k)||gTargeting.get(k)||[];},getTargetingKeys:function getTargetingKeys(){return Array.from(new Set(Array.of(...gTargeting.keys(),...targeting.keys())));},getTargetingMap:function getTargetingMap(){return Object.assign(Object.fromEntries(gTargeting.entries()),Object.fromEntries(targeting.entries()));},set(k,v){attributes.set(k,v);return slot;},setCategoryExclusion(e){exclusions.add(e);return slot;},setClickUrl(u){clickUrl=u;return slot;},setCollapseEmptyDiv(v){collapseEmptyDiv=!!v;return slot;},setSafeFrameConfig:noopThis,setTagForChildDirectedTreatment:noopThis,setTargeting(k,v){targeting.set(k,getTargetingValue(v));return slot;},toString:function toString(){return id;},updateTargetingFromMap(map){updateTargeting(targeting,map);return slot;}};slots.set(adUnitPath,slot);slotsById.set(optDiv,slot);slotCreatives.set(optDiv,creatives);return slot;};var pubAdsService={addEventListener:addEventListener,removeEventListener:removeEventListener,clear:noopFunc,clearCategoryExclusions:noopThis,clearTagForChildDirectedTreatment:noopThis,clearTargeting(k){if(k===undefined){gTargeting.clear();}else {gTargeting.delete(k);}},collapseEmptyDivs:noopFunc,defineOutOfPagePassback(){return new PassbackSlot();},definePassback(){return new PassbackSlot();},disableInitialLoad:noopFunc,display:noopFunc,enableAsyncRendering:noopFunc,enableLazyLoad:noopFunc,enableSingleRequest:noopFunc,enableSyncRendering:noopFunc,enableVideoAds:noopFunc,get:noopNull,getAttributeKeys:noopArray,getTargeting:noopArray,getTargetingKeys:noopArray,getSlots:noopArray,isInitialLoadDisabled:trueFunc,refresh:noopFunc,set:noopThis,setCategoryExclusion:noopThis,setCentering:noopFunc,setCookieOptions:noopThis,setForceSafeFrame:noopThis,setLocation:noopThis,setPrivacySettings:noopThis,setPublisherProvidedId:noopThis,setRequestNonPersonalizedAds:noopThis,setSafeFrameConfig:noopThis,setTagForChildDirectedTreatment:noopThis,setTargeting:noopThis,setVideoContent:noopThis,updateCorrelator:noopFunc};var _window=window,_window$googletag=_window.googletag,googletag=_window$googletag===void 0?{}:_window$googletag;var _googletag$cmd=googletag.cmd,cmd=_googletag$cmd===void 0?[]:_googletag$cmd;googletag.apiReady=true;googletag.cmd=[];googletag.cmd.push=function(a){try{a();}catch(ex){}return 1;};googletag.companionAds=function(){return companionAdsService;};googletag.content=function(){return contentService;};googletag.defineOutOfPageSlot=defineSlot;googletag.defineSlot=defineSlot;googletag.destroySlots=function(){slots.clear();slotsById.clear();};googletag.disablePublisherConsole=noopFunc;googletag.display=function(arg){var id;if(arg!==null&&arg!==void 0&&arg.getSlotElementId){id=arg.getSlotElementId();}else if(arg!==null&&arg!==void 0&&arg.nodeType){id=arg.id;}else {id=String(arg);}displaySlot(slotsById.get(id));};googletag.enableServices=noopFunc;googletag.getVersion=noopStr;googletag.pubads=function(){return pubAdsService;};googletag.pubadsReady=true;googletag.setAdIframeTitle=noopFunc;googletag.sizeMapping=function(){return new SizeMappingBuilder();};window.googletag=googletag;while(cmd.length!==0){googletag.cmd.push(cmd.shift());}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function noopThis(){return this;}function noopNull(){return null;}function noopArray(){return [];}function noopStr(){return \"\";}function trueFunc(){return true;}var updatedArgs=args?[].concat(source).concat(args):[source];try{GoogleTagServicesGpt.apply(this,updatedArgs);}catch(e){console.log(e);}}function Matomo(source,args){function Matomo(source){var Tracker=function Tracker(){};Tracker.prototype.setDoNotTrack=noopFunc;Tracker.prototype.setDomains=noopFunc;Tracker.prototype.setCustomDimension=noopFunc;Tracker.prototype.trackPageView=noopFunc;var AsyncTracker=function AsyncTracker(){};AsyncTracker.prototype.addListener=noopFunc;var matomoWrapper={getTracker:Tracker,getAsyncTracker:AsyncTracker};window.Piwik=matomoWrapper;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{Matomo.apply(this,updatedArgs);}catch(e){console.log(e);}}function NaverWcslog(source,args){function NaverWcslog(source){window.wcs_add={};window.wcs_do=noopFunc;window.wcs={inflow:noopFunc};hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{NaverWcslog.apply(this,updatedArgs);}catch(e){console.log(e);}}function Pardot(source,args){function Pardot(source){window.piVersion=\"1.0.2\";window.piScriptNum=0;window.piScriptObj=[];window.checkNamespace=noopFunc;window.getPardotUrl=noopStr;window.piGetParameter=noopNull;window.piSetCookie=noopFunc;window.piGetCookie=noopStr;function piTracker(){window.pi={tracker:{visitor_id:\"\",visitor_id_sign:\"\",pi_opt_in:\"\",campaign_id:\"\"}};window.piScriptNum+=1;}window.piResponse=noopFunc;window.piTracker=piTracker;piTracker();hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function noopStr(){return \"\";}function noopNull(){return null;}var updatedArgs=args?[].concat(source).concat(args):[source];try{Pardot.apply(this,updatedArgs);}catch(e){console.log(e);}}function Prebid(source,args){function Prebid(source){var pushFunction=function pushFunction(arg){if(typeof arg===\"function\"){try{arg.call();}catch(ex){}}};var pbjsWrapper={addAdUnits(){},adServers:{dfp:{buildVideoUrl:noopStr}},adUnits:[],aliasBidder(){},cmd:[],enableAnalytics(){},getHighestCpmBids:noopArray,libLoaded:true,que:[],requestBids(arg){if(arg instanceof Object&&arg.bidsBackHandler){try{arg.bidsBackHandler.call();}catch(ex){}}},removeAdUnit(){},setBidderConfig(){},setConfig(){},setTargetingForGPTAsync(){}};pbjsWrapper.cmd.push=pushFunction;pbjsWrapper.que.push=pushFunction;window.pbjs=pbjsWrapper;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopStr(){return \"\";}function noopArray(){return [];}var updatedArgs=args?[].concat(source).concat(args):[source];try{Prebid.apply(this,updatedArgs);}catch(e){console.log(e);}}function ScoreCardResearchBeacon(source,args){function ScoreCardResearchBeacon(source){window.COMSCORE={purge(){window._comscore=[];},beacon(){}};hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{ScoreCardResearchBeacon.apply(this,updatedArgs);}catch(e){console.log(e);}}function abortCurrentInlineScript(source,args){function abortCurrentInlineScript(source,property,search){var searchRegexp=toRegExp(search);var rid=randomId();var SRC_DATA_MARKER=\"data:text/javascript;base64,\";var getCurrentScript=function getCurrentScript(){if(\"currentScript\"in document){return document.currentScript;}var scripts=document.getElementsByTagName(\"script\");return scripts[scripts.length-1];};var ourScript=getCurrentScript();var abort=function abort(){var _scriptEl$src;var scriptEl=getCurrentScript();if(!scriptEl){return;}var content=scriptEl.textContent;try{var textContentGetter=Object.getOwnPropertyDescriptor(Node.prototype,\"textContent\").get;content=textContentGetter.call(scriptEl);}catch(e){}if(content.length===0&&typeof scriptEl.src!==\"undefined\"&&(_scriptEl$src=scriptEl.src)!==null&&_scriptEl$src!==void 0&&_scriptEl$src.startsWith(SRC_DATA_MARKER)){var encodedContent=scriptEl.src.slice(SRC_DATA_MARKER.length);content=window.atob(encodedContent);}if(scriptEl instanceof HTMLScriptElement&&content.length>0&&scriptEl!==ourScript&&searchRegexp.test(content)){hit(source);throw new ReferenceError(rid);}};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(base instanceof Object===false&&base===null){var props=property.split(\".\");var propIndex=props.indexOf(prop);var baseName=props[propIndex-1];var message=\"The scriptlet had been executed before the \".concat(baseName,\" was loaded.\");logMessage(source,message);return;}if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}var currentValue=base[prop];var origDescriptor=Object.getOwnPropertyDescriptor(base,prop);if(origDescriptor instanceof Object===false||origDescriptor.get instanceof Function===false){currentValue=base[prop];origDescriptor=undefined;}var descriptorWrapper=Object.assign(getDescriptorAddon(),{currentValue:currentValue,get(){if(!this.isAbortingSuspended){this.isolateCallback(abort);}if(origDescriptor instanceof Object){return origDescriptor.get.call(base);}return this.currentValue;},set(newValue){if(!this.isAbortingSuspended){this.isolateCallback(abort);}if(origDescriptor instanceof Object){origDescriptor.set.call(base,newValue);}else {this.currentValue=newValue;}}});setPropertyAccess(base,prop,{get(){return descriptorWrapper.get.call(descriptorWrapper);},set(newValue){descriptorWrapper.set.call(descriptorWrapper,newValue);}});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getDescriptorAddon(){return {isAbortingSuspended:false,isolateCallback(cb){this.isAbortingSuspended=true;try{for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}var result=cb(...args);this.isAbortingSuspended=false;return result;}catch(_unused){var rid=randomId();this.isAbortingSuspended=false;throw new ReferenceError(rid);}}};}var updatedArgs=args?[].concat(source).concat(args):[source];try{abortCurrentInlineScript.apply(this,updatedArgs);}catch(e){console.log(e);}}function abortOnPropertyRead(source,args){function abortOnPropertyRead(source,property){if(!property){return;}var rid=randomId();var abort=function abort(){hit(source);throw new ReferenceError(rid);};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}setPropertyAccess(base,prop,{get:abort,set:function set(){}});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{abortOnPropertyRead.apply(this,updatedArgs);}catch(e){console.log(e);}}function abortOnPropertyWrite(source,args){function abortOnPropertyWrite(source,property){if(!property){return;}var rid=randomId();var abort=function abort(){hit(source);throw new ReferenceError(rid);};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}setPropertyAccess(base,prop,{set:abort});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{abortOnPropertyWrite.apply(this,updatedArgs);}catch(e){console.log(e);}}function abortOnStackTrace(source,args){function abortOnStackTrace(source,property,stack){if(!property||!stack){return;}var rid=randomId();var abort=function abort(){hit(source);throw new ReferenceError(rid);};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}if(!stack.match(/^(inlineScript|injectedScript)$/)&&!isValidStrPattern(stack)){logMessage(source,\"Invalid parameter: \".concat(stack));return;}var descriptorWrapper=Object.assign(getDescriptorAddon(),{value:base[prop],get(){if(!this.isAbortingSuspended&&this.isolateCallback(matchStackTrace,stack,new Error().stack)){abort();}return this.value;},set(newValue){if(!this.isAbortingSuspended&&this.isolateCallback(matchStackTrace,stack,new Error().stack)){abort();}this.value=newValue;}});setPropertyAccess(base,prop,{get(){return descriptorWrapper.get.call(descriptorWrapper);},set(newValue){descriptorWrapper.set.call(descriptorWrapper,newValue);}});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function getDescriptorAddon(){return {isAbortingSuspended:false,isolateCallback(cb){this.isAbortingSuspended=true;try{for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}var result=cb(...args);this.isAbortingSuspended=false;return result;}catch(_unused){var rid=randomId();this.isAbortingSuspended=false;throw new ReferenceError(rid);}}};}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getNativeRegexpTest(){var descriptor=Object.getOwnPropertyDescriptor(RegExp.prototype,\"test\");var nativeRegexTest=descriptor===null||descriptor===void 0?void 0:descriptor.value;if(descriptor&&typeof descriptor.value===\"function\"){return nativeRegexTest;}throw new Error(\"RegExp.prototype.test is not a function\");}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return nativeSetInterval.apply(window,[callback,delay,...args]);};window.setInterval=intervalWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isValidCallback(callback){return callback instanceof Function||typeof callback===\"string\";}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function getBoostMultiplier(boost){var DEFAULT_MULTIPLIER=.05;var MIN_MULTIPLIER=.001;var MAX_MULTIPLIER=50;var parsedBoost=parseFloat(boost);var boostMultiplier=nativeIsNaN(parsedBoost)||!nativeIsFinite(parsedBoost)?DEFAULT_MULTIPLIER:parsedBoost;if(boostMultiplierMAX_MULTIPLIER){boostMultiplier=MAX_MULTIPLIER;}return boostMultiplier;}function isDelayMatched(inputDelay,realDelay){return shouldMatchAnyDelay(inputDelay)||realDelay===getMatchDelay(inputDelay);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function nativeIsFinite(num){var native=Number.isFinite||window.isFinite;return native(num);}function getMatchDelay(delay){var DEFAULT_DELAY=1e3;var parsedDelay=parseInt(delay,10);var delayMatch=nativeIsNaN(parsedDelay)?DEFAULT_DELAY:parsedDelay;return delayMatch;}function shouldMatchAnyDelay(delay){return delay===\"*\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{adjustSetInterval.apply(this,updatedArgs);}catch(e){console.log(e);}}function adjustSetTimeout(source,args){function adjustSetTimeout(source,matchCallback,matchDelay,boost){var nativeSetTimeout=window.setTimeout;var matchRegexp=toRegExp(matchCallback);var timeoutWrapper=function timeoutWrapper(callback,delay){if(!isValidCallback(callback)){var message=\"Scriptlet can't be applied because of invalid callback: '\".concat(String(callback),\"'\");logMessage(source,message);}else if(matchRegexp.test(callback.toString())&&isDelayMatched(matchDelay,delay)){delay*=getBoostMultiplier(boost);hit(source);}for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return nativeSetTimeout.apply(window,[callback,delay,...args]);};window.setTimeout=timeoutWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isValidCallback(callback){return callback instanceof Function||typeof callback===\"string\";}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function getBoostMultiplier(boost){var DEFAULT_MULTIPLIER=.05;var MIN_MULTIPLIER=.001;var MAX_MULTIPLIER=50;var parsedBoost=parseFloat(boost);var boostMultiplier=nativeIsNaN(parsedBoost)||!nativeIsFinite(parsedBoost)?DEFAULT_MULTIPLIER:parsedBoost;if(boostMultiplierMAX_MULTIPLIER){boostMultiplier=MAX_MULTIPLIER;}return boostMultiplier;}function isDelayMatched(inputDelay,realDelay){return shouldMatchAnyDelay(inputDelay)||realDelay===getMatchDelay(inputDelay);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function nativeIsFinite(num){var native=Number.isFinite||window.isFinite;return native(num);}function getMatchDelay(delay){var DEFAULT_DELAY=1e3;var parsedDelay=parseInt(delay,10);var delayMatch=nativeIsNaN(parsedDelay)?DEFAULT_DELAY:parsedDelay;return delayMatch;}function shouldMatchAnyDelay(delay){return delay===\"*\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{adjustSetTimeout.apply(this,updatedArgs);}catch(e){console.log(e);}}function callNoThrow(source,args){function callNoThrow(source,functionName){if(!functionName){return;}var _getPropertyInChain=getPropertyInChain(window,functionName),base=_getPropertyInChain.base,prop=_getPropertyInChain.prop;if(!base||!prop||typeof base[prop]!==\"function\"){var message=\"\".concat(functionName,\" is not a function\");logMessage(source,message);return;}var objectWrapper=function objectWrapper(){var result;try{result=Reflect.apply(...arguments);}catch(e){var _message=\"Error calling \".concat(functionName,\": \").concat(e.message);logMessage(source,_message);}hit(source);return result;};var objectHandler={apply:objectWrapper};base[prop]=new Proxy(base[prop],objectHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{callNoThrow.apply(this,updatedArgs);}catch(e){console.log(e);}}function debugCurrentInlineScript(source,args){function debugCurrentInlineScript(source,property,search){var searchRegexp=toRegExp(search);var rid=randomId();var getCurrentScript=function getCurrentScript(){if(\"currentScript\"in document){return document.currentScript;}var scripts=document.getElementsByTagName(\"script\");return scripts[scripts.length-1];};var ourScript=getCurrentScript();var abort=function abort(){var scriptEl=getCurrentScript();if(!scriptEl){return;}var content=scriptEl.textContent;try{var textContentGetter=Object.getOwnPropertyDescriptor(Node.prototype,\"textContent\").get;content=textContentGetter.call(scriptEl);}catch(e){}if(scriptEl instanceof HTMLScriptElement&&content.length>0&&scriptEl!==ourScript&&searchRegexp.test(content)){hit(source);debugger;}};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(base instanceof Object===false&&base===null){var props=property.split(\".\");var propIndex=props.indexOf(prop);var baseName=props[propIndex-1];var message=\"The scriptlet had been executed before the \".concat(baseName,\" was loaded.\");logMessage(message,source.verbose);return;}if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}var currentValue=base[prop];setPropertyAccess(base,prop,{set:function set(value){abort();currentValue=value;},get:function get(){abort();return currentValue;}});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{debugCurrentInlineScript.apply(this,updatedArgs);}catch(e){console.log(e);}}function debugOnPropertyRead(source,args){function debugOnPropertyRead(source,property){if(!property){return;}var rid=randomId();var abort=function abort(){hit(source);debugger;};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}setPropertyAccess(base,prop,{get:abort,set:noopFunc});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{debugOnPropertyRead.apply(this,updatedArgs);}catch(e){console.log(e);}}function debugOnPropertyWrite(source,args){function debugOnPropertyWrite(source,property){if(!property){return;}var rid=randomId();var abort=function abort(){hit(source);debugger;};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}setPropertyAccess(base,prop,{set:abort});};setChainPropAccess(window,property);window.onerror=createOnErrorHandler(rid).bind();}function randomId(){return Math.random().toString(36).slice(2,9);}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{debugOnPropertyWrite.apply(this,updatedArgs);}catch(e){console.log(e);}}function dirString(source,args){function dirString(source,times){var _console=console,dir=_console.dir;function dirWrapper(object){if(typeof dir===\"function\"){dir.call(this,object);}hit(source);}console.dir=dirWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{dirString.apply(this,updatedArgs);}catch(e){console.log(e);}}function disableNewtabLinks(source,args){function disableNewtabLinks(source){document.addEventListener(\"click\",function(ev){var target=ev.target;while(target!==null){if(target.localName===\"a\"&&target.hasAttribute(\"target\")){ev.stopPropagation();ev.preventDefault();hit(source);break;}target=target.parentNode;}});}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{disableNewtabLinks.apply(this,updatedArgs);}catch(e){console.log(e);}}function evalDataPrune(source,args){function evalDataPrune(source,propsToRemove,requiredInitialProps,stack){var prunePaths=getPrunePath(propsToRemove);var requiredPaths=getPrunePath(requiredInitialProps);var nativeObjects={nativeStringify:window.JSON.stringify};var evalWrapper=function evalWrapper(target,thisArg,args){var data=Reflect.apply(target,thisArg,args);if(typeof data===\"object\"){data=jsonPruner(source,data,prunePaths,requiredPaths,stack,nativeObjects);}return data;};var evalHandler={apply:evalWrapper};window.eval=new Proxy(window.eval,evalHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function getWildcardPropertyInChain(base,chain){var lookThrough=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var output=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var pos=chain.indexOf(\".\");if(pos===-1){if(chain===\"*\"||chain===\"[]\"){for(var key in base){if(Object.prototype.hasOwnProperty.call(base,key)){output.push({base:base,prop:key});}}}else {output.push({base:base,prop:chain});}return output;}var prop=chain.slice(0,pos);var shouldLookThrough=prop===\"[]\"&&Array.isArray(base)||prop===\"*\"&&base instanceof Object;if(shouldLookThrough){var nextProp=chain.slice(pos+1);var baseKeys=Object.keys(base);baseKeys.forEach(function(key){var item=base[key];getWildcardPropertyInChain(item,nextProp,lookThrough,output);});}if(Array.isArray(base)){base.forEach(function(key){var nextBase=key;if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}});}var nextBase=base[prop];chain=chain.slice(pos+1);if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}return output;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects){if(!root){return false;}var nativeStringify=nativeObjects.nativeStringify;var shouldProcess;if(prunePaths.length===0&&requiredPaths.length>0){var rootString=nativeStringify(root);var matchRegex=toRegExp(requiredPaths.join(\"\"));var shouldLog=matchRegex.test(rootString);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}shouldProcess=false;return shouldProcess;}}if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){shouldProcess=false;return shouldProcess;}var wildcardSymbols=[\".*.\",\"*.\",\".*\",\".[].\",\"[].\",\".[]\"];var _loop=function _loop(){var requiredPath=requiredPaths[i];var lastNestedPropName=requiredPath.split(\".\").pop();var hasWildcard=wildcardSymbols.some(function(symbol){return requiredPath.includes(symbol);});var details=getWildcardPropertyInChain(root,requiredPath,hasWildcard);if(!details.length){shouldProcess=false;return {v:shouldProcess};}shouldProcess=!hasWildcard;for(var j=0;j\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index1&&arguments[1]!==undefined?arguments[1]:\"\";if(typeof window.close!==\"function\"){var message=\"window.close() is not a function so 'close-window' scriptlet is unavailable\";logMessage(source,message);return;}var closeImmediately=function closeImmediately(){try{hit(source);window.close();}catch(e){logMessage(source,e);}};var closeByExtension=function closeByExtension(){var extCall=function extCall(){dispatchEvent(new Event(\"adguard:scriptlet-close-window\"));};window.addEventListener(\"adguard:subscribed-to-close-window\",extCall,{once:true});setTimeout(function(){window.removeEventListener(\"adguard:subscribed-to-close-window\",extCall,{once:true});},5e3);};var shouldClose=function shouldClose(){if(path===\"\"){return true;}var pathRegexp=toRegExp(path);var currentPath=\"\".concat(window.location.pathname).concat(window.location.search);return pathRegexp.test(currentPath);};if(shouldClose()){closeImmediately();if(navigator.userAgent.includes(\"Chrome\")){closeByExtension();}}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{forceWindowClose.apply(this,updatedArgs);}catch(e){console.log(e);}}function hideInShadowDom(source,args){function hideInShadowDom(source,selector,baseSelector){if(!Element.prototype.attachShadow){return;}var hideElement=function hideElement(targetElement){var DISPLAY_NONE_CSS=\"display:none!important;\";targetElement.style.cssText=DISPLAY_NONE_CSS;};var hideHandler=function hideHandler(){var hostElements=!baseSelector?findHostElements(document.documentElement):document.querySelectorAll(baseSelector);var _loop=function _loop(){var isHidden=false;var _pierceShadowDom=pierceShadowDom(selector,hostElements),targets=_pierceShadowDom.targets,innerHosts=_pierceShadowDom.innerHosts;targets.forEach(function(targetEl){hideElement(targetEl);isHidden=true;});if(isHidden){hit(source);}hostElements=innerHosts;};while(hostElements.length!==0){_loop();}};hideHandler();observeDOMChanges(hideHandler,true);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function findHostElements(rootElement){var hosts=[];if(rootElement){var domElems=rootElement.querySelectorAll(\"*\");domElems.forEach(function(el){if(el.shadowRoot){hosts.push(el);}});}return hosts;}function pierceShadowDom(selector,hostElements){var targets=[];var innerHostsAcc=[];hostElements.forEach(function(host){var simpleElems=host.querySelectorAll(selector);targets=targets.concat([].slice.call(simpleElems));var shadowRootElem=host.shadowRoot;var shadowChildren=shadowRootElem.querySelectorAll(selector);targets=targets.concat([].slice.call(shadowChildren));innerHostsAcc.push(findHostElements(shadowRootElem));});var innerHosts=flatten(innerHostsAcc);return {targets:targets,innerHosts:innerHosts};}function flatten(input){var stack=[];input.forEach(function(el){return stack.push(el);});var res=[];while(stack.length){var next=stack.pop();if(Array.isArray(next)){next.forEach(function(el){return stack.push(el);});}else {res.push(next);}}return res.reverse();}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}var updatedArgs=args?[].concat(source).concat(args):[source];try{hideInShadowDom.apply(this,updatedArgs);}catch(e){console.log(e);}}function hrefSanitizer(source,args){function hrefSanitizer(source,selector){var attribute=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"text\";if(!selector){logMessage(source,\"Selector is required.\");return;}var regexpNotValidAtStart=/^(?:[\\0- \\x7F-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u036F\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482-\\u0489\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u061F\\u064B-\\u066D\\u0670\\u06D4\\u06D6-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u06FD\\u06FE\\u0700-\\u070F\\u0711\\u0730-\\u074C\\u07A6-\\u07B0\\u07B2-\\u07C9\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FB-\\u07FF\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u083F\\u0859-\\u085F\\u086B-\\u086F\\u0888\\u088F-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0970\\u0981-\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA-\\u09BC\\u09BE-\\u09CD\\u09CF-\\u09DB\\u09DE\\u09E2-\\u09EF\\u09F2-\\u09FB\\u09FD-\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A-\\u0A58\\u0A5D\\u0A5F-\\u0A71\\u0A75-\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA-\\u0ABC\\u0ABE-\\u0ACF\\u0AD1-\\u0ADF\\u0AE2-\\u0AF8\\u0AFA-\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A-\\u0B3C\\u0B3E-\\u0B5B\\u0B5E\\u0B62-\\u0B70\\u0B72-\\u0B82\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BCF\\u0BD1-\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C3E-\\u0C57\\u0C5B\\u0C5C\\u0C5E\\u0C5F\\u0C62-\\u0C7F\\u0C81-\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA-\\u0CBC\\u0CBE-\\u0CDC\\u0CDF\\u0CE2-\\u0CF0\\u0CF3-\\u0D03\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D3E-\\u0D4D\\u0D4F-\\u0D53\\u0D57-\\u0D5E\\u0D62-\\u0D79\\u0D80-\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0E00\\u0E31\\u0E34-\\u0E3F\\u0E47-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EB1\\u0EB4-\\u0EBC\\u0EBE\\u0EBF\\u0EC5\\u0EC7-\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F3F\\u0F48\\u0F6D-\\u0F87\\u0F8D-\\u0FFF\\u102B-\\u103E\\u1040-\\u104F\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16F0\\u16F9-\\u16FF\\u1712-\\u171E\\u1732-\\u173F\\u1752-\\u175F\\u176D\\u1771-\\u177F\\u17B4-\\u17D6\\u17D8-\\u17DB\\u17DD-\\u181F\\u1879-\\u187F\\u1885\\u1886\\u18A9\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F-\\u194F\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19FF\\u1A17-\\u1A1F\\u1A55-\\u1AA6\\u1AA8-\\u1B04\\u1B34-\\u1B44\\u1B4D-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BFF\\u1C24-\\u1C4C\\u1C50-\\u1C59\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1CFB-\\u1CFF\\u1DC0-\\u1DFF\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u2182\\u2185-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7F\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF-\\u2E2E\\u2E30-\\u3004\\u3007-\\u3030\\u3036-\\u303A\\u303D-\\u3040\\u3097-\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA620-\\uA629\\uA62C-\\uA63F\\uA66F-\\uA67E\\uA69E\\uA69F\\uA6E6-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7CB-\\uA7CF\\uA7D2\\uA7D4\\uA7DA-\\uA7F1\\uA802\\uA806\\uA80B\\uA823-\\uA83F\\uA874-\\uA881\\uA8B4-\\uA8F1\\uA8F8-\\uA8FA\\uA8FC\\uA8FF-\\uA909\\uA926-\\uA92F\\uA947-\\uA95F\\uA97D-\\uA983\\uA9B3-\\uA9CE\\uA9D0-\\uA9DF\\uA9E5\\uA9F0-\\uA9F9\\uA9FF\\uAA29-\\uAA3F\\uAA43\\uAA4C-\\uAA5F\\uAA77-\\uAA79\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAEB-\\uAAF1\\uAAF5-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABE3-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB1E\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFE6F\\uFE75\\uFEFD-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEFF\\uDF20-\\uDF2C\\uDF41\\uDF4A-\\uDF4F\\uDF76-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0-\\uDFFF]|\\uD801[\\uDC9E-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6F\\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-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE01-\\uDE0F\\uDE14\\uDE18\\uDE36-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE5-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD24-\\uDE7F\\uDEAA-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF46-\\uDF6F\\uDF82-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC70\\uDC73\\uDC74\\uDC76-\\uDC82\\uDCB0-\\uDCCF\\uDCE9-\\uDD02\\uDD27-\\uDD43\\uDD45\\uDD46\\uDD48-\\uDD4F\\uDD73-\\uDD75\\uDD77-\\uDD82\\uDDB3-\\uDDC0\\uDDC5-\\uDDD9\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE2C-\\uDE3E\\uDE41-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEDF-\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A-\\uDF3C\\uDF3E-\\uDF4F\\uDF51-\\uDF5C\\uDF62-\\uDFFF]|\\uD805[\\uDC35-\\uDC46\\uDC4B-\\uDC5E\\uDC62-\\uDC7F\\uDCB0-\\uDCC3\\uDCC6\\uDCC8-\\uDD7F\\uDDAF-\\uDDD7\\uDDDC-\\uDDFF\\uDE30-\\uDE43\\uDE45-\\uDE7F\\uDEAB-\\uDEB7\\uDEB9-\\uDEFF\\uDF1B-\\uDF3F\\uDF47-\\uDFFF]|\\uD806[\\uDC2C-\\uDC9F\\uDCE0-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD30-\\uDD3E\\uDD40\\uDD42-\\uDD9F\\uDDA8\\uDDA9\\uDDD1-\\uDDE0\\uDDE2\\uDDE4-\\uDDFF\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE4F\\uDE51-\\uDE5B\\uDE8A-\\uDE9C\\uDE9E-\\uDEAF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC2F-\\uDC3F\\uDC41-\\uDC71\\uDC90-\\uDCFF\\uDD07\\uDD0A\\uDD31-\\uDD45\\uDD47-\\uDD5F\\uDD66\\uDD69\\uDD8A-\\uDD97\\uDD99-\\uDEDF\\uDEF3-\\uDF01\\uDF03\\uDF11\\uDF34-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC00-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82A\\uD82D\\uD82E\\uD830-\\uD834\\uD836\\uD83C-\\uD83F\\uD87B-\\uD87D\\uD87F\\uD889-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80B[\\uDC00-\\uDF8F\\uDFF1-\\uDFFF]|\\uD80D[\\uDC30-\\uDC40\\uDC47-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F-\\uDE6F\\uDEBF-\\uDECF\\uDEEE-\\uDEFF\\uDF30-\\uDF3F\\uDF44-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4F\\uDF51-\\uDF92\\uDFA0-\\uDFDF\\uDFE2\\uDFE4-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82B[\\uDC00-\\uDFEF\\uDFF4\\uDFFC\\uDFFF]|\\uD82C[\\uDD23-\\uDD31\\uDD33-\\uDD4F\\uDD53\\uDD54\\uDD56-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\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\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC-\\uDFFF]|\\uD837[\\uDC00-\\uDEFF\\uDF1F-\\uDF24\\uDF2B-\\uDFFF]|\\uD838[\\uDC00-\\uDC2F\\uDC6E-\\uDCFF\\uDD2D-\\uDD36\\uDD3E-\\uDD4D\\uDD4F-\\uDE8F\\uDEAE-\\uDEBF\\uDEEC-\\uDFFF]|\\uD839[\\uDC00-\\uDCCF\\uDCEC-\\uDFDF\\uDFE7\\uDFEC\\uDFEF\\uDFFF]|\\uD83A[\\uDCC5-\\uDCFF\\uDD44-\\uDD4A\\uDD4C-\\uDFFF]|\\uD83B[\\uDC00-\\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-\\uDFFF]|\\uD869[\\uDEE0-\\uDEFF]|\\uD86D[\\uDF3A-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDF4F]|\\uD888[\\uDFB0-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+/;var regexpNotValidAtEnd=/(?:[\\0- \\x7F-\\xA9\\xAB-\\xB4\\xB6-\\xB9\\xBB-\\xBF\\xD7\\xF7\\u02C2-\\u02C5\\u02D2-\\u02DF\\u02E5-\\u02EB\\u02ED\\u02EF-\\u036F\\u0375\\u0378\\u0379\\u037E\\u0380-\\u0385\\u0387\\u038B\\u038D\\u03A2\\u03F6\\u0482-\\u0489\\u0530\\u0557\\u0558\\u055A-\\u055F\\u0589-\\u05CF\\u05EB-\\u05EE\\u05F3-\\u061F\\u064B-\\u066D\\u0670\\u06D4\\u06D6-\\u06E4\\u06E7-\\u06ED\\u06F0-\\u06F9\\u06FD\\u06FE\\u0700-\\u070F\\u0711\\u0730-\\u074C\\u07A6-\\u07B0\\u07B2-\\u07C9\\u07EB-\\u07F3\\u07F6-\\u07F9\\u07FB-\\u07FF\\u0816-\\u0819\\u081B-\\u0823\\u0825-\\u0827\\u0829-\\u083F\\u0859-\\u085F\\u086B-\\u086F\\u0888\\u088F-\\u089F\\u08CA-\\u0903\\u093A-\\u093C\\u093E-\\u094F\\u0951-\\u0957\\u0962-\\u0970\\u0981-\\u0984\\u098D\\u098E\\u0991\\u0992\\u09A9\\u09B1\\u09B3-\\u09B5\\u09BA-\\u09BC\\u09BE-\\u09CD\\u09CF-\\u09DB\\u09DE\\u09E2-\\u09EF\\u09F2-\\u09FB\\u09FD-\\u0A04\\u0A0B-\\u0A0E\\u0A11\\u0A12\\u0A29\\u0A31\\u0A34\\u0A37\\u0A3A-\\u0A58\\u0A5D\\u0A5F-\\u0A71\\u0A75-\\u0A84\\u0A8E\\u0A92\\u0AA9\\u0AB1\\u0AB4\\u0ABA-\\u0ABC\\u0ABE-\\u0ACF\\u0AD1-\\u0ADF\\u0AE2-\\u0AF8\\u0AFA-\\u0B04\\u0B0D\\u0B0E\\u0B11\\u0B12\\u0B29\\u0B31\\u0B34\\u0B3A-\\u0B3C\\u0B3E-\\u0B5B\\u0B5E\\u0B62-\\u0B70\\u0B72-\\u0B82\\u0B84\\u0B8B-\\u0B8D\\u0B91\\u0B96-\\u0B98\\u0B9B\\u0B9D\\u0BA0-\\u0BA2\\u0BA5-\\u0BA7\\u0BAB-\\u0BAD\\u0BBA-\\u0BCF\\u0BD1-\\u0C04\\u0C0D\\u0C11\\u0C29\\u0C3A-\\u0C3C\\u0C3E-\\u0C57\\u0C5B\\u0C5C\\u0C5E\\u0C5F\\u0C62-\\u0C7F\\u0C81-\\u0C84\\u0C8D\\u0C91\\u0CA9\\u0CB4\\u0CBA-\\u0CBC\\u0CBE-\\u0CDC\\u0CDF\\u0CE2-\\u0CF0\\u0CF3-\\u0D03\\u0D0D\\u0D11\\u0D3B\\u0D3C\\u0D3E-\\u0D4D\\u0D4F-\\u0D53\\u0D57-\\u0D5E\\u0D62-\\u0D79\\u0D80-\\u0D84\\u0D97-\\u0D99\\u0DB2\\u0DBC\\u0DBE\\u0DBF\\u0DC7-\\u0E00\\u0E31\\u0E34-\\u0E3F\\u0E47-\\u0E80\\u0E83\\u0E85\\u0E8B\\u0EA4\\u0EA6\\u0EB1\\u0EB4-\\u0EBC\\u0EBE\\u0EBF\\u0EC5\\u0EC7-\\u0EDB\\u0EE0-\\u0EFF\\u0F01-\\u0F3F\\u0F48\\u0F6D-\\u0F87\\u0F8D-\\u0FFF\\u102B-\\u103E\\u1040-\\u104F\\u1056-\\u1059\\u105E-\\u1060\\u1062-\\u1064\\u1067-\\u106D\\u1071-\\u1074\\u1082-\\u108D\\u108F-\\u109F\\u10C6\\u10C8-\\u10CC\\u10CE\\u10CF\\u10FB\\u1249\\u124E\\u124F\\u1257\\u1259\\u125E\\u125F\\u1289\\u128E\\u128F\\u12B1\\u12B6\\u12B7\\u12BF\\u12C1\\u12C6\\u12C7\\u12D7\\u1311\\u1316\\u1317\\u135B-\\u137F\\u1390-\\u139F\\u13F6\\u13F7\\u13FE-\\u1400\\u166D\\u166E\\u1680\\u169B-\\u169F\\u16EB-\\u16F0\\u16F9-\\u16FF\\u1712-\\u171E\\u1732-\\u173F\\u1752-\\u175F\\u176D\\u1771-\\u177F\\u17B4-\\u17D6\\u17D8-\\u17DB\\u17DD-\\u181F\\u1879-\\u187F\\u1885\\u1886\\u18A9\\u18AB-\\u18AF\\u18F6-\\u18FF\\u191F-\\u194F\\u196E\\u196F\\u1975-\\u197F\\u19AC-\\u19AF\\u19CA-\\u19FF\\u1A17-\\u1A1F\\u1A55-\\u1AA6\\u1AA8-\\u1B04\\u1B34-\\u1B44\\u1B4D-\\u1B82\\u1BA1-\\u1BAD\\u1BB0-\\u1BB9\\u1BE6-\\u1BFF\\u1C24-\\u1C4C\\u1C50-\\u1C59\\u1C7E\\u1C7F\\u1C89-\\u1C8F\\u1CBB\\u1CBC\\u1CC0-\\u1CE8\\u1CED\\u1CF4\\u1CF7-\\u1CF9\\u1CFB-\\u1CFF\\u1DC0-\\u1DFF\\u1F16\\u1F17\\u1F1E\\u1F1F\\u1F46\\u1F47\\u1F4E\\u1F4F\\u1F58\\u1F5A\\u1F5C\\u1F5E\\u1F7E\\u1F7F\\u1FB5\\u1FBD\\u1FBF-\\u1FC1\\u1FC5\\u1FCD-\\u1FCF\\u1FD4\\u1FD5\\u1FDC-\\u1FDF\\u1FED-\\u1FF1\\u1FF5\\u1FFD-\\u2070\\u2072-\\u207E\\u2080-\\u208F\\u209D-\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211E-\\u2123\\u2125\\u2127\\u2129\\u212E\\u213A\\u213B\\u2140-\\u2144\\u214A-\\u214D\\u214F-\\u2182\\u2185-\\u2BFF\\u2CE5-\\u2CEA\\u2CEF-\\u2CF1\\u2CF4-\\u2CFF\\u2D26\\u2D28-\\u2D2C\\u2D2E\\u2D2F\\u2D68-\\u2D6E\\u2D70-\\u2D7F\\u2D97-\\u2D9F\\u2DA7\\u2DAF\\u2DB7\\u2DBF\\u2DC7\\u2DCF\\u2DD7\\u2DDF-\\u2E2E\\u2E30-\\u3004\\u3007-\\u3030\\u3036-\\u303A\\u303D-\\u3040\\u3097-\\u309C\\u30A0\\u30FB\\u3100-\\u3104\\u3130\\u318F-\\u319F\\u31C0-\\u31EF\\u3200-\\u33FF\\u4DC0-\\u4DFF\\uA48D-\\uA4CF\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA620-\\uA629\\uA62C-\\uA63F\\uA66F-\\uA67E\\uA69E\\uA69F\\uA6E6-\\uA716\\uA720\\uA721\\uA789\\uA78A\\uA7CB-\\uA7CF\\uA7D2\\uA7D4\\uA7DA-\\uA7F1\\uA802\\uA806\\uA80B\\uA823-\\uA83F\\uA874-\\uA881\\uA8B4-\\uA8F1\\uA8F8-\\uA8FA\\uA8FC\\uA8FF-\\uA909\\uA926-\\uA92F\\uA947-\\uA95F\\uA97D-\\uA983\\uA9B3-\\uA9CE\\uA9D0-\\uA9DF\\uA9E5\\uA9F0-\\uA9F9\\uA9FF\\uAA29-\\uAA3F\\uAA43\\uAA4C-\\uAA5F\\uAA77-\\uAA79\\uAA7B-\\uAA7D\\uAAB0\\uAAB2-\\uAAB4\\uAAB7\\uAAB8\\uAABE\\uAABF\\uAAC1\\uAAC3-\\uAADA\\uAADE\\uAADF\\uAAEB-\\uAAF1\\uAAF5-\\uAB00\\uAB07\\uAB08\\uAB0F\\uAB10\\uAB17-\\uAB1F\\uAB27\\uAB2F\\uAB5B\\uAB6A-\\uAB6F\\uABE3-\\uABFF\\uD7A4-\\uD7AF\\uD7C7-\\uD7CA\\uD7FC-\\uD7FF\\uE000-\\uF8FF\\uFA6E\\uFA6F\\uFADA-\\uFAFF\\uFB07-\\uFB12\\uFB18-\\uFB1C\\uFB1E\\uFB29\\uFB37\\uFB3D\\uFB3F\\uFB42\\uFB45\\uFBB2-\\uFBD2\\uFD3E-\\uFD4F\\uFD90\\uFD91\\uFDC8-\\uFDEF\\uFDFC-\\uFE6F\\uFE75\\uFEFD-\\uFF20\\uFF3B-\\uFF40\\uFF5B-\\uFF65\\uFFBF-\\uFFC1\\uFFC8\\uFFC9\\uFFD0\\uFFD1\\uFFD8\\uFFD9\\uFFDD-\\uFFFF]|\\uD800[\\uDC0C\\uDC27\\uDC3B\\uDC3E\\uDC4E\\uDC4F\\uDC5E-\\uDC7F\\uDCFB-\\uDE7F\\uDE9D-\\uDE9F\\uDED1-\\uDEFF\\uDF20-\\uDF2C\\uDF41\\uDF4A-\\uDF4F\\uDF76-\\uDF7F\\uDF9E\\uDF9F\\uDFC4-\\uDFC7\\uDFD0-\\uDFFF]|\\uD801[\\uDC9E-\\uDCAF\\uDCD4-\\uDCD7\\uDCFC-\\uDCFF\\uDD28-\\uDD2F\\uDD64-\\uDD6F\\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-\\uDC5F\\uDC77-\\uDC7F\\uDC9F-\\uDCDF\\uDCF3\\uDCF6-\\uDCFF\\uDD16-\\uDD1F\\uDD3A-\\uDD7F\\uDDB8-\\uDDBD\\uDDC0-\\uDDFF\\uDE01-\\uDE0F\\uDE14\\uDE18\\uDE36-\\uDE5F\\uDE7D-\\uDE7F\\uDE9D-\\uDEBF\\uDEC8\\uDEE5-\\uDEFF\\uDF36-\\uDF3F\\uDF56-\\uDF5F\\uDF73-\\uDF7F\\uDF92-\\uDFFF]|\\uD803[\\uDC49-\\uDC7F\\uDCB3-\\uDCBF\\uDCF3-\\uDCFF\\uDD24-\\uDE7F\\uDEAA-\\uDEAF\\uDEB2-\\uDEFF\\uDF1D-\\uDF26\\uDF28-\\uDF2F\\uDF46-\\uDF6F\\uDF82-\\uDFAF\\uDFC5-\\uDFDF\\uDFF7-\\uDFFF]|\\uD804[\\uDC00-\\uDC02\\uDC38-\\uDC70\\uDC73\\uDC74\\uDC76-\\uDC82\\uDCB0-\\uDCCF\\uDCE9-\\uDD02\\uDD27-\\uDD43\\uDD45\\uDD46\\uDD48-\\uDD4F\\uDD73-\\uDD75\\uDD77-\\uDD82\\uDDB3-\\uDDC0\\uDDC5-\\uDDD9\\uDDDB\\uDDDD-\\uDDFF\\uDE12\\uDE2C-\\uDE3E\\uDE41-\\uDE7F\\uDE87\\uDE89\\uDE8E\\uDE9E\\uDEA9-\\uDEAF\\uDEDF-\\uDF04\\uDF0D\\uDF0E\\uDF11\\uDF12\\uDF29\\uDF31\\uDF34\\uDF3A-\\uDF3C\\uDF3E-\\uDF4F\\uDF51-\\uDF5C\\uDF62-\\uDFFF]|\\uD805[\\uDC35-\\uDC46\\uDC4B-\\uDC5E\\uDC62-\\uDC7F\\uDCB0-\\uDCC3\\uDCC6\\uDCC8-\\uDD7F\\uDDAF-\\uDDD7\\uDDDC-\\uDDFF\\uDE30-\\uDE43\\uDE45-\\uDE7F\\uDEAB-\\uDEB7\\uDEB9-\\uDEFF\\uDF1B-\\uDF3F\\uDF47-\\uDFFF]|\\uD806[\\uDC2C-\\uDC9F\\uDCE0-\\uDCFE\\uDD07\\uDD08\\uDD0A\\uDD0B\\uDD14\\uDD17\\uDD30-\\uDD3E\\uDD40\\uDD42-\\uDD9F\\uDDA8\\uDDA9\\uDDD1-\\uDDE0\\uDDE2\\uDDE4-\\uDDFF\\uDE01-\\uDE0A\\uDE33-\\uDE39\\uDE3B-\\uDE4F\\uDE51-\\uDE5B\\uDE8A-\\uDE9C\\uDE9E-\\uDEAF\\uDEF9-\\uDFFF]|\\uD807[\\uDC09\\uDC2F-\\uDC3F\\uDC41-\\uDC71\\uDC90-\\uDCFF\\uDD07\\uDD0A\\uDD31-\\uDD45\\uDD47-\\uDD5F\\uDD66\\uDD69\\uDD8A-\\uDD97\\uDD99-\\uDEDF\\uDEF3-\\uDF01\\uDF03\\uDF11\\uDF34-\\uDFAF\\uDFB1-\\uDFFF]|\\uD808[\\uDF9A-\\uDFFF]|\\uD809[\\uDC00-\\uDC7F\\uDD44-\\uDFFF]|[\\uD80A\\uD80E-\\uD810\\uD812-\\uD819\\uD824-\\uD82A\\uD82D\\uD82E\\uD830-\\uD834\\uD836\\uD83C-\\uD83F\\uD87B-\\uD87D\\uD87F\\uD889-\\uDBFF][\\uDC00-\\uDFFF]|\\uD80B[\\uDC00-\\uDF8F\\uDFF1-\\uDFFF]|\\uD80D[\\uDC30-\\uDC40\\uDC47-\\uDFFF]|\\uD811[\\uDE47-\\uDFFF]|\\uD81A[\\uDE39-\\uDE3F\\uDE5F-\\uDE6F\\uDEBF-\\uDECF\\uDEEE-\\uDEFF\\uDF30-\\uDF3F\\uDF44-\\uDF62\\uDF78-\\uDF7C\\uDF90-\\uDFFF]|\\uD81B[\\uDC00-\\uDE3F\\uDE80-\\uDEFF\\uDF4B-\\uDF4F\\uDF51-\\uDF92\\uDFA0-\\uDFDF\\uDFE2\\uDFE4-\\uDFFF]|\\uD821[\\uDFF8-\\uDFFF]|\\uD823[\\uDCD6-\\uDCFF\\uDD09-\\uDFFF]|\\uD82B[\\uDC00-\\uDFEF\\uDFF4\\uDFFC\\uDFFF]|\\uD82C[\\uDD23-\\uDD31\\uDD33-\\uDD4F\\uDD53\\uDD54\\uDD56-\\uDD63\\uDD68-\\uDD6F\\uDEFC-\\uDFFF]|\\uD82F[\\uDC6B-\\uDC6F\\uDC7D-\\uDC7F\\uDC89-\\uDC8F\\uDC9A-\\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\\uDEC1\\uDEDB\\uDEFB\\uDF15\\uDF35\\uDF4F\\uDF6F\\uDF89\\uDFA9\\uDFC3\\uDFCC-\\uDFFF]|\\uD837[\\uDC00-\\uDEFF\\uDF1F-\\uDF24\\uDF2B-\\uDFFF]|\\uD838[\\uDC00-\\uDC2F\\uDC6E-\\uDCFF\\uDD2D-\\uDD36\\uDD3E-\\uDD4D\\uDD4F-\\uDE8F\\uDEAE-\\uDEBF\\uDEEC-\\uDFFF]|\\uD839[\\uDC00-\\uDCCF\\uDCEC-\\uDFDF\\uDFE7\\uDFEC\\uDFEF\\uDFFF]|\\uD83A[\\uDCC5-\\uDCFF\\uDD44-\\uDD4A\\uDD4C-\\uDFFF]|\\uD83B[\\uDC00-\\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-\\uDFFF]|\\uD869[\\uDEE0-\\uDEFF]|\\uD86D[\\uDF3A-\\uDF3F]|\\uD86E[\\uDC1E\\uDC1F]|\\uD873[\\uDEA2-\\uDEAF]|\\uD87A[\\uDFE1-\\uDFFF]|\\uD87E[\\uDE1E-\\uDFFF]|\\uD884[\\uDF4B-\\uDF4F]|\\uD888[\\uDFB0-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+$/;var extractNewHref=function extractNewHref(anchor,attr){if(attr===\"text\"){if(!anchor.textContent){return \"\";}return anchor.textContent.replace(regexpNotValidAtStart,\"\").replace(regexpNotValidAtEnd,\"\");}if(attr.startsWith(\"?\")){try{var url=new URL(anchor.href,document.location.href);return url.searchParams.get(attr.slice(1))||\"\";}catch(ex){logMessage(source,\"Cannot retrieve the parameter '\".concat(attr.slice(1),\"' from the URL '\").concat(anchor.href));return \"\";}}if(attr.startsWith(\"[\")&&attr.endsWith(\"]\")){return anchor.getAttribute(attr.slice(1,-1))||\"\";}return \"\";};var getValidURL=function getValidURL(text){if(!text){return null;}try{var _URL=new URL(text,document.location.href),href=_URL.href,protocol=_URL.protocol;if(protocol!==\"http:\"&&protocol!==\"https:\"){logMessage(source,'Protocol not allowed: \"'.concat(protocol,'\", from URL: \"').concat(href,'\"'));return null;}return href;}catch(_unused){return null;}};var isSanitizableAnchor=function isSanitizableAnchor(element){return element.nodeName.toLowerCase()===\"a\"&&element.hasAttribute(\"href\");};var sanitize=function sanitize(elementSelector){var elements;try{elements=document.querySelectorAll(elementSelector);}catch(e){logMessage(source,'Invalid selector \"'.concat(elementSelector,'\"'));return;}elements.forEach(function(elem){try{if(!isSanitizableAnchor(elem)){return;}var newHref=extractNewHref(elem,attribute);var newValidHref=getValidURL(newHref);if(!newValidHref){logMessage(source,\"Invalid URL: \".concat(newHref));return;}var oldHref=elem.href;elem.setAttribute(\"href\",newValidHref);if(newValidHref!==oldHref){logMessage(source,'Sanitized \"'.concat(oldHref,'\" to \"').concat(newValidHref,'\".'));}}catch(ex){logMessage(source,\"Failed to sanitize \".concat(elem,\".\"));}});hit(source);};var run=function run(){sanitize(selector);observeDOMChanges(function(){return sanitize(selector);},true);};if(document.readyState===\"loading\"){window.addEventListener(\"DOMContentLoaded\",run,{once:true});}else {run();}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}var updatedArgs=args?[].concat(source).concat(args):[source];try{hrefSanitizer.apply(this,updatedArgs);}catch(e){console.log(e);}}function injectCssInShadowDom(source,args){function injectCssInShadowDom(source,cssRule){var hostSelector=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"\";if(!Element.prototype.attachShadow||typeof Proxy===\"undefined\"||typeof Reflect===\"undefined\"){return;}if(cssRule.match(/(url|image-set)\\(.*\\)/i)){logMessage(source,'\"url()\" function is not allowed for css rules');return;}var callback=function callback(shadowRoot){try{var stylesheet=new CSSStyleSheet();try{stylesheet.insertRule(cssRule);}catch(e){logMessage(source,\"Unable to apply the rule '\".concat(cssRule,\"' due to: \\n'\").concat(e.message,\"'\"));return;}shadowRoot.adoptedStyleSheets=[...shadowRoot.adoptedStyleSheets,stylesheet];}catch(_unused){var styleTag=document.createElement(\"style\");styleTag.innerText=cssRule;shadowRoot.appendChild(styleTag);}hit(source);};hijackAttachShadow(window,hostSelector,callback);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function hijackAttachShadow(context,hostSelector,callback){var handlerWrapper=function handlerWrapper(target,thisArg,args){var shadowRoot=Reflect.apply(target,thisArg,args);if(thisArg&&thisArg.matches(hostSelector||\"*\")){callback(shadowRoot);}return shadowRoot;};var attachShadowHandler={apply:handlerWrapper};context.Element.prototype.attachShadow=new Proxy(context.Element.prototype.attachShadow,attachShadowHandler);}var updatedArgs=args?[].concat(source).concat(args):[source];try{injectCssInShadowDom.apply(this,updatedArgs);}catch(e){console.log(e);}}function jsonPrune(source,args){function jsonPrune(source,propsToRemove,requiredInitialProps){var stack=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var prunePaths=getPrunePath(propsToRemove);var requiredPaths=getPrunePath(requiredInitialProps);var nativeObjects={nativeStringify:window.JSON.stringify};var nativeJSONParse=JSON.parse;var jsonParseWrapper=function jsonParseWrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}var root=nativeJSONParse.apply(JSON,args);return jsonPruner(source,root,prunePaths,requiredPaths,stack,nativeObjects);};jsonParseWrapper.toString=nativeJSONParse.toString.bind(nativeJSONParse);JSON.parse=jsonParseWrapper;var nativeResponseJson=Response.prototype.json;var responseJsonWrapper=function responseJsonWrapper(){var promise=nativeResponseJson.apply(this);return promise.then(function(obj){return jsonPruner(source,obj,prunePaths,requiredPaths,stack,nativeObjects);});};if(typeof Response===\"undefined\"){return;}Response.prototype.json=responseJsonWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function getWildcardPropertyInChain(base,chain){var lookThrough=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var output=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var pos=chain.indexOf(\".\");if(pos===-1){if(chain===\"*\"||chain===\"[]\"){for(var key in base){if(Object.prototype.hasOwnProperty.call(base,key)){output.push({base:base,prop:key});}}}else {output.push({base:base,prop:chain});}return output;}var prop=chain.slice(0,pos);var shouldLookThrough=prop===\"[]\"&&Array.isArray(base)||prop===\"*\"&&base instanceof Object;if(shouldLookThrough){var nextProp=chain.slice(pos+1);var baseKeys=Object.keys(base);baseKeys.forEach(function(key){var item=base[key];getWildcardPropertyInChain(item,nextProp,lookThrough,output);});}if(Array.isArray(base)){base.forEach(function(key){var nextBase=key;if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}});}var nextBase=base[prop];chain=chain.slice(pos+1);if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}return output;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects){if(!root){return false;}var nativeStringify=nativeObjects.nativeStringify;var shouldProcess;if(prunePaths.length===0&&requiredPaths.length>0){var rootString=nativeStringify(root);var matchRegex=toRegExp(requiredPaths.join(\"\"));var shouldLog=matchRegex.test(rootString);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}shouldProcess=false;return shouldProcess;}}if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){shouldProcess=false;return shouldProcess;}var wildcardSymbols=[\".*.\",\"*.\",\".*\",\".[].\",\"[].\",\".[]\"];var _loop=function _loop(){var requiredPath=requiredPaths[i];var lastNestedPropName=requiredPath.split(\".\").pop();var hasWildcard=wildcardSymbols.some(function(symbol){return requiredPath.includes(symbol);});var details=getWildcardPropertyInChain(root,requiredPath,hasWildcard);if(!details.length){shouldProcess=false;return {v:shouldProcess};}shouldProcess=!hasWildcard;for(var j=0;j0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function getNativeRegexpTest(){var descriptor=Object.getOwnPropertyDescriptor(RegExp.prototype,\"test\");var nativeRegexTest=descriptor===null||descriptor===void 0?void 0:descriptor.value;if(descriptor&&typeof descriptor.value===\"function\"){return nativeRegexTest;}throw new Error(\"RegExp.prototype.test is not a function\");}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index3&&arguments[3]!==undefined?arguments[3]:\"\";var stack=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";if(typeof fetch===\"undefined\"||typeof Proxy===\"undefined\"||typeof Response===\"undefined\"){return;}var prunePaths=getPrunePath(propsToRemove);var requiredPaths=getPrunePath(obligatoryProps);var nativeStringify=window.JSON.stringify;var nativeRequestClone=window.Request.prototype.clone;var nativeResponseClone=window.Response.prototype.clone;var nativeFetch=window.fetch;var fetchHandlerWrapper=async function fetchHandlerWrapper(target,thisArg,args){var fetchData=getFetchData(args,nativeRequestClone);if(!matchRequestProps(source,propsToMatch,fetchData)){return Reflect.apply(target,thisArg,args);}var originalResponse;var clonedResponse;try{originalResponse=await nativeFetch.apply(null,args);clonedResponse=nativeResponseClone.call(originalResponse);}catch(_unused){logMessage(source,\"Could not make an original fetch request: \".concat(fetchData.url));return Reflect.apply(target,thisArg,args);}var json;try{json=await originalResponse.json();}catch(e){var message=\"Response body can't be converted to json: \".concat(objectToString(fetchData));logMessage(source,message);return clonedResponse;}var modifiedJson=jsonPruner(source,json,prunePaths,requiredPaths,stack,{nativeStringify:nativeStringify,nativeRequestClone:nativeRequestClone,nativeResponseClone:nativeResponseClone,nativeFetch:nativeFetch});var forgedResponse=forgeResponse(originalResponse,nativeStringify(modifiedJson));hit(source);return forgedResponse;};var fetchHandler={apply:fetchHandlerWrapper};window.fetch=new Proxy(window.fetch,fetchHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getFetchData(args,nativeRequestClone){var fetchPropsObj={};var resource=args[0];var fetchUrl;var fetchInit;if(resource instanceof Request){var realData=nativeRequestClone.call(resource);var requestData=getRequestData(realData);fetchUrl=requestData.url;fetchInit=requestData;}else {fetchUrl=resource;fetchInit=args[1];}fetchPropsObj.url=fetchUrl;if(fetchInit instanceof Object){var props=Object.keys(fetchInit);props.forEach(function(prop){fetchPropsObj[prop]=fetchInit[prop];});}return fetchPropsObj;}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function jsonPruner(source,root,prunePaths,requiredPaths,stack,nativeObjects){var nativeStringify=nativeObjects.nativeStringify;if(prunePaths.length===0&&requiredPaths.length===0){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}return root;}try{if(isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects)===false){return root;}prunePaths.forEach(function(path){var ownerObjArr=getWildcardPropertyInChain(root,path,true);ownerObjArr.forEach(function(ownerObj){if(ownerObj!==undefined&&ownerObj.base){delete ownerObj.base[ownerObj.prop];hit(source);}});});}catch(e){logMessage(source,e);}return root;}function getPrunePath(props){var validPropsString=typeof props===\"string\"&&props!==undefined&&props!==\"\";return validPropsString?props.split(/ +/):[];}function forgeResponse(response,textContent){var bodyUsed=response.bodyUsed,headers=response.headers,ok=response.ok,redirected=response.redirected,status=response.status,statusText=response.statusText,type=response.type,url=response.url;var forgedResponse=new Response(textContent,{status:status,statusText:statusText,headers:headers});Object.defineProperties(forgedResponse,{url:{value:url},type:{value:type},ok:{value:ok},bodyUsed:{value:bodyUsed},redirected:{value:redirected}});return forgedResponse;}function isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects){if(!root){return false;}var nativeStringify=nativeObjects.nativeStringify;var shouldProcess;if(prunePaths.length===0&&requiredPaths.length>0){var rootString=nativeStringify(root);var matchRegex=toRegExp(requiredPaths.join(\"\"));var shouldLog=matchRegex.test(rootString);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}shouldProcess=false;return shouldProcess;}}if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){shouldProcess=false;return shouldProcess;}var wildcardSymbols=[\".*.\",\"*.\",\".*\",\".[].\",\"[].\",\".[]\"];var _loop=function _loop(){var requiredPath=requiredPaths[i];var lastNestedPropName=requiredPath.split(\".\").pop();var hasWildcard=wildcardSymbols.some(function(symbol){return requiredPath.includes(symbol);});var details=getWildcardPropertyInChain(root,requiredPath,hasWildcard);if(!details.length){shouldProcess=false;return {v:shouldProcess};}shouldProcess=!hasWildcard;for(var j=0;j0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getRequestData(request){var requestInitOptions=getRequestProps();var entries=requestInitOptions.map(function(key){var value=request[key];return [key,value];});return Object.fromEntries(entries);}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}function getWildcardPropertyInChain(base,chain){var lookThrough=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var output=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var pos=chain.indexOf(\".\");if(pos===-1){if(chain===\"*\"||chain===\"[]\"){for(var key in base){if(Object.prototype.hasOwnProperty.call(base,key)){output.push({base:base,prop:key});}}}else {output.push({base:base,prop:chain});}return output;}var prop=chain.slice(0,pos);var shouldLookThrough=prop===\"[]\"&&Array.isArray(base)||prop===\"*\"&&base instanceof Object;if(shouldLookThrough){var nextProp=chain.slice(pos+1);var baseKeys=Object.keys(base);baseKeys.forEach(function(key){var item=base[key];getWildcardPropertyInChain(item,nextProp,lookThrough,output);});}if(Array.isArray(base)){base.forEach(function(key){var nextBase=key;if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}});}var nextBase=base[prop];chain=chain.slice(pos+1);if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}return output;}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index3&&arguments[3]!==undefined?arguments[3]:\"\";var stack=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";if(typeof Proxy===\"undefined\"){return;}var shouldLog=!propsToRemove&&!obligatoryProps;var prunePaths=getPrunePath(propsToRemove);var requiredPaths=getPrunePath(obligatoryProps);var nativeParse=window.JSON.parse;var nativeStringify=window.JSON.stringify;var nativeOpen=window.XMLHttpRequest.prototype.open;var nativeSend=window.XMLHttpRequest.prototype.send;var setRequestHeaderWrapper=function setRequestHeaderWrapper(setRequestHeader,thisArgument,argsList){thisArgument.collectedHeaders.push(argsList);return Reflect.apply(setRequestHeader,thisArgument,argsList);};var setRequestHeaderHandler={apply:setRequestHeaderWrapper};var xhrData;var openWrapper=function openWrapper(target,thisArg,args){xhrData=getXhrData.apply(null,args);if(matchRequestProps(source,propsToMatch,xhrData)||shouldLog){thisArg.xhrShouldBePruned=true;thisArg.headersReceived=!!thisArg.headersReceived;}if(thisArg.xhrShouldBePruned&&!thisArg.headersReceived){thisArg.headersReceived=true;thisArg.collectedHeaders=[];thisArg.setRequestHeader=new Proxy(thisArg.setRequestHeader,setRequestHeaderHandler);}return Reflect.apply(target,thisArg,args);};var sendWrapper=function sendWrapper(target,thisArg,args){var stackTrace=new Error().stack||\"\";if(!thisArg.xhrShouldBePruned||stack&&!matchStackTrace(stack,stackTrace)){return Reflect.apply(target,thisArg,args);}var forgedRequest=new XMLHttpRequest();forgedRequest.addEventListener(\"readystatechange\",function(){if(forgedRequest.readyState!==4){return;}var readyState=forgedRequest.readyState,response=forgedRequest.response,responseText=forgedRequest.responseText,responseURL=forgedRequest.responseURL,responseXML=forgedRequest.responseXML,status=forgedRequest.status,statusText=forgedRequest.statusText;var content=responseText||response;if(typeof content!==\"string\"&&typeof content!==\"object\"){return;}var modifiedContent;if(typeof content===\"string\"){try{var jsonContent=nativeParse(content);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(jsonContent,null,2),\"\\nStack trace:\\n\").concat(stackTrace),true);logMessage(source,jsonContent,true,false);modifiedContent=content;}else {modifiedContent=jsonPruner(source,jsonContent,prunePaths,requiredPaths,stack=\"\",{nativeStringify:nativeStringify});try{var responseType=thisArg.responseType;switch(responseType){case\"\":case\"text\":modifiedContent=nativeStringify(modifiedContent);break;case\"arraybuffer\":modifiedContent=new TextEncoder().encode(nativeStringify(modifiedContent)).buffer;break;case\"blob\":modifiedContent=new Blob([nativeStringify(modifiedContent)]);break;default:break;}}catch(error){var message=\"Response body cannot be converted to reponse type: '\".concat(content,\"'\");logMessage(source,message);modifiedContent=content;}}}catch(error){var _message=\"Response body cannot be converted to json: '\".concat(content,\"'\");logMessage(source,_message);modifiedContent=content;}}Object.defineProperties(thisArg,{readyState:{value:readyState,writable:false},responseURL:{value:responseURL,writable:false},responseXML:{value:responseXML,writable:false},status:{value:status,writable:false},statusText:{value:statusText,writable:false},response:{value:modifiedContent,writable:false},responseText:{value:modifiedContent,writable:false}});setTimeout(function(){var stateEvent=new Event(\"readystatechange\");thisArg.dispatchEvent(stateEvent);var loadEvent=new Event(\"load\");thisArg.dispatchEvent(loadEvent);var loadEndEvent=new Event(\"loadend\");thisArg.dispatchEvent(loadEndEvent);},1);hit(source);});nativeOpen.apply(forgedRequest,[xhrData.method,xhrData.url,Boolean(xhrData.async)]);thisArg.collectedHeaders.forEach(function(header){forgedRequest.setRequestHeader(header[0],header[1]);});thisArg.collectedHeaders=[];try{nativeSend.call(forgedRequest,args);}catch(_unused){return Reflect.apply(target,thisArg,args);}return undefined;};var openHandler={apply:openWrapper};var sendHandler={apply:sendWrapper};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,openHandler);XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,sendHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function jsonPruner(source,root,prunePaths,requiredPaths,stack,nativeObjects){var nativeStringify=nativeObjects.nativeStringify;if(prunePaths.length===0&&requiredPaths.length===0){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}return root;}try{if(isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects)===false){return root;}prunePaths.forEach(function(path){var ownerObjArr=getWildcardPropertyInChain(root,path,true);ownerObjArr.forEach(function(ownerObj){if(ownerObj!==undefined&&ownerObj.base){delete ownerObj.base[ownerObj.prop];hit(source);}});});}catch(e){logMessage(source,e);}return root;}function getPrunePath(props){var validPropsString=typeof props===\"string\"&&props!==undefined&&props!==\"\";return validPropsString?props.split(/ +/):[];}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function getXhrData(method,url,async,user,password){return {method:method,url:url,async:async,user:user,password:password};}function isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects){if(!root){return false;}var nativeStringify=nativeObjects.nativeStringify;var shouldProcess;if(prunePaths.length===0&&requiredPaths.length>0){var rootString=nativeStringify(root);var matchRegex=toRegExp(requiredPaths.join(\"\"));var shouldLog=matchRegex.test(rootString);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}shouldProcess=false;return shouldProcess;}}if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){shouldProcess=false;return shouldProcess;}var wildcardSymbols=[\".*.\",\"*.\",\".*\",\".[].\",\"[].\",\".[]\"];var _loop=function _loop(){var requiredPath=requiredPaths[i];var lastNestedPropName=requiredPath.split(\".\").pop();var hasWildcard=wildcardSymbols.some(function(symbol){return requiredPath.includes(symbol);});var details=getWildcardPropertyInChain(root,requiredPath,hasWildcard);if(!details.length){shouldProcess=false;return {v:shouldProcess};}shouldProcess=!hasWildcard;for(var j=0;j2&&arguments[2]!==undefined?arguments[2]:false;var output=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var pos=chain.indexOf(\".\");if(pos===-1){if(chain===\"*\"||chain===\"[]\"){for(var key in base){if(Object.prototype.hasOwnProperty.call(base,key)){output.push({base:base,prop:key});}}}else {output.push({base:base,prop:chain});}return output;}var prop=chain.slice(0,pos);var shouldLookThrough=prop===\"[]\"&&Array.isArray(base)||prop===\"*\"&&base instanceof Object;if(shouldLookThrough){var nextProp=chain.slice(pos+1);var baseKeys=Object.keys(base);baseKeys.forEach(function(key){var item=base[key];getWildcardPropertyInChain(item,nextProp,lookThrough,output);});}if(Array.isArray(base)){base.forEach(function(key){var nextBase=key;if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}});}var nextBase=base[prop];chain=chain.slice(pos+1);if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}return output;}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return nativeAddEventListener.apply(context,[type,listener,...args]);}var descriptor={configurable:true,set:function set(){},get:function get(){return addEventListenerWrapper;}};Object.defineProperty(window.EventTarget.prototype,\"addEventListener\",descriptor);Object.defineProperty(window,\"addEventListener\",descriptor);Object.defineProperty(document,\"addEventListener\",descriptor);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function validateType(type){return typeof type!==\"undefined\";}function validateListener(listener){return typeof listener!==\"undefined\"&&(typeof listener===\"function\"||typeof listener===\"object\"&&listener!==null&&\"handleEvent\"in listener&&typeof listener.handleEvent===\"function\");}function listenerToString(listener){return typeof listener===\"function\"?listener.toString():listener.handleEvent.toString();}function convertTypeToString(value){var output;if(typeof value===\"undefined\"){output=\"undefined\";}else if(typeof value===\"object\"){if(value===null){output=\"null\";}else {output=objectToString(value);}}else {output=String(value);}return output;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{logAddEventListener.apply(this,updatedArgs);}catch(e){console.log(e);}}function logEval(source,args){function logEval(source){var nativeEval=window.eval;function evalWrapper(str){hit(source);logMessage(source,'eval(\"'.concat(str,'\")'),true);return nativeEval(str);}window.eval=evalWrapper;var nativeFunction=window.Function;function FunctionWrapper(){hit(source);for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}logMessage(source,\"new Function(\".concat(args.join(\", \"),\")\"),true);return nativeFunction.apply(this,[...args]);}FunctionWrapper.prototype=Object.create(nativeFunction.prototype);FunctionWrapper.prototype.constructor=FunctionWrapper;window.Function=FunctionWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{logEval.apply(this,updatedArgs);}catch(e){console.log(e);}}function logOnStacktrace(source,args){function logOnStacktrace(source,property){if(!property){return;}var refineStackTrace=function refineStackTrace(stackString){var stackSteps=stackString.split(\"\\n\").slice(2).map(function(line){return line.replace(/ {4}at /,\"\");});var logInfoArray=stackSteps.map(function(line){var funcName;var funcFullPath;var reg=/\\(([^\\)]+)\\)/;var regFirefox=/(.*?@)(\\S+)(:\\d+):\\d+\\)?$/;if(line.match(reg)){funcName=line.split(\" \").slice(0,-1).join(\" \");funcFullPath=line.match(reg)[1];}else if(line.match(regFirefox)){funcName=line.split(\"@\").slice(0,-1).join(\" \");funcFullPath=line.match(regFirefox)[2];}else {funcName=\"function name is not available\";funcFullPath=line;}return [funcName,funcFullPath];});var logInfoObject={};logInfoArray.forEach(function(pair){logInfoObject[pair[0]]=pair[1];});return logInfoObject;};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;if(chain){var setter=function setter(a){base=a;if(a instanceof Object){setChainPropAccess(a,chain);}};Object.defineProperty(owner,prop,{get:function get(){return base;},set:setter});return;}var value=base[prop];setPropertyAccess(base,prop,{get(){hit(source);logMessage(source,\"Get \".concat(prop),true);console.table(refineStackTrace(new Error().stack));return value;},set(newValue){hit(source);logMessage(source,\"Set \".concat(prop),true);console.table(refineStackTrace(new Error().stack));value=newValue;}});};setChainPropAccess(window,property);}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function setPropertyAccess(object,property,descriptor){var currentDescriptor=Object.getOwnPropertyDescriptor(object,property);if(currentDescriptor&&!currentDescriptor.configurable){return false;}Object.defineProperty(object,property,descriptor);return true;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{logOnStacktrace.apply(this,updatedArgs);}catch(e){console.log(e);}}function m3uPrune(source,args){function m3uPrune(source,propsToRemove){var urlToMatch=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"\";if(typeof Reflect===\"undefined\"||typeof fetch===\"undefined\"||typeof Proxy===\"undefined\"||typeof Response===\"undefined\"){return;}var shouldPruneResponse=false;var urlMatchRegexp=toRegExp(urlToMatch);var SEGMENT_MARKER=\"#\";var AD_MARKER={ASSET:\"#EXT-X-ASSET:\",CUE:\"#EXT-X-CUE:\",CUE_IN:\"#EXT-X-CUE-IN\",DISCONTINUITY:\"#EXT-X-DISCONTINUITY\",EXTINF:\"#EXTINF\",EXTM3U:\"#EXTM3U\",SCTE35:\"#EXT-X-SCTE35:\"};var COMCAST_AD_MARKER={AD:\"-AD-\",VAST:\"-VAST-\",VMAP_AD:\"-VMAP-AD-\",VMAP_AD_BREAK:\"#EXT-X-VMAP-AD-BREAK:\"};var TAGS_ALLOWLIST=[\"#EXT-X-TARGETDURATION\",\"#EXT-X-MEDIA-SEQUENCE\",\"#EXT-X-DISCONTINUITY-SEQUENCE\",\"#EXT-X-ENDLIST\",\"#EXT-X-PLAYLIST-TYPE\",\"#EXT-X-I-FRAMES-ONLY\",\"#EXT-X-MEDIA\",\"#EXT-X-STREAM-INF\",\"#EXT-X-I-FRAME-STREAM-INF\",\"#EXT-X-SESSION-DATA\",\"#EXT-X-SESSION-KEY\",\"#EXT-X-INDEPENDENT-SEGMENTS\",\"#EXT-X-START\"];var isAllowedTag=function isAllowedTag(str){return TAGS_ALLOWLIST.some(function(el){return str.startsWith(el);});};var pruneExtinfFromVmapBlock=function pruneExtinfFromVmapBlock(lines,i){var array=lines.slice();var index=i;if(array[index].includes(AD_MARKER.EXTINF)){array[index]=undefined;index+=1;if(array[index].includes(AD_MARKER.DISCONTINUITY)){array[index]=undefined;index+=1;var prunedExtinf=pruneExtinfFromVmapBlock(array,index);array=prunedExtinf.array;index=prunedExtinf.index;}}return {array:array,index:index};};var pruneVmapBlock=function pruneVmapBlock(lines){var array=lines.slice();for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getXhrData(method,url,async,user,password){return {method:method,url:url,async:async,user:user,password:password};}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}var updatedArgs=args?[].concat(source).concat(args):[source];try{m3uPrune.apply(this,updatedArgs);}catch(e){console.log(e);}}function metrikaYandexTag(source,args){function metrikaYandexTag(source){var asyncCallbackFromOptions=function asyncCallbackFromOptions(id,param){var options=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var callback=options.callback;var ctx=options.ctx;if(typeof callback===\"function\"){callback=ctx!==undefined?callback.bind(ctx):callback;setTimeout(function(){return callback();});}};var addFileExtension=noopFunc;var extLink=asyncCallbackFromOptions;var file=asyncCallbackFromOptions;var getClientID=function getClientID(id,cb){if(!cb){return;}setTimeout(cb(null));};var hitFunc=asyncCallbackFromOptions;var notBounce=asyncCallbackFromOptions;var params=noopFunc;var reachGoal=function reachGoal(id,target,params,callback,ctx){asyncCallbackFromOptions(null,null,{callback:callback,ctx:ctx});};var setUserID=noopFunc;var userParams=noopFunc;var destruct=noopFunc;var api={addFileExtension:addFileExtension,extLink:extLink,file:file,getClientID:getClientID,hit:hitFunc,notBounce:notBounce,params:params,reachGoal:reachGoal,setUserID:setUserID,userParams:userParams,destruct:destruct};function ym(id,funcName){for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return api[funcName]&&api[funcName](id,...args);}function init(id){window[\"yaCounter\".concat(id)]=api;document.dispatchEvent(new Event(\"yacounter\".concat(id,\"inited\")));}if(typeof window.ym===\"undefined\"){window.ym=ym;ym.a=[];}else if(window.ym&&window.ym.a){ym.a=window.ym.a;window.ym=ym;window.ym.a.forEach(function(params){var id=params[0];init(id);});}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{metrikaYandexTag.apply(this,updatedArgs);}catch(e){console.log(e);}}function metrikaYandexWatch(source,args){function metrikaYandexWatch(source){var cbName=\"yandex_metrika_callbacks\";var asyncCallbackFromOptions=function asyncCallbackFromOptions(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var callback=options.callback;var ctx=options.ctx;if(typeof callback===\"function\"){callback=ctx!==undefined?callback.bind(ctx):callback;setTimeout(function(){return callback();});}};function Metrika(){}Metrika.counters=noopArray;Metrika.prototype.addFileExtension=noopFunc;Metrika.prototype.getClientID=noopFunc;Metrika.prototype.setUserID=noopFunc;Metrika.prototype.userParams=noopFunc;Metrika.prototype.params=noopFunc;Metrika.prototype.counters=noopArray;Metrika.prototype.extLink=function(url,options){asyncCallbackFromOptions(options);};Metrika.prototype.file=function(url,options){asyncCallbackFromOptions(options);};Metrika.prototype.hit=function(url,options){asyncCallbackFromOptions(options);};Metrika.prototype.reachGoal=function(target,params,cb,ctx){asyncCallbackFromOptions({callback:cb,ctx:ctx});};Metrika.prototype.notBounce=asyncCallbackFromOptions;if(window.Ya){window.Ya.Metrika=Metrika;}else {window.Ya={Metrika:Metrika};}if(window[cbName]&&Array.isArray(window[cbName])){window[cbName].forEach(function(func){if(typeof func===\"function\"){func();}});}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function noopArray(){return [];}var updatedArgs=args?[].concat(source).concat(args):[source];try{metrikaYandexWatch.apply(this,updatedArgs);}catch(e){console.log(e);}}function noProtectedAudience(source,args){function noProtectedAudience(source){if(Document instanceof Object===false){return;}var protectedAudienceMethods={joinAdInterestGroup:noopResolveVoid,runAdAuction:noopResolveNull,leaveAdInterestGroup:noopResolveVoid,clearOriginJoinedAdInterestGroups:noopResolveVoid,createAuctionNonce:noopStr,updateAdInterestGroups:noopFunc};for(var _i=0,_Object$keys=Object.keys(protectedAudienceMethods);_i<_Object$keys.length;_i++){var key=_Object$keys[_i];var methodName=key;var prototype=Navigator.prototype;if(!Object.prototype.hasOwnProperty.call(prototype,methodName)||prototype[methodName]instanceof Function===false){continue;}prototype[methodName]=protectedAudienceMethods[methodName];}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopStr(){return \"\";}function noopFunc(){}function noopResolveVoid(){return Promise.resolve(undefined);}function noopResolveNull(){return Promise.resolve(null);}var updatedArgs=args?[].concat(source).concat(args):[source];try{noProtectedAudience.apply(this,updatedArgs);}catch(e){console.log(e);}}function noTopics(source,args){function noTopics(source){var TOPICS_PROPERTY_NAME=\"browsingTopics\";if(Document instanceof Object===false){return;}if(!Object.prototype.hasOwnProperty.call(Document.prototype,TOPICS_PROPERTY_NAME)||Document.prototype[TOPICS_PROPERTY_NAME]instanceof Function===false){return;}Document.prototype[TOPICS_PROPERTY_NAME]=function(){return noopPromiseResolve(\"[]\");};hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopPromiseResolve(){var responseBody=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"{}\";var responseUrl=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"\";var responseType=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"basic\";if(typeof Response===\"undefined\"){return;}var response=new Response(responseBody,{status:200,statusText:\"OK\"});if(responseType===\"opaque\"){Object.defineProperties(response,{body:{value:null},status:{value:0},statusText:{value:\"\"},url:{value:\"\"},type:{value:responseType}});}else {Object.defineProperties(response,{url:{value:responseUrl},type:{value:responseType}});}return Promise.resolve(response);}var updatedArgs=args?[].concat(source).concat(args):[source];try{noTopics.apply(this,updatedArgs);}catch(e){console.log(e);}}function noeval(source,args){function noeval(source){window.eval=function evalWrapper(s){hit(source);logMessage(source,\"AdGuard has prevented eval:\\n\".concat(s),true);}.bind();}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{noeval.apply(this,updatedArgs);}catch(e){console.log(e);}}function nowebrtc(source,args){function nowebrtc(source){var propertyName=\"\";if(window.RTCPeerConnection){propertyName=\"RTCPeerConnection\";}else if(window.webkitRTCPeerConnection){propertyName=\"webkitRTCPeerConnection\";}if(propertyName===\"\"){return;}var rtcReplacement=function rtcReplacement(config){var message=\"Document tried to create an RTCPeerConnection: \".concat(convertRtcConfigToString(config));logMessage(source,message);hit(source);};rtcReplacement.prototype={close:noopFunc,createDataChannel:noopFunc,createOffer:noopFunc,setRemoteDescription:noopFunc};var rtc=window[propertyName];window[propertyName]=rtcReplacement;if(rtc.prototype){rtc.prototype.createDataChannel=function(a,b){return {close:noopFunc,send:noopFunc};}.bind(null);}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function convertRtcConfigToString(config){var UNDEF_STR=\"undefined\";var str=UNDEF_STR;if(config===null){str=\"null\";}else if(config instanceof Object){var SERVERS_PROP_NAME=\"iceServers\";var URLS_PROP_NAME=\"urls\";if(Object.prototype.hasOwnProperty.call(config,SERVERS_PROP_NAME)&&config[SERVERS_PROP_NAME]&&Object.prototype.hasOwnProperty.call(config[SERVERS_PROP_NAME][0],URLS_PROP_NAME)&&!!config[SERVERS_PROP_NAME][0][URLS_PROP_NAME]){str=config[SERVERS_PROP_NAME][0][URLS_PROP_NAME].toString();}}return str;}var updatedArgs=args?[].concat(source).concat(args):[source];try{nowebrtc.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventAddEventListener(source,args){function preventAddEventListener(source,typeSearch,listenerSearch){var typeSearchRegexp=toRegExp(typeSearch);var listenerSearchRegexp=toRegExp(listenerSearch);var nativeAddEventListener=window.EventTarget.prototype.addEventListener;function addEventListenerWrapper(type,listener){var _this$constructor;var shouldPrevent=false;if(validateType(type)&&validateListener(listener)){shouldPrevent=typeSearchRegexp.test(type.toString())&&listenerSearchRegexp.test(listenerToString(listener));}if(shouldPrevent){hit(source);return undefined;}var context=this;if(this&&((_this$constructor=this.constructor)===null||_this$constructor===void 0?void 0:_this$constructor.name)===\"Window\"&&this!==window){context=window;}for(var _len=arguments.length,args=new Array(_len>2?_len-2:0),_key=2;_key<_len;_key++){args[_key-2]=arguments[_key];}return nativeAddEventListener.apply(context,[type,listener,...args]);}var descriptor={configurable:true,set:function set(){},get:function get(){return addEventListenerWrapper;}};Object.defineProperty(window.EventTarget.prototype,\"addEventListener\",descriptor);Object.defineProperty(window,\"addEventListener\",descriptor);Object.defineProperty(document,\"addEventListener\",descriptor);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function validateType(type){return typeof type!==\"undefined\";}function validateListener(listener){return typeof listener!==\"undefined\"&&(typeof listener===\"function\"||typeof listener===\"object\"&&listener!==null&&\"handleEvent\"in listener&&typeof listener.handleEvent===\"function\");}function listenerToString(listener){return typeof listener===\"function\"?listener.toString():listener.handleEvent.toString();}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventAddEventListener.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventAdfly(source,args){function preventAdfly(source){var isDigit=function isDigit(data){return /^\\d$/.test(data);};var handler=function handler(encodedURL){var evenChars=\"\";var oddChars=\"\";for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventAdfly.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventBab(source,args){function preventBab(source){var nativeSetTimeout=window.setTimeout;var babRegex=/\\.bab_elementid.$/;var timeoutWrapper=function timeoutWrapper(callback){if(typeof callback!==\"string\"||!babRegex.test(callback)){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeSetTimeout.apply(window,[callback,...args]);}hit(source);};window.setTimeout=timeoutWrapper;var signatures=[[\"blockadblock\"],[\"babasbm\"],[/getItem\\('babn'\\)/],[\"getElementById\",\"String.fromCharCode\",\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",\"charAt\",\"DOMContentLoaded\",\"AdBlock\",\"addEventListener\",\"doScroll\",\"fromCharCode\",\"<<2|r>>4\",\"sessionStorage\",\"clientWidth\",\"localStorage\",\"Math\",\"random\"]];var check=function check(str){if(typeof str!==\"string\"){return false;}for(var i=0;i=.8){return true;}}return false;};var nativeEval=window.eval;var evalWrapper=function evalWrapper(str){if(!check(str)){return nativeEval(str);}hit(source);var bodyEl=document.body;if(bodyEl){bodyEl.style.removeProperty(\"visibility\");}var el=document.getElementById(\"babasbmsgx\");if(el){el.parentNode.removeChild(el);}};window.eval=evalWrapper.bind(window);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventBab.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventElementSrcLoading(source,args){function preventElementSrcLoading(source,tagName,match){if(typeof Proxy===\"undefined\"||typeof Reflect===\"undefined\"){return;}var srcMockData={script:\"data:text/javascript;base64,KCk9Pnt9\",img:\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",iframe:\"data:text/html;base64, PGRpdj48L2Rpdj4=\",link:\"data:text/plain;base64,\"};var instance;if(tagName===\"script\"){instance=HTMLScriptElement;}else if(tagName===\"img\"){instance=HTMLImageElement;}else if(tagName===\"iframe\"){instance=HTMLIFrameElement;}else if(tagName===\"link\"){instance=HTMLLinkElement;}else {return;}var hasTrustedTypes=window.trustedTypes&&typeof window.trustedTypes.createPolicy===\"function\";var policy;if(hasTrustedTypes){policy=window.trustedTypes.createPolicy(\"AGPolicy\",{createScriptURL:function createScriptURL(arg){return arg;}});}var SOURCE_PROPERTY_NAME=tagName===\"link\"?\"href\":\"src\";var ONERROR_PROPERTY_NAME=\"onerror\";var searchRegexp=toRegExp(match);var setMatchedAttribute=function setMatchedAttribute(elem){return elem.setAttribute(source.name,\"matched\");};var setAttributeWrapper=function setAttributeWrapper(target,thisArg,args){if(!args[0]||!args[1]){return Reflect.apply(target,thisArg,args);}var nodeName=thisArg.nodeName.toLowerCase();var attrName=args[0].toLowerCase();var attrValue=args[1];var isMatched=attrName===SOURCE_PROPERTY_NAME&&tagName.toLowerCase()===nodeName&&srcMockData[nodeName]&&searchRegexp.test(attrValue);if(!isMatched){return Reflect.apply(target,thisArg,args);}hit(source);setMatchedAttribute(thisArg);return Reflect.apply(target,thisArg,[attrName,srcMockData[nodeName]]);};var setAttributeHandler={apply:setAttributeWrapper};instance.prototype.setAttribute=new Proxy(Element.prototype.setAttribute,setAttributeHandler);var origSrcDescriptor=safeGetDescriptor(instance.prototype,SOURCE_PROPERTY_NAME);if(!origSrcDescriptor){return;}Object.defineProperty(instance.prototype,SOURCE_PROPERTY_NAME,{enumerable:true,configurable:true,get(){return origSrcDescriptor.get.call(this);},set(urlValue){var nodeName=this.nodeName.toLowerCase();var isMatched=tagName.toLowerCase()===nodeName&&srcMockData[nodeName]&&searchRegexp.test(urlValue);if(!isMatched){origSrcDescriptor.set.call(this,urlValue);return true;}if(policy&&urlValue instanceof TrustedScriptURL){var trustedSrc=policy.createScriptURL(urlValue);origSrcDescriptor.set.call(this,trustedSrc);hit(source);return;}setMatchedAttribute(this);origSrcDescriptor.set.call(this,srcMockData[nodeName]);hit(source);}});var origOnerrorDescriptor=safeGetDescriptor(HTMLElement.prototype,ONERROR_PROPERTY_NAME);if(!origOnerrorDescriptor){return;}Object.defineProperty(HTMLElement.prototype,ONERROR_PROPERTY_NAME,{enumerable:true,configurable:true,get(){return origOnerrorDescriptor.get.call(this);},set(cb){var isMatched=this.getAttribute(source.name)===\"matched\";if(!isMatched){origOnerrorDescriptor.set.call(this,cb);return true;}origOnerrorDescriptor.set.call(this,noopFunc);return true;}});var addEventListenerWrapper=function addEventListenerWrapper(target,thisArg,args){if(!args[0]||!args[1]||!thisArg){return Reflect.apply(target,thisArg,args);}var eventName=args[0];var isMatched=typeof thisArg.getAttribute===\"function\"&&thisArg.getAttribute(source.name)===\"matched\"&&eventName===\"error\";if(isMatched){return Reflect.apply(target,thisArg,[eventName,noopFunc]);}return Reflect.apply(target,thisArg,args);};var addEventListenerHandler={apply:addEventListenerWrapper};EventTarget.prototype.addEventListener=new Proxy(EventTarget.prototype.addEventListener,addEventListenerHandler);var preventInlineOnerror=function preventInlineOnerror(tagName,src){window.addEventListener(\"error\",function(event){if(!event.target||!event.target.nodeName||event.target.nodeName.toLowerCase()!==tagName||!event.target.src||!src.test(event.target.src)){return;}hit(source);if(typeof event.target.onload===\"function\"){event.target.onerror=event.target.onload;return;}event.target.onerror=noopFunc;},true);};preventInlineOnerror(tagName,searchRegexp);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function safeGetDescriptor(obj,prop){var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(descriptor&&descriptor.configurable){return descriptor;}return null;}function noopFunc(){}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventElementSrcLoading.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventEvalIf(source,args){function preventEvalIf(source,search){var searchRegexp=toRegExp(search);var nativeEval=window.eval;window.eval=function(payload){if(!searchRegexp.test(payload.toString())){return nativeEval.call(window,payload);}hit(source);return undefined;}.bind(window);}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventEvalIf.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventFab(source,args){function preventFab(source){hit(source);var Fab=function Fab(){};Fab.prototype.check=noopFunc;Fab.prototype.clearEvent=noopFunc;Fab.prototype.emitEvent=noopFunc;Fab.prototype.on=function(a,b){if(!a){b();}return this;};Fab.prototype.onDetected=noopThis;Fab.prototype.onNotDetected=function(a){a();return this;};Fab.prototype.setOption=noopFunc;Fab.prototype.options={set:noopFunc,get:noopFunc};var fab=new Fab();var getSetFab={get(){return Fab;},set(){}};var getsetfab={get(){return fab;},set(){}};if(Object.prototype.hasOwnProperty.call(window,\"FuckAdBlock\")){window.FuckAdBlock=Fab;}else {Object.defineProperty(window,\"FuckAdBlock\",getSetFab);}if(Object.prototype.hasOwnProperty.call(window,\"BlockAdBlock\")){window.BlockAdBlock=Fab;}else {Object.defineProperty(window,\"BlockAdBlock\",getSetFab);}if(Object.prototype.hasOwnProperty.call(window,\"SniffAdBlock\")){window.SniffAdBlock=Fab;}else {Object.defineProperty(window,\"SniffAdBlock\",getSetFab);}if(Object.prototype.hasOwnProperty.call(window,\"fuckAdBlock\")){window.fuckAdBlock=fab;}else {Object.defineProperty(window,\"fuckAdBlock\",getsetfab);}if(Object.prototype.hasOwnProperty.call(window,\"blockAdBlock\")){window.blockAdBlock=fab;}else {Object.defineProperty(window,\"blockAdBlock\",getsetfab);}if(Object.prototype.hasOwnProperty.call(window,\"sniffAdBlock\")){window.sniffAdBlock=fab;}else {Object.defineProperty(window,\"sniffAdBlock\",getsetfab);}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function noopThis(){return this;}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventFab.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventFetch(source,args){function preventFetch(source,propsToMatch){var responseBody=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"emptyObj\";var responseType=arguments.length>3?arguments[3]:undefined;if(typeof fetch===\"undefined\"||typeof Proxy===\"undefined\"||typeof Response===\"undefined\"){return;}var nativeRequestClone=Request.prototype.clone;var strResponseBody;if(responseBody===\"\"||responseBody===\"emptyObj\"){strResponseBody=\"{}\";}else if(responseBody===\"emptyArr\"){strResponseBody=\"[]\";}else if(responseBody===\"emptyStr\"){strResponseBody=\"\";}else {logMessage(source,\"Invalid responseBody parameter: '\".concat(responseBody,\"'\"));return;}var isResponseTypeSpecified=typeof responseType!==\"undefined\";var isResponseTypeSupported=function isResponseTypeSupported(responseType){var SUPPORTED_TYPES=[\"basic\",\"cors\",\"opaque\"];return SUPPORTED_TYPES.includes(responseType);};if(isResponseTypeSpecified&&!isResponseTypeSupported(responseType)){logMessage(source,\"Invalid responseType parameter: '\".concat(responseType,\"'\"));return;}var getResponseType=function getResponseType(request){try{var mode=request.mode;if(mode===undefined||mode===\"cors\"||mode===\"no-cors\"){var fetchURL=new URL(request.url);if(fetchURL.origin===document.location.origin){return \"basic\";}return mode===\"no-cors\"?\"opaque\":\"cors\";}}catch(error){logMessage(source,\"Could not determine response type: \".concat(error));}return undefined;};var handlerWrapper=async function handlerWrapper(target,thisArg,args){var shouldPrevent=false;var fetchData=getFetchData(args,nativeRequestClone);if(typeof propsToMatch===\"undefined\"){logMessage(source,\"fetch( \".concat(objectToString(fetchData),\" )\"),true);hit(source);return Reflect.apply(target,thisArg,args);}shouldPrevent=matchRequestProps(source,propsToMatch,fetchData);if(shouldPrevent){hit(source);var finalResponseType;try{finalResponseType=responseType||getResponseType(fetchData);var origResponse=await Reflect.apply(target,thisArg,args);if(!origResponse.ok){return noopPromiseResolve(strResponseBody,fetchData.url,finalResponseType);}return modifyResponse(origResponse,{body:strResponseBody,type:finalResponseType});}catch(ex){return noopPromiseResolve(strResponseBody,fetchData.url,finalResponseType);}}return Reflect.apply(target,thisArg,args);};var fetchHandler={apply:handlerWrapper};fetch=new Proxy(fetch,fetchHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function getFetchData(args,nativeRequestClone){var fetchPropsObj={};var resource=args[0];var fetchUrl;var fetchInit;if(resource instanceof Request){var realData=nativeRequestClone.call(resource);var requestData=getRequestData(realData);fetchUrl=requestData.url;fetchInit=requestData;}else {fetchUrl=resource;fetchInit=args[1];}fetchPropsObj.url=fetchUrl;if(fetchInit instanceof Object){var props=Object.keys(fetchInit);props.forEach(function(prop){fetchPropsObj[prop]=fetchInit[prop];});}return fetchPropsObj;}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function noopPromiseResolve(){var responseBody=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"{}\";var responseUrl=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"\";var responseType=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"basic\";if(typeof Response===\"undefined\"){return;}var response=new Response(responseBody,{status:200,statusText:\"OK\"});if(responseType===\"opaque\"){Object.defineProperties(response,{body:{value:null},status:{value:0},statusText:{value:\"\"},url:{value:\"\"},type:{value:responseType}});}else {Object.defineProperties(response,{url:{value:responseUrl},type:{value:responseType}});}return Promise.resolve(response);}function modifyResponse(origResponse){var _origResponse$headers;var replacement=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{body:\"{}\"};var headers={};origResponse===null||origResponse===void 0?void 0:(_origResponse$headers=origResponse.headers)===null||_origResponse$headers===void 0?void 0:_origResponse$headers.forEach(function(value,key){headers[key]=value;});var modifiedResponse=new Response(replacement.body,{status:origResponse.status,statusText:origResponse.statusText,headers:headers});Object.defineProperties(modifiedResponse,{url:{value:origResponse.url},type:{value:replacement.type||origResponse.type}});return modifiedResponse;}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getRequestData(request){var requestInitOptions=getRequestProps();var entries=requestInitOptions.map(function(key){var value=request[key];return [key,value];});return Object.fromEntries(entries);}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventFetch.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventPopadsNet(source,args){function preventPopadsNet(source){var rid=randomId();var throwError=function throwError(){throw new ReferenceError(rid);};delete window.PopAds;delete window.popns;Object.defineProperties(window,{PopAds:{set:throwError},popns:{set:throwError}});window.onerror=createOnErrorHandler(rid).bind();hit(source);}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function randomId(){return Math.random().toString(36).slice(2,9);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventPopadsNet.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventRefresh(source,args){function preventRefresh(source,delaySec){var getMetaElements=function getMetaElements(){var metaNodes=[];try{metaNodes=document.querySelectorAll('meta[http-equiv=\"refresh\" i][content]');}catch(e){try{metaNodes=document.querySelectorAll('meta[http-equiv=\"refresh\"][content]');}catch(e){logMessage(source,e);}}return Array.from(metaNodes);};var getMetaContentDelay=function getMetaContentDelay(metaElements){var delays=metaElements.map(function(meta){var contentString=meta.getAttribute(\"content\");if(contentString.length===0){return null;}var contentDelay;var limiterIndex=contentString.indexOf(\";\");if(limiterIndex!==-1){var delaySubstring=contentString.substring(0,limiterIndex);contentDelay=getNumberFromString(delaySubstring);}else {contentDelay=getNumberFromString(contentString);}return contentDelay;}).filter(function(delay){return delay!==null;});if(!delays.length){return null;}var minDelay=delays.reduce(function(a,b){return Math.min(a,b);});return minDelay;};var stop=function stop(){var metaElements=getMetaElements();if(metaElements.length===0){return;}var secondsToRun=getNumberFromString(delaySec);if(secondsToRun===null){secondsToRun=getMetaContentDelay(metaElements);}if(secondsToRun===null){return;}var delayMs=secondsToRun*1e3;setTimeout(function(){window.stop();hit(source);},delayMs);};if(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",stop,{once:true});}else {stop();}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function getNumberFromString(rawString){var parsedDelay=parseInt(rawString,10);var validDelay=nativeIsNaN(parsedDelay)?null:parsedDelay;return validDelay;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventRefresh.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventRequestAnimationFrame(source,args){function preventRequestAnimationFrame(source,match){var nativeRequestAnimationFrame=window.requestAnimationFrame;var shouldLog=typeof match===\"undefined\";var _parseMatchArg=parseMatchArg(match),isInvertedMatch=_parseMatchArg.isInvertedMatch,matchRegexp=_parseMatchArg.matchRegexp;var rafWrapper=function rafWrapper(callback){var shouldPrevent=false;if(shouldLog){hit(source);logMessage(source,\"requestAnimationFrame(\".concat(String(callback),\")\"),true);}else if(isValidCallback(callback)&&isValidStrPattern(match)){shouldPrevent=matchRegexp.test(callback.toString())!==isInvertedMatch;}if(shouldPrevent){hit(source);return nativeRequestAnimationFrame(noopFunc);}for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeRequestAnimationFrame.apply(window,[callback,...args]);};window.requestAnimationFrame=rafWrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function parseMatchArg(match){var INVERT_MARKER=\"!\";var isInvertedMatch=match?match===null||match===void 0?void 0:match.startsWith(INVERT_MARKER):false;var matchValue=isInvertedMatch?match.slice(1):match;var matchRegexp=toRegExp(matchValue);return {isInvertedMatch:isInvertedMatch,matchRegexp:matchRegexp,matchValue:matchValue};}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function isValidCallback(callback){return callback instanceof Function||typeof callback===\"string\";}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventRequestAnimationFrame.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventSetInterval(source,args){function preventSetInterval(source,matchCallback,matchDelay){var shouldLog=typeof matchCallback===\"undefined\"&&typeof matchDelay===\"undefined\";var handlerWrapper=function handlerWrapper(target,thisArg,args){var callback=args[0];var delay=args[1];var shouldPrevent=false;if(shouldLog){hit(source);logMessage(source,\"setInterval(\".concat(String(callback),\", \").concat(delay,\")\"),true);}else {shouldPrevent=isPreventionNeeded({callback:callback,delay:delay,matchCallback:matchCallback,matchDelay:matchDelay});}if(shouldPrevent){hit(source);args[0]=noopFunc;}return target.apply(thisArg,args);};var setIntervalHandler={apply:handlerWrapper};window.setInterval=new Proxy(window.setInterval,setIntervalHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function isPreventionNeeded(_ref){var callback=_ref.callback,delay=_ref.delay,matchCallback=_ref.matchCallback,matchDelay=_ref.matchDelay;if(!isValidCallback(callback)){return false;}if(!isValidMatchStr(matchCallback)||matchDelay&&!isValidMatchNumber(matchDelay)){return false;}var _parseMatchArg=parseMatchArg(matchCallback),isInvertedMatch=_parseMatchArg.isInvertedMatch,matchRegexp=_parseMatchArg.matchRegexp;var _parseDelayArg=parseDelayArg(matchDelay),isInvertedDelayMatch=_parseDelayArg.isInvertedDelayMatch,delayMatch=_parseDelayArg.delayMatch;var parsedDelay=parseRawDelay(delay);var shouldPrevent=false;var callbackStr=String(callback);if(delayMatch===null){shouldPrevent=matchRegexp.test(callbackStr)!==isInvertedMatch;}else if(!matchCallback){shouldPrevent=parsedDelay===delayMatch!==isInvertedDelayMatch;}else {shouldPrevent=matchRegexp.test(callbackStr)!==isInvertedMatch&&parsedDelay===delayMatch!==isInvertedDelayMatch;}return shouldPrevent;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function parseMatchArg(match){var INVERT_MARKER=\"!\";var isInvertedMatch=match?match===null||match===void 0?void 0:match.startsWith(INVERT_MARKER):false;var matchValue=isInvertedMatch?match.slice(1):match;var matchRegexp=toRegExp(matchValue);return {isInvertedMatch:isInvertedMatch,matchRegexp:matchRegexp,matchValue:matchValue};}function parseDelayArg(delay){var INVERT_MARKER=\"!\";var isInvertedDelayMatch=delay===null||delay===void 0?void 0:delay.startsWith(INVERT_MARKER);var delayValue=isInvertedDelayMatch?delay.slice(1):delay;var parsedDelay=parseInt(delayValue,10);var delayMatch=nativeIsNaN(parsedDelay)?null:parsedDelay;return {isInvertedDelayMatch:isInvertedDelayMatch,delayMatch:delayMatch};}function isValidCallback(callback){return callback instanceof Function||typeof callback===\"string\";}function isValidMatchStr(match){var INVERT_MARKER=\"!\";var str=match;if(match!==null&&match!==void 0&&match.startsWith(INVERT_MARKER)){str=match.slice(1);}return isValidStrPattern(str);}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function nativeIsFinite(num){var native=Number.isFinite||window.isFinite;return native(num);}function isValidMatchNumber(match){var INVERT_MARKER=\"!\";var str=match;if(match!==null&&match!==void 0&&match.startsWith(INVERT_MARKER)){str=match.slice(1);}var num=parseFloat(str);return !nativeIsNaN(num)&&nativeIsFinite(num);}function parseRawDelay(delay){var parsedDelay=Math.floor(parseInt(delay,10));return typeof parsedDelay===\"number\"&&!nativeIsNaN(parsedDelay)?parsedDelay:delay;}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventSetInterval.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventSetTimeout(source,args){function preventSetTimeout(source,matchCallback,matchDelay){var shouldLog=typeof matchCallback===\"undefined\"&&typeof matchDelay===\"undefined\";var handlerWrapper=function handlerWrapper(target,thisArg,args){var callback=args[0];var delay=args[1];var shouldPrevent=false;if(shouldLog){hit(source);logMessage(source,\"setTimeout(\".concat(String(callback),\", \").concat(delay,\")\"),true);}else {shouldPrevent=isPreventionNeeded({callback:callback,delay:delay,matchCallback:matchCallback,matchDelay:matchDelay});}if(shouldPrevent){hit(source);args[0]=noopFunc;}return target.apply(thisArg,args);};var setTimeoutHandler={apply:handlerWrapper};window.setTimeout=new Proxy(window.setTimeout,setTimeoutHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function noopFunc(){}function isPreventionNeeded(_ref){var callback=_ref.callback,delay=_ref.delay,matchCallback=_ref.matchCallback,matchDelay=_ref.matchDelay;if(!isValidCallback(callback)){return false;}if(!isValidMatchStr(matchCallback)||matchDelay&&!isValidMatchNumber(matchDelay)){return false;}var _parseMatchArg=parseMatchArg(matchCallback),isInvertedMatch=_parseMatchArg.isInvertedMatch,matchRegexp=_parseMatchArg.matchRegexp;var _parseDelayArg=parseDelayArg(matchDelay),isInvertedDelayMatch=_parseDelayArg.isInvertedDelayMatch,delayMatch=_parseDelayArg.delayMatch;var parsedDelay=parseRawDelay(delay);var shouldPrevent=false;var callbackStr=String(callback);if(delayMatch===null){shouldPrevent=matchRegexp.test(callbackStr)!==isInvertedMatch;}else if(!matchCallback){shouldPrevent=parsedDelay===delayMatch!==isInvertedDelayMatch;}else {shouldPrevent=matchRegexp.test(callbackStr)!==isInvertedMatch&&parsedDelay===delayMatch!==isInvertedDelayMatch;}return shouldPrevent;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function parseMatchArg(match){var INVERT_MARKER=\"!\";var isInvertedMatch=match?match===null||match===void 0?void 0:match.startsWith(INVERT_MARKER):false;var matchValue=isInvertedMatch?match.slice(1):match;var matchRegexp=toRegExp(matchValue);return {isInvertedMatch:isInvertedMatch,matchRegexp:matchRegexp,matchValue:matchValue};}function parseDelayArg(delay){var INVERT_MARKER=\"!\";var isInvertedDelayMatch=delay===null||delay===void 0?void 0:delay.startsWith(INVERT_MARKER);var delayValue=isInvertedDelayMatch?delay.slice(1):delay;var parsedDelay=parseInt(delayValue,10);var delayMatch=nativeIsNaN(parsedDelay)?null:parsedDelay;return {isInvertedDelayMatch:isInvertedDelayMatch,delayMatch:delayMatch};}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function isValidCallback(callback){return callback instanceof Function||typeof callback===\"string\";}function isValidMatchStr(match){var INVERT_MARKER=\"!\";var str=match;if(match!==null&&match!==void 0&&match.startsWith(INVERT_MARKER)){str=match.slice(1);}return isValidStrPattern(str);}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function nativeIsFinite(num){var native=Number.isFinite||window.isFinite;return native(num);}function isValidMatchNumber(match){var INVERT_MARKER=\"!\";var str=match;if(match!==null&&match!==void 0&&match.startsWith(INVERT_MARKER)){str=match.slice(1);}var num=parseFloat(str);return !nativeIsNaN(num)&&nativeIsFinite(num);}function parseRawDelay(delay){var parsedDelay=Math.floor(parseInt(delay,10));return typeof parsedDelay===\"number\"&&!nativeIsNaN(parsedDelay)?parsedDelay:delay;}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventSetTimeout.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventWindowOpen(source,args){function preventWindowOpen(source){var match=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"*\";var delay=arguments.length>2?arguments[2]:undefined;var replacement=arguments.length>3?arguments[3]:undefined;var nativeOpen=window.open;var isNewSyntax=match!==\"0\"&&match!==\"1\";var oldOpenWrapper=function oldOpenWrapper(str){match=Number(match)>0;for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}if(!isValidStrPattern(delay)){logMessage(source,\"Invalid parameter: \".concat(delay));return nativeOpen.apply(window,[str,...args]);}var searchRegexp=toRegExp(delay);if(match!==searchRegexp.test(str)){return nativeOpen.apply(window,[str,...args]);}hit(source);return handleOldReplacement(replacement);};var newOpenWrapper=function newOpenWrapper(url){var shouldLog=replacement&&replacement.includes(\"log\");for(var _len2=arguments.length,args=new Array(_len2>1?_len2-1:0),_key2=1;_key2<_len2;_key2++){args[_key2-1]=arguments[_key2];}if(shouldLog){var argsStr=args&&args.length>0?\", \".concat(args.join(\", \")):\"\";var message=\"\".concat(url).concat(argsStr);logMessage(source,message,true);hit(source);}var shouldPrevent=false;if(match===\"*\"){shouldPrevent=true;}else if(isValidMatchStr(match)){var _parseMatchArg=parseMatchArg(match),isInvertedMatch=_parseMatchArg.isInvertedMatch,matchRegexp=_parseMatchArg.matchRegexp;shouldPrevent=matchRegexp.test(url)!==isInvertedMatch;}else {logMessage(source,\"Invalid parameter: \".concat(match));shouldPrevent=false;}if(shouldPrevent){var parsedDelay=parseInt(delay,10);var result;if(nativeIsNaN(parsedDelay)){result=noopNull();}else {var decoyArgs={replacement:replacement,url:url,delay:parsedDelay};var decoy=createDecoy(decoyArgs);var popup=decoy.contentWindow;if(typeof popup===\"object\"&&popup!==null){Object.defineProperty(popup,\"closed\",{value:false});Object.defineProperty(popup,\"opener\",{value:window});Object.defineProperty(popup,\"frameElement\",{value:null});}else {var nativeGetter=decoy.contentWindow&&decoy.contentWindow.get;Object.defineProperty(decoy,\"contentWindow\",{get:getPreventGetter(nativeGetter)});popup=decoy.contentWindow;}result=popup;}hit(source);return result;}return nativeOpen.apply(window,[url,...args]);};window.open=isNewSyntax?newOpenWrapper:oldOpenWrapper;window.open.toString=nativeOpen.toString.bind(nativeOpen);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isValidMatchStr(match){var INVERT_MARKER=\"!\";var str=match;if(match!==null&&match!==void 0&&match.startsWith(INVERT_MARKER)){str=match.slice(1);}return isValidStrPattern(str);}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function parseMatchArg(match){var INVERT_MARKER=\"!\";var isInvertedMatch=match?match===null||match===void 0?void 0:match.startsWith(INVERT_MARKER):false;var matchValue=isInvertedMatch?match.slice(1):match;var matchRegexp=toRegExp(matchValue);return {isInvertedMatch:isInvertedMatch,matchRegexp:matchRegexp,matchValue:matchValue};}function handleOldReplacement(replacement){var result;if(!replacement){result=noopFunc;}else if(replacement===\"trueFunc\"){result=trueFunc;}else if(replacement.includes(\"=\")){var isProp=replacement.startsWith(\"{\")&&replacement.endsWith(\"}\");if(isProp){var propertyPart=replacement.slice(1,-1);var propertyName=substringBefore(propertyPart,\"=\");var propertyValue=substringAfter(propertyPart,\"=\");if(propertyValue===\"noopFunc\"){result={};result[propertyName]=noopFunc;}}}return result;}function createDecoy(args){var UrlPropNameOf=function(UrlPropNameOf){UrlPropNameOf[\"Object\"]=\"data\";UrlPropNameOf[\"Iframe\"]=\"src\";return UrlPropNameOf;}({});var replacement=args.replacement,url=args.url,delay=args.delay;var tag;if(replacement===\"obj\"){tag=\"object\";}else {tag=\"iframe\";}var decoy=document.createElement(tag);if(decoy instanceof HTMLObjectElement){decoy[UrlPropNameOf.Object]=url;}else if(decoy instanceof HTMLIFrameElement){decoy[UrlPropNameOf.Iframe]=url;}decoy.style.setProperty(\"height\",\"1px\",\"important\");decoy.style.setProperty(\"position\",\"fixed\",\"important\");decoy.style.setProperty(\"top\",\"-1px\",\"important\");decoy.style.setProperty(\"width\",\"1px\",\"important\");document.body.appendChild(decoy);setTimeout(function(){return decoy.remove();},delay*1e3);return decoy;}function getPreventGetter(nativeGetter){var preventGetter=function preventGetter(target,prop){if(prop&&prop===\"closed\"){return false;}if(typeof nativeGetter===\"function\"){return noopFunc;}return prop&&target[prop];};return preventGetter;}function noopNull(){return null;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function noopFunc(){}function trueFunc(){return true;}function substringBefore(str,separator){if(!str||!separator){return str;}var index=str.indexOf(separator);return index<0?str:str.substring(0,index);}function substringAfter(str,separator){if(!str){return str;}var index=str.indexOf(separator);return index<0?\"\":str.substring(index+separator.length);}var updatedArgs=args?[].concat(source).concat(args):[source];try{preventWindowOpen.apply(this,updatedArgs);}catch(e){console.log(e);}}function preventXHR(source,args){function preventXHR(source,propsToMatch,customResponseText){if(typeof Proxy===\"undefined\"){return;}var nativeOpen=window.XMLHttpRequest.prototype.open;var nativeSend=window.XMLHttpRequest.prototype.send;var nativeGetResponseHeader=window.XMLHttpRequest.prototype.getResponseHeader;var nativeGetAllResponseHeaders=window.XMLHttpRequest.prototype.getAllResponseHeaders;var xhrData;var modifiedResponse=\"\";var modifiedResponseText=\"\";var openWrapper=function openWrapper(target,thisArg,args){xhrData=getXhrData.apply(null,args);if(typeof propsToMatch===\"undefined\"){logMessage(source,\"xhr( \".concat(objectToString(xhrData),\" )\"),true);hit(source);}else if(matchRequestProps(source,propsToMatch,xhrData)){thisArg.shouldBePrevented=true;thisArg.xhrData=xhrData;}if(thisArg.shouldBePrevented){thisArg.collectedHeaders=[];var setRequestHeaderWrapper=function setRequestHeaderWrapper(target,thisArg,args){thisArg.collectedHeaders.push(args);return Reflect.apply(target,thisArg,args);};var setRequestHeaderHandler={apply:setRequestHeaderWrapper};thisArg.setRequestHeader=new Proxy(thisArg.setRequestHeader,setRequestHeaderHandler);}return Reflect.apply(target,thisArg,args);};var sendWrapper=function sendWrapper(target,thisArg,args){if(!thisArg.shouldBePrevented){return Reflect.apply(target,thisArg,args);}if(thisArg.responseType===\"blob\"){modifiedResponse=new Blob();}if(thisArg.responseType===\"arraybuffer\"){modifiedResponse=new ArrayBuffer();}if(customResponseText){var randomText=generateRandomResponse(customResponseText);if(randomText){modifiedResponseText=randomText;}else {logMessage(source,\"Invalid randomize parameter: '\".concat(customResponseText,\"'\"));}}var forgedRequest=new XMLHttpRequest();forgedRequest.addEventListener(\"readystatechange\",function(){if(forgedRequest.readyState!==4){return;}var readyState=forgedRequest.readyState,responseURL=forgedRequest.responseURL,responseXML=forgedRequest.responseXML,statusText=forgedRequest.statusText;Object.defineProperties(thisArg,{readyState:{value:readyState,writable:false},statusText:{value:statusText,writable:false},responseURL:{value:responseURL||thisArg.xhrData.url,writable:false},responseXML:{value:responseXML,writable:false},status:{value:200,writable:false},response:{value:modifiedResponse,writable:false},responseText:{value:modifiedResponseText,writable:false}});setTimeout(function(){var stateEvent=new Event(\"readystatechange\");thisArg.dispatchEvent(stateEvent);var loadEvent=new Event(\"load\");thisArg.dispatchEvent(loadEvent);var loadEndEvent=new Event(\"loadend\");thisArg.dispatchEvent(loadEndEvent);},1);hit(source);});nativeOpen.apply(forgedRequest,[thisArg.xhrData.method,thisArg.xhrData.url]);thisArg.collectedHeaders.forEach(function(header){var name=header[0];var value=header[1];forgedRequest.setRequestHeader(name,value);});try{nativeSend.call(forgedRequest,args);}catch(_unused){return Reflect.apply(target,thisArg,args);}return undefined;};var getHeaderWrapper=function getHeaderWrapper(target,thisArg,args){if(!thisArg.shouldBePrevented){return nativeGetResponseHeader.apply(thisArg,args);}if(!thisArg.collectedHeaders.length){return null;}var searchHeaderName=args[0].toLowerCase();var matchedHeader=thisArg.collectedHeaders.find(function(header){var headerName=header[0].toLowerCase();return headerName===searchHeaderName;});return matchedHeader?matchedHeader[1]:null;};var getAllHeadersWrapper=function getAllHeadersWrapper(target,thisArg){if(!thisArg.shouldBePrevented){return nativeGetAllResponseHeaders.call(thisArg);}if(!thisArg.collectedHeaders.length){return \"\";}var allHeadersStr=thisArg.collectedHeaders.map(function(header){var headerName=header[0];var headerValue=header[1];return \"\".concat(headerName.toLowerCase(),\": \").concat(headerValue);}).join(\"\\r\\n\");return allHeadersStr;};var openHandler={apply:openWrapper};var sendHandler={apply:sendWrapper};var getHeaderHandler={apply:getHeaderWrapper};var getAllHeadersHandler={apply:getAllHeadersWrapper};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,openHandler);XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,sendHandler);XMLHttpRequest.prototype.getResponseHeader=new Proxy(XMLHttpRequest.prototype.getResponseHeader,getHeaderHandler);XMLHttpRequest.prototype.getAllResponseHeaders=new Proxy(XMLHttpRequest.prototype.getAllResponseHeaders,getAllHeadersHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function generateRandomResponse(customResponseText){var customResponse=customResponseText;if(customResponse===\"true\"){customResponse=Math.random().toString(36).slice(-10);return customResponse;}customResponse=customResponse.replace(\"length:\",\"\");var rangeRegex=/^\\d+-\\d+$/;if(!rangeRegex.test(customResponse)){return null;}var rangeMin=getNumberFromString(customResponse.split(\"-\")[0]);var rangeMax=getNumberFromString(customResponse.split(\"-\")[1]);if(!nativeIsFinite(rangeMin)||!nativeIsFinite(rangeMax)){return null;}if(rangeMin>rangeMax){var temp=rangeMin;rangeMin=rangeMax;rangeMax=temp;}var LENGTH_RANGE_LIMIT=500*1e3;if(rangeMax>LENGTH_RANGE_LIMIT){return null;}var length=getRandomIntInclusive(rangeMin,rangeMax);customResponse=getRandomStrByLength(length);return customResponse;}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function getXhrData(method,url,async,user,password){return {method:method,url:url,async:async,user:user,password:password};}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getNumberFromString(rawString){var parsedDelay=parseInt(rawString,10);var validDelay=nativeIsNaN(parsedDelay)?null:parsedDelay;return validDelay;}function nativeIsFinite(num){var native=Number.isFinite||window.isFinite;return native(num);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function getRandomIntInclusive(min,max){min=Math.ceil(min);max=Math.floor(max);return Math.floor(Math.random()*(max-min+1)+min);}function getRandomStrByLength(length){var result=\"\";var characters=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()_+=~\";var charactersLength=characters.length;for(var i=0;i3&&arguments[3]!==undefined?arguments[3]:\"asap stay\";if(!attrs){return;}attrs=attrs.split(/\\s*\\|\\s*/);if(!selector){selector=\"[\".concat(attrs.join(\"],[\"),\"]\");}var rmattr=function rmattr(){var nodes=[];try{nodes=[].slice.call(document.querySelectorAll(selector));}catch(e){logMessage(source,\"Invalid selector arg: '\".concat(selector,\"'\"));}var removed=false;nodes.forEach(function(node){attrs.forEach(function(attr){node.removeAttribute(attr);removed=true;});});if(removed){hit(source);}};var flags=parseFlags(applying);var run=function run(){rmattr();if(!flags.hasFlag(flags.STAY)){return;}observeDOMChanges(rmattr,true);};if(flags.hasFlag(flags.ASAP)){if(document.readyState===\"loading\"){window.addEventListener(\"DOMContentLoaded\",rmattr,{once:true});}else {rmattr();}}if(document.readyState!==\"complete\"&&flags.hasFlag(flags.COMPLETE)){window.addEventListener(\"load\",run,{once:true});}else if(flags.hasFlag(flags.STAY)){if(!applying.includes(\" \")){rmattr();}observeDOMChanges(rmattr,true);}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function parseFlags(flags){var FLAGS_DIVIDER=\" \";var ASAP_FLAG=\"asap\";var COMPLETE_FLAG=\"complete\";var STAY_FLAG=\"stay\";var VALID_FLAGS=[STAY_FLAG,ASAP_FLAG,COMPLETE_FLAG];var passedFlags=flags.trim().split(FLAGS_DIVIDER).filter(function(f){return VALID_FLAGS.includes(f);});return {ASAP:ASAP_FLAG,COMPLETE:COMPLETE_FLAG,STAY:STAY_FLAG,hasFlag(flag){return passedFlags.includes(flag);}};}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}var updatedArgs=args?[].concat(source).concat(args):[source];try{removeAttr.apply(this,updatedArgs);}catch(e){console.log(e);}}function removeClass(source,args){function removeClass(source,classNames,selector){var applying=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"asap stay\";if(!classNames){return;}classNames=classNames.split(/\\s*\\|\\s*/);var selectors=[];if(!selector){selectors=classNames.map(function(className){return \".\".concat(className);});}var removeClassHandler=function removeClassHandler(){var nodes=new Set();if(selector){var foundNodes=[];try{foundNodes=[].slice.call(document.querySelectorAll(selector));}catch(e){logMessage(source,\"Invalid selector arg: '\".concat(selector,\"'\"));}foundNodes.forEach(function(n){return nodes.add(n);});}else if(selectors.length>0){selectors.forEach(function(s){var elements=document.querySelectorAll(s);for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function parseFlags(flags){var FLAGS_DIVIDER=\" \";var ASAP_FLAG=\"asap\";var COMPLETE_FLAG=\"complete\";var STAY_FLAG=\"stay\";var VALID_FLAGS=[STAY_FLAG,ASAP_FLAG,COMPLETE_FLAG];var passedFlags=flags.trim().split(FLAGS_DIVIDER).filter(function(f){return VALID_FLAGS.includes(f);});return {ASAP:ASAP_FLAG,COMPLETE:COMPLETE_FLAG,STAY:STAY_FLAG,hasFlag(flag){return passedFlags.includes(flag);}};}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}var updatedArgs=args?[].concat(source).concat(args):[source];try{removeClass.apply(this,updatedArgs);}catch(e){console.log(e);}}function removeCookie(source,args){function removeCookie(source,match){var matchRegexp=toRegExp(match);var removeCookieFromHost=function removeCookieFromHost(cookieName,hostName){var cookieSpec=\"\".concat(cookieName,\"=\");var domain1=\"; domain=\".concat(hostName);var domain2=\"; domain=.\".concat(hostName);var path=\"; path=/\";var expiration=\"; expires=Thu, 01 Jan 1970 00:00:00 GMT\";document.cookie=cookieSpec+expiration;document.cookie=cookieSpec+domain1+expiration;document.cookie=cookieSpec+domain2+expiration;document.cookie=cookieSpec+path+expiration;document.cookie=cookieSpec+domain1+path+expiration;document.cookie=cookieSpec+domain2+path+expiration;hit(source);};var rmCookie=function rmCookie(){document.cookie.split(\";\").forEach(function(cookieStr){var pos=cookieStr.indexOf(\"=\");if(pos===-1){return;}var cookieName=cookieStr.slice(0,pos).trim();if(!matchRegexp.test(cookieName)){return;}var hostParts=document.location.hostname.split(\".\");for(var i=0;i<=hostParts.length-1;i+=1){var hostName=hostParts.slice(i).join(\".\");if(hostName){removeCookieFromHost(cookieName,hostName);}}});};rmCookie();window.addEventListener(\"beforeunload\",rmCookie);}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{removeCookie.apply(this,updatedArgs);}catch(e){console.log(e);}}function removeInShadowDom(source,args){function removeInShadowDom(source,selector,baseSelector){if(!Element.prototype.attachShadow){return;}var removeElement=function removeElement(targetElement){targetElement.remove();};var removeHandler=function removeHandler(){var hostElements=!baseSelector?findHostElements(document.documentElement):document.querySelectorAll(baseSelector);var _loop=function _loop(){var isRemoved=false;var _pierceShadowDom=pierceShadowDom(selector,hostElements),targets=_pierceShadowDom.targets,innerHosts=_pierceShadowDom.innerHosts;targets.forEach(function(targetEl){removeElement(targetEl);isRemoved=true;});if(isRemoved){hit(source);}hostElements=innerHosts;};while(hostElements.length!==0){_loop();}};removeHandler();observeDOMChanges(removeHandler,true);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function findHostElements(rootElement){var hosts=[];if(rootElement){var domElems=rootElement.querySelectorAll(\"*\");domElems.forEach(function(el){if(el.shadowRoot){hosts.push(el);}});}return hosts;}function pierceShadowDom(selector,hostElements){var targets=[];var innerHostsAcc=[];hostElements.forEach(function(host){var simpleElems=host.querySelectorAll(selector);targets=targets.concat([].slice.call(simpleElems));var shadowRootElem=host.shadowRoot;var shadowChildren=shadowRootElem.querySelectorAll(selector);targets=targets.concat([].slice.call(shadowChildren));innerHostsAcc.push(findHostElements(shadowRootElem));});var innerHosts=flatten(innerHostsAcc);return {targets:targets,innerHosts:innerHosts};}function flatten(input){var stack=[];input.forEach(function(el){return stack.push(el);});var res=[];while(stack.length){var next=stack.pop();if(Array.isArray(next)){next.forEach(function(el){return stack.push(el);});}else {res.push(next);}}return res.reverse();}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}var updatedArgs=args?[].concat(source).concat(args):[source];try{removeInShadowDom.apply(this,updatedArgs);}catch(e){console.log(e);}}function removeNodeText(source,args){function removeNodeText(source,nodeName,textMatch){var _parseNodeTextParams=parseNodeTextParams(nodeName,textMatch),selector=_parseNodeTextParams.selector,nodeNameMatch=_parseNodeTextParams.nodeNameMatch,textContentMatch=_parseNodeTextParams.textContentMatch;var handleNodes=function handleNodes(nodes){return nodes.forEach(function(node){var shouldReplace=isTargetNode(node,nodeNameMatch,textContentMatch);if(shouldReplace){var ALL_TEXT_PATTERN=/^[\\s\\S]*$/;var REPLACEMENT=\"\";replaceNodeText(source,node,ALL_TEXT_PATTERN,REPLACEMENT);}});};if(document.documentElement){handleExistingNodes(selector,handleNodes);}observeDocumentWithTimeout(function(mutations){return handleMutations(mutations,handleNodes);});}function observeDocumentWithTimeout(callback){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{subtree:true,childList:true};var timeout=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1e4;var documentObserver=new MutationObserver(function(mutations,observer){observer.disconnect();callback(mutations,observer);observer.observe(document.documentElement,options);});documentObserver.observe(document.documentElement,options);if(typeof timeout===\"number\"){setTimeout(function(){return documentObserver.disconnect();},timeout);}}function handleExistingNodes(selector,handler){var nodeList=document.querySelectorAll(selector);var nodes=nodeListToArray(nodeList);handler(nodes);}function handleMutations(mutations,handler){var addedNodes=getAddedNodes(mutations);handler(addedNodes);}function replaceNodeText(source,node,pattern,replacement){var textContent=node.textContent;if(textContent){node.textContent=textContent.replace(pattern,replacement);hit(source);}}function isTargetNode(node,nodeNameMatch,textContentMatch){var nodeName=node.nodeName,textContent=node.textContent;var nodeNameLowerCase=nodeName.toLowerCase();return textContent!==null&&textContent!==\"\"&&(nodeNameMatch instanceof RegExp?nodeNameMatch.test(nodeNameLowerCase):nodeNameMatch===nodeNameLowerCase)&&(textContentMatch instanceof RegExp?textContentMatch.test(textContent):textContent.includes(textContentMatch));}function parseNodeTextParams(nodeName,textMatch){var pattern=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var REGEXP_START_MARKER=\"/\";var isStringNameMatch=!(nodeName.startsWith(REGEXP_START_MARKER)&&nodeName.endsWith(REGEXP_START_MARKER));var selector=isStringNameMatch?nodeName:\"*\";var nodeNameMatch=isStringNameMatch?nodeName:toRegExp(nodeName);var textContentMatch=!textMatch.startsWith(REGEXP_START_MARKER)?textMatch:toRegExp(textMatch);var patternMatch;if(pattern){patternMatch=!pattern.startsWith(REGEXP_START_MARKER)?pattern:toRegExp(pattern);}return {selector:selector,nodeNameMatch:nodeNameMatch,textContentMatch:textContentMatch,patternMatch:patternMatch};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function nodeListToArray(nodeList){var nodes=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}var updatedArgs=args?[].concat(source).concat(args):[source];try{removeNodeText.apply(this,updatedArgs);}catch(e){console.log(e);}}function setAttr(source,args){function setAttr(source,selector,attr){var value=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";if(!selector||!attr){return;}var allowedValues=[\"true\",\"false\"];var shouldCopyValue=value.startsWith(\"[\")&&value.endsWith(\"]\");var isValidValue=value.length===0||!nativeIsNaN(parseInt(value,10))&&parseInt(value,10)>0&&parseInt(value,10)<32767||allowedValues.includes(value.toLowerCase());if(!shouldCopyValue&&!isValidValue){logMessage(source,\"Invalid attribute value provided: '\".concat(convertTypeToString(value),\"'\"));return;}var attributeHandler;if(shouldCopyValue){attributeHandler=function attributeHandler(elem,attr,value){var valueToCopy=elem.getAttribute(value.slice(1,-1));if(valueToCopy===null){logMessage(source,\"No element attribute found to copy value from: \".concat(value));}elem.setAttribute(attr,valueToCopy);};}setAttributeBySelector(source,selector,attr,value,attributeHandler);observeDOMChanges(function(){return setAttributeBySelector(source,selector,attr,value,attributeHandler);},true);}function setAttributeBySelector(source,selector,attribute,value){var attributeSetter=arguments.length>4&&arguments[4]!==undefined?arguments[4]:defaultAttributeSetter;var elements;try{elements=document.querySelectorAll(selector);}catch(_unused){logMessage(source,'Failed to find elements matching selector \"'.concat(selector,'\"'));return;}if(!elements||elements.length===0){return;}try{elements.forEach(function(elem){return attributeSetter(elem,attribute,value);});hit(source);}catch(_unused2){logMessage(source,\"Failed to set [\".concat(attribute,'=\"').concat(value,'\"] to each of selected elements.'));}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function convertTypeToString(value){var output;if(typeof value===\"undefined\"){output=\"undefined\";}else if(typeof value===\"object\"){if(value===null){output=\"null\";}else {output=objectToString(value);}}else {output=String(value);}return output;}function defaultAttributeSetter(elem,attribute,value){return elem.setAttribute(attribute,value);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{setAttr.apply(this,updatedArgs);}catch(e){console.log(e);}}function setConstant(source,args){function setConstant(source,property,value){var stack=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var valueWrapper=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";var setProxyTrap=arguments.length>5&&arguments[5]!==undefined?arguments[5]:false;var uboAliases=[\"set-constant.js\",\"ubo-set-constant.js\",\"set.js\",\"ubo-set.js\",\"ubo-set-constant\",\"ubo-set\"];if(uboAliases.includes(source.name)){if(stack.length!==1&&!getNumberFromString(stack)){valueWrapper=stack;}stack=undefined;}if(!property||!matchStackTrace(stack,new Error().stack)){return;}var isProxyTrapSet=false;var emptyArr=noopArray();var emptyObj=noopObject();var constantValue;if(value===\"undefined\"){constantValue=undefined;}else if(value===\"false\"){constantValue=false;}else if(value===\"true\"){constantValue=true;}else if(value===\"null\"){constantValue=null;}else if(value===\"emptyArr\"){constantValue=emptyArr;}else if(value===\"emptyObj\"){constantValue=emptyObj;}else if(value===\"noopFunc\"){constantValue=noopFunc;}else if(value===\"noopCallbackFunc\"){constantValue=noopCallbackFunc;}else if(value===\"trueFunc\"){constantValue=trueFunc;}else if(value===\"falseFunc\"){constantValue=falseFunc;}else if(value===\"throwFunc\"){constantValue=throwFunc;}else if(value===\"noopPromiseResolve\"){constantValue=noopPromiseResolve;}else if(value===\"noopPromiseReject\"){constantValue=noopPromiseReject;}else if(/^\\d+$/.test(value)){constantValue=parseFloat(value);if(nativeIsNaN(constantValue)){return;}if(Math.abs(constantValue)>32767){return;}}else if(value===\"-1\"){constantValue=-1;}else if(value===\"\"){constantValue=\"\";}else if(value===\"yes\"){constantValue=\"yes\";}else if(value===\"no\"){constantValue=\"no\";}else {return;}var valueWrapperNames=[\"asFunction\",\"asCallback\",\"asResolved\",\"asRejected\"];if(valueWrapperNames.includes(valueWrapper)){var valueWrappersMap={asFunction(v){return function(){return v;};},asCallback(v){return function(){return function(){return v;};};},asResolved(v){return Promise.resolve(v);},asRejected(v){return Promise.reject(v);}};constantValue=valueWrappersMap[valueWrapper](constantValue);}var canceled=false;var mustCancel=function mustCancel(value){if(canceled){return canceled;}canceled=value!==undefined&&constantValue!==undefined&&typeof value!==typeof constantValue&&value!==null;return canceled;};var trapProp=function trapProp(base,prop,configurable,handler){if(!handler.init(base[prop])){return false;}var origDescriptor=Object.getOwnPropertyDescriptor(base,prop);var prevSetter;if(origDescriptor instanceof Object){if(!origDescriptor.configurable){var message=\"Property '\".concat(prop,\"' is not configurable\");logMessage(source,message);return false;}if(base[prop]){base[prop]=constantValue;}if(origDescriptor.set instanceof Function){prevSetter=origDescriptor.set;}}Object.defineProperty(base,prop,{configurable:configurable,get(){return handler.get();},set(a){if(prevSetter!==undefined){prevSetter(a);}if(a instanceof Object){var propertiesToCheck=property.split(\".\").slice(1);if(setProxyTrap&&!isProxyTrapSet){isProxyTrapSet=true;a=new Proxy(a,{get:function get(target,propertyKey,val){propertiesToCheck.reduce(function(object,currentProp,index,array){var currentObj=object===null||object===void 0?void 0:object[currentProp];if(index===array.length-1&¤tObj!==constantValue){object[currentProp]=constantValue;}return currentObj||object;},target);return Reflect.get(target,propertyKey,val);}});}}handler.set(a);}});return true;};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;var inChainPropHandler={factValue:undefined,init(a){this.factValue=a;return true;},get(){return this.factValue;},set(a){if(this.factValue===a){return;}this.factValue=a;if(a instanceof Object){setChainPropAccess(a,chain);}}};var endPropHandler={init(a){if(mustCancel(a)){return false;}return true;},get(){return constantValue;},set(a){if(!mustCancel(a)){return;}constantValue=a;}};if(!chain){var isTrapped=trapProp(base,prop,false,endPropHandler);if(isTrapped){hit(source);}return;}if(base!==undefined&&base[prop]===null){trapProp(base,prop,true,inChainPropHandler);return;}if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){trapProp(base,prop,true,inChainPropHandler);}var propValue=owner[prop];if(propValue instanceof Object||typeof propValue===\"object\"&&propValue!==null){setChainPropAccess(propValue,chain);}trapProp(base,prop,true,inChainPropHandler);};setChainPropAccess(window,property);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getNumberFromString(rawString){var parsedDelay=parseInt(rawString,10);var validDelay=nativeIsNaN(parsedDelay)?null:parsedDelay;return validDelay;}function noopArray(){return [];}function noopObject(){return {};}function noopFunc(){}function noopCallbackFunc(){return noopFunc;}function trueFunc(){return true;}function falseFunc(){return false;}function throwFunc(){throw new Error();}function noopPromiseReject(){return Promise.reject();}function noopPromiseResolve(){var responseBody=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"{}\";var responseUrl=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"\";var responseType=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"basic\";if(typeof Response===\"undefined\"){return;}var response=new Response(responseBody,{status:200,statusText:\"OK\"});if(responseType===\"opaque\"){Object.defineProperties(response,{body:{value:null},status:{value:0},statusText:{value:\"\"},url:{value:\"\"},type:{value:responseType}});}else {Object.defineProperties(response,{url:{value:responseUrl},type:{value:responseType}});}return Promise.resolve(response);}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}var updatedArgs=args?[].concat(source).concat(args):[source];try{setConstant.apply(this,updatedArgs);}catch(e){console.log(e);}}function setCookie(source,args){function setCookie(source,name,value){var path=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"/\";var domain=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";var validValue=getLimitedCookieValue(value);if(validValue===null){logMessage(source,\"Invalid cookie value: '\".concat(validValue,\"'\"));return;}if(!isValidCookiePath(path)){logMessage(source,\"Invalid cookie path: '\".concat(path,\"'\"));return;}if(!document.location.origin.includes(domain)){logMessage(source,\"Cookie domain not matched by origin: '\".concat(domain,\"'\"));return;}var cookieToSet=serializeCookie(name,validValue,path,domain);if(!cookieToSet){logMessage(source,\"Invalid cookie name or value\");return;}hit(source);document.cookie=cookieToSet;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function getLimitedCookieValue(value){if(!value){return null;}var allowedCookieValues=new Set([\"true\",\"t\",\"false\",\"f\",\"yes\",\"y\",\"no\",\"n\",\"ok\",\"on\",\"off\",\"accept\",\"accepted\",\"notaccepted\",\"reject\",\"rejected\",\"allow\",\"allowed\",\"disallow\",\"deny\",\"enable\",\"enabled\",\"disable\",\"disabled\",\"necessary\",\"required\"]);var validValue;if(allowedCookieValues.has(value.toLowerCase())){validValue=value;}else if(/^\\d+$/.test(value)){validValue=parseFloat(value);if(nativeIsNaN(validValue)){return null;}if(Math.abs(validValue)<0||Math.abs(validValue)>32767){return null;}}else {return null;}return validValue;}function serializeCookie(name,rawValue,rawPath){var domainValue=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var shouldEncodeValue=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var COOKIE_BREAKER=\";\";if(!shouldEncodeValue&&\"\".concat(rawValue).includes(COOKIE_BREAKER)||name.includes(COOKIE_BREAKER)){return null;}var value=shouldEncodeValue?encodeURIComponent(rawValue):rawValue;var resultCookie=\"\".concat(name,\"=\").concat(value);var path=getCookiePath(rawPath);if(path){resultCookie+=\"; \".concat(path);}if(domainValue){resultCookie+=\"; domain=\".concat(domainValue);}return resultCookie;}function isValidCookiePath(rawPath){return rawPath===\"/\"||rawPath===\"none\";}function getCookiePath(rawPath){if(rawPath===\"/\"){return \"path=/\";}return \"\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{setCookie.apply(this,updatedArgs);}catch(e){console.log(e);}}function setCookieReload(source,args){function setCookieReload(source,name,value){var path=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"/\";var domain=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";if(isCookieSetWithValue(document.cookie,name,value)){return;}var validValue=getLimitedCookieValue(value);if(validValue===null){logMessage(source,\"Invalid cookie value: '\".concat(value,\"'\"));return;}if(!isValidCookiePath(path)){logMessage(source,\"Invalid cookie path: '\".concat(path,\"'\"));return;}if(!document.location.origin.includes(domain)){logMessage(source,\"Cookie domain not matched by origin: '\".concat(domain,\"'\"));return;}var cookieToSet=serializeCookie(name,validValue,path,domain);if(!cookieToSet){logMessage(source,\"Invalid cookie name or value\");return;}document.cookie=cookieToSet;hit(source);if(isCookieSetWithValue(document.cookie,name,value)){window.location.reload();}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function isCookieSetWithValue(cookieString,name,value){return cookieString.split(\";\").some(function(cookieStr){var pos=cookieStr.indexOf(\"=\");if(pos===-1){return false;}var cookieName=cookieStr.slice(0,pos).trim();var cookieValue=cookieStr.slice(pos+1).trim();return name===cookieName&&value===cookieValue;});}function getLimitedCookieValue(value){if(!value){return null;}var allowedCookieValues=new Set([\"true\",\"t\",\"false\",\"f\",\"yes\",\"y\",\"no\",\"n\",\"ok\",\"on\",\"off\",\"accept\",\"accepted\",\"notaccepted\",\"reject\",\"rejected\",\"allow\",\"allowed\",\"disallow\",\"deny\",\"enable\",\"enabled\",\"disable\",\"disabled\",\"necessary\",\"required\"]);var validValue;if(allowedCookieValues.has(value.toLowerCase())){validValue=value;}else if(/^\\d+$/.test(value)){validValue=parseFloat(value);if(nativeIsNaN(validValue)){return null;}if(Math.abs(validValue)<0||Math.abs(validValue)>32767){return null;}}else {return null;}return validValue;}function serializeCookie(name,rawValue,rawPath){var domainValue=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var shouldEncodeValue=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var COOKIE_BREAKER=\";\";if(!shouldEncodeValue&&\"\".concat(rawValue).includes(COOKIE_BREAKER)||name.includes(COOKIE_BREAKER)){return null;}var value=shouldEncodeValue?encodeURIComponent(rawValue):rawValue;var resultCookie=\"\".concat(name,\"=\").concat(value);var path=getCookiePath(rawPath);if(path){resultCookie+=\"; \".concat(path);}if(domainValue){resultCookie+=\"; domain=\".concat(domainValue);}return resultCookie;}function isValidCookiePath(rawPath){return rawPath===\"/\"||rawPath===\"none\";}function getCookiePath(rawPath){if(rawPath===\"/\"){return \"path=/\";}return \"\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{setCookieReload.apply(this,updatedArgs);}catch(e){console.log(e);}}function setLocalStorageItem(source,args){function setLocalStorageItem(source,key,value){if(typeof key===\"undefined\"){logMessage(source,\"Item key should be specified.\");return;}var validValue;try{validValue=getLimitedStorageItemValue(value);}catch(_unused){logMessage(source,\"Invalid storage item value: '\".concat(value,\"'\"));return;}var _window=window,localStorage=_window.localStorage;if(validValue===\"$remove$\"){removeStorageItem(source,localStorage,key);}else {setStorageItem(source,localStorage,key,validValue);}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function setStorageItem(source,storage,key,value){try{storage.setItem(key,value);}catch(e){var message=\"Unable to set sessionStorage item due to: \".concat(e.message);logMessage(source,message);}}function removeStorageItem(source,storage,key){try{if(key.startsWith(\"/\")&&(key.endsWith(\"/\")||key.endsWith(\"/i\"))&&isValidStrPattern(key)){var regExpKey=toRegExp(key);var storageKeys=Object.keys(storage);storageKeys.forEach(function(storageKey){if(regExpKey.test(storageKey)){storage.removeItem(storageKey);}});}else {storage.removeItem(key);}}catch(e){var message=\"Unable to remove storage item due to: \".concat(e.message);logMessage(source,message);}}function getLimitedStorageItemValue(value){if(typeof value!==\"string\"){throw new Error(\"Invalid value\");}var allowedStorageValues=new Set([\"undefined\",\"false\",\"true\",\"null\",\"\",\"yes\",\"no\",\"on\",\"off\"]);var validValue;if(allowedStorageValues.has(value.toLowerCase())){validValue=value;}else if(value===\"emptyArr\"){validValue=\"[]\";}else if(value===\"emptyObj\"){validValue=\"{}\";}else if(/^\\d+$/.test(value)){validValue=parseFloat(value);if(nativeIsNaN(validValue)){throw new Error(\"Invalid value\");}if(Math.abs(validValue)>32767){throw new Error(\"Invalid value\");}}else if(value===\"$remove$\"){validValue=\"$remove$\";}else {throw new Error(\"Invalid value\");}return validValue;}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}var updatedArgs=args?[].concat(source).concat(args):[source];try{setLocalStorageItem.apply(this,updatedArgs);}catch(e){console.log(e);}}function setPopadsDummy(source,args){function setPopadsDummy(source){delete window.PopAds;delete window.popns;Object.defineProperties(window,{PopAds:{get:function get(){hit(source);return {};}},popns:{get:function get(){hit(source);return {};}}});}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{setPopadsDummy.apply(this,updatedArgs);}catch(e){console.log(e);}}function setSessionStorageItem(source,args){function setSessionStorageItem(source,key,value){if(typeof key===\"undefined\"){logMessage(source,\"Item key should be specified.\");return;}var validValue;try{validValue=getLimitedStorageItemValue(value);}catch(_unused){logMessage(source,\"Invalid storage item value: '\".concat(value,\"'\"));return;}var _window=window,sessionStorage=_window.sessionStorage;if(validValue===\"$remove$\"){removeStorageItem(source,sessionStorage,key);}else {setStorageItem(source,sessionStorage,key,validValue);}hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function setStorageItem(source,storage,key,value){try{storage.setItem(key,value);}catch(e){var message=\"Unable to set sessionStorage item due to: \".concat(e.message);logMessage(source,message);}}function removeStorageItem(source,storage,key){try{if(key.startsWith(\"/\")&&(key.endsWith(\"/\")||key.endsWith(\"/i\"))&&isValidStrPattern(key)){var regExpKey=toRegExp(key);var storageKeys=Object.keys(storage);storageKeys.forEach(function(storageKey){if(regExpKey.test(storageKey)){storage.removeItem(storageKey);}});}else {storage.removeItem(key);}}catch(e){var message=\"Unable to remove storage item due to: \".concat(e.message);logMessage(source,message);}}function getLimitedStorageItemValue(value){if(typeof value!==\"string\"){throw new Error(\"Invalid value\");}var allowedStorageValues=new Set([\"undefined\",\"false\",\"true\",\"null\",\"\",\"yes\",\"no\",\"on\",\"off\"]);var validValue;if(allowedStorageValues.has(value.toLowerCase())){validValue=value;}else if(value===\"emptyArr\"){validValue=\"[]\";}else if(value===\"emptyObj\"){validValue=\"{}\";}else if(/^\\d+$/.test(value)){validValue=parseFloat(value);if(nativeIsNaN(validValue)){throw new Error(\"Invalid value\");}if(Math.abs(validValue)>32767){throw new Error(\"Invalid value\");}}else if(value===\"$remove$\"){validValue=\"$remove$\";}else {throw new Error(\"Invalid value\");}return validValue;}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}var updatedArgs=args?[].concat(source).concat(args):[source];try{setSessionStorageItem.apply(this,updatedArgs);}catch(e){console.log(e);}}function spoofCSS(source,args){function spoofCSS(source,selectors,cssPropertyName,cssPropertyValue){if(!selectors){return;}var uboAliases=[\"spoof-css.js\",\"ubo-spoof-css.js\",\"ubo-spoof-css\"];function convertToCamelCase(cssProperty){if(!cssProperty.includes(\"-\")){return cssProperty;}var splittedProperty=cssProperty.split(\"-\");var firstPart=splittedProperty[0];var secondPart=splittedProperty[1];return \"\".concat(firstPart).concat(secondPart[0].toUpperCase()).concat(secondPart.slice(1));}var shouldDebug=!!(cssPropertyName===\"debug\"&&cssPropertyValue);var propToValueMap=new Map();if(uboAliases.includes(source.name)){var args=source.args;var arrayOfProperties=[];var isDebug=args.at(-2);if(isDebug===\"debug\"){arrayOfProperties=args.slice(1,-2);}else {arrayOfProperties=args.slice(1);}for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:\"\";var delay=arguments.length>3&&arguments[3]!==undefined?arguments[3]:NaN;if(!selectors){return;}var OBSERVER_TIMEOUT_MS=1e4;var THROTTLE_DELAY_MS=20;var STATIC_CLICK_DELAY_MS=150;var COOKIE_MATCH_MARKER=\"cookie:\";var LOCAL_STORAGE_MATCH_MARKER=\"localStorage:\";var SELECTORS_DELIMITER=\",\";var COOKIE_STRING_DELIMITER=\";\";var EXTRA_MATCH_DELIMITER=/(,\\s*){1}(?=!?cookie:|!?localStorage:)/;var sleep=function sleep(delayMs){return new Promise(function(resolve){return setTimeout(resolve,delayMs);});};var parsedDelay;if(delay){parsedDelay=parseInt(delay,10);var isValidDelay=!Number.isNaN(parsedDelay)||parsedDelay0){var parsedCookieMatches=parseCookieString(cookieMatches.join(COOKIE_STRING_DELIMITER));var parsedCookies=parseCookieString(document.cookie);var cookieKeys=Object.keys(parsedCookies);if(cookieKeys.length===0){return;}var cookiesMatched=Object.keys(parsedCookieMatches).every(function(key){var valueMatch=parsedCookieMatches[key]?toRegExp(parsedCookieMatches[key]):null;var keyMatch=toRegExp(key);return cookieKeys.some(function(key){var keysMatched=keyMatch.test(key);if(!keysMatched){return false;}if(!valueMatch){return true;}return valueMatch.test(parsedCookies[key]);});});var shouldRun=cookiesMatched!==isInvertedMatchCookie;if(!shouldRun){return;}}if(localStorageMatches.length>0){var localStorageMatched=localStorageMatches.every(function(str){var itemValue=window.localStorage.getItem(str);return itemValue||itemValue===\"\";});var _shouldRun=localStorageMatched!==isInvertedMatchLocalStorage;if(!_shouldRun){return;}}var selectorsSequence=selectors.split(SELECTORS_DELIMITER).map(function(selector){return selector.trim();});var createElementObj=function createElementObj(element){return {element:element||null,clicked:false};};var elementsSequence=Array(selectorsSequence.length).fill(createElementObj());var clickElementsBySequence=async function clickElementsBySequence(){for(var i=0;i=1){await sleep(STATIC_CLICK_DELAY_MS);}if(!elementObj.element){break;}if(!elementObj.clicked){elementObj.element.click();elementObj.clicked=true;}}var allElementsClicked=elementsSequence.every(function(elementObj){return elementObj.clicked===true;});if(allElementsClicked){hit(source);}};var handleElement=function handleElement(element,i){var elementObj=createElementObj(element);elementsSequence[i]=elementObj;if(canClick){clickElementsBySequence();}};var findElements=function findElements(mutations,observer){var fulfilledSelectors=[];selectorsSequence.forEach(function(selector,i){if(!selector){return;}var element=queryShadowSelector(selector);if(!element){return;}handleElement(element,i);fulfilledSelectors.push(selector);});selectorsSequence=selectorsSequence.map(function(selector){return fulfilledSelectors.includes(selector)?null:selector;});var allSelectorsFulfilled=selectorsSequence.every(function(selector){return selector===null;});if(allSelectorsFulfilled){observer.disconnect();}};var observer=new MutationObserver(throttle(findElements,THROTTLE_DELAY_MS));observer.observe(document.documentElement,{attributes:true,childList:true,subtree:true});if(parsedDelay){setTimeout(function(){clickElementsBySequence();canClick=true;},parsedDelay);}setTimeout(function(){return observer.disconnect();},OBSERVER_TIMEOUT_MS);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function parseCookieString(cookieString){var COOKIE_DELIMITER=\"=\";var COOKIE_PAIRS_DELIMITER=\";\";var cookieChunks=cookieString.split(COOKIE_PAIRS_DELIMITER);var cookieData={};cookieChunks.forEach(function(singleCookie){var cookieKey;var cookieValue=\"\";var delimiterIndex=singleCookie.indexOf(COOKIE_DELIMITER);if(delimiterIndex===-1){cookieKey=singleCookie.trim();}else {cookieKey=singleCookie.slice(0,delimiterIndex).trim();cookieValue=singleCookie.slice(delimiterIndex+1);}cookieData[cookieKey]=cookieValue||null;});return cookieData;}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function parseMatchArg(match){var INVERT_MARKER=\"!\";var isInvertedMatch=match?match===null||match===void 0?void 0:match.startsWith(INVERT_MARKER):false;var matchValue=isInvertedMatch?match.slice(1):match;var matchRegexp=toRegExp(matchValue);return {isInvertedMatch:isInvertedMatch,matchRegexp:matchRegexp,matchValue:matchValue};}function queryShadowSelector(selector){var context=arguments.length>1&&arguments[1]!==undefined?arguments[1]:document.documentElement;var SHADOW_COMBINATOR=\" >>> \";var pos=selector.indexOf(SHADOW_COMBINATOR);if(pos===-1){return context.querySelector(selector);}var shadowHostSelector=selector.slice(0,pos).trim();var elem=context.querySelector(shadowHostSelector);if(!elem||!elem.shadowRoot){return null;}var shadowRootSelector=selector.slice(pos+SHADOW_COMBINATOR.length).trim();return queryShadowSelector(shadowRootSelector,elem.shadowRoot);}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedClickElement.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedCreateElement(source,args){function trustedCreateElement(source,parentSelector,tagName){var attributePairs=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var textContent=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";var cleanupDelayMs=arguments.length>5&&arguments[5]!==undefined?arguments[5]:NaN;if(!parentSelector||!tagName){return;}var IFRAME_WINDOW_NAME=\"trusted-create-element-window\";if(window.name===IFRAME_WINDOW_NAME){return;}var logError=function logError(prefix,error){logMessage(source,\"\".concat(prefix,\" due to \").concat(getErrorMessage(error)));};var element;try{element=document.createElement(tagName);element.textContent=textContent;}catch(e){logError(\"Cannot create element with tag name '\".concat(tagName,\"'\"),e);return;}var attributes=[];try{attributes=parseAttributePairs(attributePairs);}catch(e){logError(\"Cannot parse attributePairs param: '\".concat(attributePairs,\"'\"),e);return;}attributes.forEach(function(attr){try{element.setAttribute(attr.name,attr.value);}catch(e){logError(\"Cannot set attribute '\".concat(attr.name,\"' with value '\").concat(attr.value,\"'\"),e);}});var timerId;var findParentAndAppendEl=function findParentAndAppendEl(parentElSelector,el,removeElDelayMs){var parentEl;try{parentEl=document.querySelector(parentElSelector);}catch(e){logError(\"Cannot find parent element by selector '\".concat(parentElSelector,\"'\"),e);return false;}if(!parentEl){logMessage(source,\"No parent element found by selector: '\".concat(parentElSelector,\"'\"));return false;}try{parentEl.append(el);if(el instanceof HTMLIFrameElement&&el.contentWindow){el.contentWindow.name=IFRAME_WINDOW_NAME;}hit(source);}catch(e){logError(\"Cannot append child to parent by selector '\".concat(parentElSelector,\"'\"),e);return false;}if(!nativeIsNaN(removeElDelayMs)){timerId=setTimeout(function(){el.remove();clearTimeout(timerId);},removeElDelayMs);}return true;};if(!findParentAndAppendEl(parentSelector,element,cleanupDelayMs)){observeDocumentWithTimeout(function(mutations,observer){if(findParentAndAppendEl(parentSelector,element,cleanupDelayMs)){observer.disconnect();}});}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function observeDocumentWithTimeout(callback){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{subtree:true,childList:true};var timeout=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1e4;var documentObserver=new MutationObserver(function(mutations,observer){observer.disconnect();callback(mutations,observer);observer.observe(document.documentElement,options);});documentObserver.observe(document.documentElement,options);if(typeof timeout===\"number\"){setTimeout(function(){return documentObserver.disconnect();},timeout);}}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function parseAttributePairs(input){if(!input){return [];}var NAME_VALUE_SEPARATOR=\"=\";var PAIRS_SEPARATOR=\" \";var SINGLE_QUOTE=\"'\";var DOUBLE_QUOTE='\"';var BACKSLASH=\"\\\\\";var pairs=[];for(var i=0;i4&&arguments[4]!==undefined?arguments[4]:\"\";if(!functionName){return;}var nativeObjects={nativeStringify:window.JSON.stringify};var _getPropertyInChain=getPropertyInChain(window,functionName),base=_getPropertyInChain.base,prop=_getPropertyInChain.prop;if(!base||!prop||typeof base[prop]!==\"function\"){var message=\"\".concat(functionName,\" is not a function\");logMessage(source,message);return;}var prunePaths=getPrunePath(propsToRemove);var requiredPaths=getPrunePath(requiredInitialProps);var objectWrapper=function objectWrapper(target,thisArg,args){var data=args[0];if(typeof data===\"object\"){data=jsonPruner(source,data,prunePaths,requiredPaths,stack,nativeObjects);args[0]=data;}return Reflect.apply(target,thisArg,args);};var objectHandler={apply:objectWrapper};base[prop]=new Proxy(base[prop],objectHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function getWildcardPropertyInChain(base,chain){var lookThrough=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var output=arguments.length>3&&arguments[3]!==undefined?arguments[3]:[];var pos=chain.indexOf(\".\");if(pos===-1){if(chain===\"*\"||chain===\"[]\"){for(var key in base){if(Object.prototype.hasOwnProperty.call(base,key)){output.push({base:base,prop:key});}}}else {output.push({base:base,prop:chain});}return output;}var prop=chain.slice(0,pos);var shouldLookThrough=prop===\"[]\"&&Array.isArray(base)||prop===\"*\"&&base instanceof Object;if(shouldLookThrough){var nextProp=chain.slice(pos+1);var baseKeys=Object.keys(base);baseKeys.forEach(function(key){var item=base[key];getWildcardPropertyInChain(item,nextProp,lookThrough,output);});}if(Array.isArray(base)){base.forEach(function(key){var nextBase=key;if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}});}var nextBase=base[prop];chain=chain.slice(pos+1);if(nextBase!==undefined){getWildcardPropertyInChain(nextBase,chain,lookThrough,output);}return output;}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isPruningNeeded(source,root,prunePaths,requiredPaths,stack,nativeObjects){if(!root){return false;}var nativeStringify=nativeObjects.nativeStringify;var shouldProcess;if(prunePaths.length===0&&requiredPaths.length>0){var rootString=nativeStringify(root);var matchRegex=toRegExp(requiredPaths.join(\"\"));var shouldLog=matchRegex.test(rootString);if(shouldLog){logMessage(source,\"\".concat(window.location.hostname,\"\\n\").concat(nativeStringify(root,null,2),\"\\nStack trace:\\n\").concat(new Error().stack),true);if(root&&typeof root===\"object\"){logMessage(source,root,true,false);}shouldProcess=false;return shouldProcess;}}if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){shouldProcess=false;return shouldProcess;}var wildcardSymbols=[\".*.\",\"*.\",\".*\",\".[].\",\"[].\",\".[]\"];var _loop=function _loop(){var requiredPath=requiredPaths[i];var lastNestedPropName=requiredPath.split(\".\").pop();var hasWildcard=wildcardSymbols.some(function(symbol){return requiredPath.includes(symbol);});var details=getWildcardPropertyInChain(root,requiredPath,hasWildcard);if(!details.length){shouldProcess=false;return {v:shouldProcess};}shouldProcess=!hasWildcard;for(var j=0;j0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function getNativeRegexpTest(){var descriptor=Object.getOwnPropertyDescriptor(RegExp.prototype,\"test\");var nativeRegexTest=descriptor===null||descriptor===void 0?void 0:descriptor.value;if(descriptor&&typeof descriptor.value===\"function\"){return nativeRegexTest;}throw new Error(\"RegExp.prototype.test is not a function\");}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index1&&arguments[1]!==undefined?arguments[1]:\"\";var replacement=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"\";var propsToMatch=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";if(typeof fetch===\"undefined\"||typeof Proxy===\"undefined\"||typeof Response===\"undefined\"){return;}if(pattern===\"\"&&replacement!==\"\"){logMessage(source,\"Pattern argument should not be empty string\");return;}var shouldLog=pattern===\"\"&&replacement===\"\";var nativeRequestClone=Request.prototype.clone;var nativeFetch=fetch;var shouldReplace=false;var fetchData;var handlerWrapper=function handlerWrapper(target,thisArg,args){fetchData=getFetchData(args,nativeRequestClone);if(shouldLog){logMessage(source,\"fetch( \".concat(objectToString(fetchData),\" )\"),true);hit(source);return Reflect.apply(target,thisArg,args);}shouldReplace=matchRequestProps(source,propsToMatch,fetchData);if(!shouldReplace){return Reflect.apply(target,thisArg,args);}return nativeFetch.apply(null,args).then(function(response){return response.text().then(function(bodyText){var patternRegexp=pattern===\"*\"?/(\\n|.)*/:toRegExp(pattern);var modifiedTextContent=bodyText.replace(patternRegexp,replacement);var forgedResponse=forgeResponse(response,modifiedTextContent);hit(source);return forgedResponse;}).catch(function(){var fetchDataStr=objectToString(fetchData);var message=\"Response body can't be converted to text: \".concat(fetchDataStr);logMessage(source,message);return Reflect.apply(target,thisArg,args);});}).catch(function(){return Reflect.apply(target,thisArg,args);});};var fetchHandler={apply:handlerWrapper};fetch=new Proxy(fetch,fetchHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getFetchData(args,nativeRequestClone){var fetchPropsObj={};var resource=args[0];var fetchUrl;var fetchInit;if(resource instanceof Request){var realData=nativeRequestClone.call(resource);var requestData=getRequestData(realData);fetchUrl=requestData.url;fetchInit=requestData;}else {fetchUrl=resource;fetchInit=args[1];}fetchPropsObj.url=fetchUrl;if(fetchInit instanceof Object){var props=Object.keys(fetchInit);props.forEach(function(prop){fetchPropsObj[prop]=fetchInit[prop];});}return fetchPropsObj;}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function forgeResponse(response,textContent){var bodyUsed=response.bodyUsed,headers=response.headers,ok=response.ok,redirected=response.redirected,status=response.status,statusText=response.statusText,type=response.type,url=response.url;var forgedResponse=new Response(textContent,{status:status,statusText:statusText,headers:headers});Object.defineProperties(forgedResponse,{url:{value:url},type:{value:type},ok:{value:ok},bodyUsed:{value:bodyUsed},redirected:{value:redirected}});return forgedResponse;}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getRequestData(request){var requestInitOptions=getRequestProps();var entries=requestInitOptions.map(function(key){var value=request[key];return [key,value];});return Object.fromEntries(entries);}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedReplaceFetchResponse.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedReplaceNodeText(source,args){function trustedReplaceNodeText(source,nodeName,textMatch,pattern,replacement){var uboAliases=[\"replace-node-text.js\",\"rpnt.js\",\"sed.js\"];if(uboAliases.includes(source.name)){replacement=pattern;pattern=textMatch;for(var _len=arguments.length,extraArgs=new Array(_len>5?_len-5:0),_key=5;_key<_len;_key++){extraArgs[_key-5]=arguments[_key];}for(var i=0;i1&&arguments[1]!==undefined?arguments[1]:{subtree:true,childList:true};var timeout=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1e4;var documentObserver=new MutationObserver(function(mutations,observer){observer.disconnect();callback(mutations,observer);observer.observe(document.documentElement,options);});documentObserver.observe(document.documentElement,options);if(typeof timeout===\"number\"){setTimeout(function(){return documentObserver.disconnect();},timeout);}}function handleExistingNodes(selector,handler){var nodeList=document.querySelectorAll(selector);var nodes=nodeListToArray(nodeList);handler(nodes);}function handleMutations(mutations,handler){var addedNodes=getAddedNodes(mutations);handler(addedNodes);}function replaceNodeText(source,node,pattern,replacement){var textContent=node.textContent;if(textContent){node.textContent=textContent.replace(pattern,replacement);hit(source);}}function isTargetNode(node,nodeNameMatch,textContentMatch){var nodeName=node.nodeName,textContent=node.textContent;var nodeNameLowerCase=nodeName.toLowerCase();return textContent!==null&&textContent!==\"\"&&(nodeNameMatch instanceof RegExp?nodeNameMatch.test(nodeNameLowerCase):nodeNameMatch===nodeNameLowerCase)&&(textContentMatch instanceof RegExp?textContentMatch.test(textContent):textContent.includes(textContentMatch));}function parseNodeTextParams(nodeName,textMatch){var pattern=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var REGEXP_START_MARKER=\"/\";var isStringNameMatch=!(nodeName.startsWith(REGEXP_START_MARKER)&&nodeName.endsWith(REGEXP_START_MARKER));var selector=isStringNameMatch?nodeName:\"*\";var nodeNameMatch=isStringNameMatch?nodeName:toRegExp(nodeName);var textContentMatch=!textMatch.startsWith(REGEXP_START_MARKER)?textMatch:toRegExp(textMatch);var patternMatch;if(pattern){patternMatch=!pattern.startsWith(REGEXP_START_MARKER)?pattern:toRegExp(pattern);}return {selector:selector,nodeNameMatch:nodeNameMatch,textContentMatch:textContentMatch,patternMatch:patternMatch};}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function nodeListToArray(nodeList){var nodes=[];for(var i=0;i0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedReplaceNodeText.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedReplaceXhrResponse(source,args){function trustedReplaceXhrResponse(source){var pattern=arguments.length>1&&arguments[1]!==undefined?arguments[1]:\"\";var replacement=arguments.length>2&&arguments[2]!==undefined?arguments[2]:\"\";var propsToMatch=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";if(typeof Proxy===\"undefined\"){return;}if(pattern===\"\"&&replacement!==\"\"){var message=\"Pattern argument should not be empty string.\";logMessage(source,message);return;}var shouldLog=pattern===\"\"&&replacement===\"\";var nativeOpen=window.XMLHttpRequest.prototype.open;var nativeSend=window.XMLHttpRequest.prototype.send;var xhrData;var openWrapper=function openWrapper(target,thisArg,args){xhrData=getXhrData.apply(null,args);if(shouldLog){var _message=\"xhr( \".concat(objectToString(xhrData),\" )\");logMessage(source,_message,true);hit(source);return Reflect.apply(target,thisArg,args);}if(matchRequestProps(source,propsToMatch,xhrData)){thisArg.shouldBePrevented=true;thisArg.headersReceived=!!thisArg.headersReceived;}if(thisArg.shouldBePrevented&&!thisArg.headersReceived){thisArg.headersReceived=true;thisArg.collectedHeaders=[];var setRequestHeaderWrapper=function setRequestHeaderWrapper(target,thisArg,args){thisArg.collectedHeaders.push(args);return Reflect.apply(target,thisArg,args);};var setRequestHeaderHandler={apply:setRequestHeaderWrapper};thisArg.setRequestHeader=new Proxy(thisArg.setRequestHeader,setRequestHeaderHandler);}return Reflect.apply(target,thisArg,args);};var sendWrapper=function sendWrapper(target,thisArg,args){if(!thisArg.shouldBePrevented){return Reflect.apply(target,thisArg,args);}var forgedRequest=new XMLHttpRequest();forgedRequest.addEventListener(\"readystatechange\",function(){if(forgedRequest.readyState!==4){return;}var readyState=forgedRequest.readyState,response=forgedRequest.response,responseText=forgedRequest.responseText,responseURL=forgedRequest.responseURL,responseXML=forgedRequest.responseXML,status=forgedRequest.status,statusText=forgedRequest.statusText;var content=responseText||response;if(typeof content!==\"string\"){return;}var patternRegexp=pattern===\"*\"?/(\\n|.)*/:toRegExp(pattern);var modifiedContent=content.replace(patternRegexp,replacement);Object.defineProperties(thisArg,{readyState:{value:readyState,writable:false},responseURL:{value:responseURL,writable:false},responseXML:{value:responseXML,writable:false},status:{value:status,writable:false},statusText:{value:statusText,writable:false},response:{value:modifiedContent,writable:false},responseText:{value:modifiedContent,writable:false}});setTimeout(function(){var stateEvent=new Event(\"readystatechange\");thisArg.dispatchEvent(stateEvent);var loadEvent=new Event(\"load\");thisArg.dispatchEvent(loadEvent);var loadEndEvent=new Event(\"loadend\");thisArg.dispatchEvent(loadEndEvent);},1);hit(source);});nativeOpen.apply(forgedRequest,[xhrData.method,xhrData.url]);thisArg.collectedHeaders.forEach(function(header){var name=header[0];var value=header[1];forgedRequest.setRequestHeader(name,value);});thisArg.collectedHeaders=[];try{nativeSend.call(forgedRequest,args);}catch(_unused){return Reflect.apply(target,thisArg,args);}return undefined;};var openHandler={apply:openWrapper};var sendHandler={apply:sendWrapper};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,openHandler);XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,sendHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function objectToString(obj){if(!obj||typeof obj!==\"object\"){return String(obj);}if(isEmptyObject(obj)){return \"{}\";}return Object.entries(obj).map(function(pair){var key=pair[0];var value=pair[1];var recordValueStr=value;if(value instanceof Object){recordValueStr=\"{ \".concat(objectToString(value),\" }\");}return \"\".concat(key,':\"').concat(recordValueStr,'\"');}).join(\" \");}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function getXhrData(method,url,async,user,password){return {method:method,url:url,async:async,user:user,password:password};}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedReplaceXhrResponse.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedSetAttr(source,args){function trustedSetAttr(source,selector,attr){var value=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";if(!selector||!attr){return;}setAttributeBySelector(source,selector,attr,value);observeDOMChanges(function(){return setAttributeBySelector(source,selector,attr,value);},true);}function setAttributeBySelector(source,selector,attribute,value){var attributeSetter=arguments.length>4&&arguments[4]!==undefined?arguments[4]:defaultAttributeSetter;var elements;try{elements=document.querySelectorAll(selector);}catch(_unused){logMessage(source,'Failed to find elements matching selector \"'.concat(selector,'\"'));return;}if(!elements||elements.length===0){return;}try{elements.forEach(function(elem){return attributeSetter(elem,attribute,value);});hit(source);}catch(_unused2){logMessage(source,\"Failed to set [\".concat(attribute,'=\"').concat(value,'\"] to each of selected elements.'));}}function observeDOMChanges(callback){var observeAttrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var attrsToObserve=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var THROTTLE_DELAY_MS=20;var observer=new MutationObserver(throttle(callbackWrapper,THROTTLE_DELAY_MS));var connect=function connect(){if(attrsToObserve.length>0){observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs,attributeFilter:attrsToObserve});}else {observer.observe(document.documentElement,{childList:true,subtree:true,attributes:observeAttrs});}};var disconnect=function disconnect(){observer.disconnect();};function callbackWrapper(){disconnect();callback();connect();}connect();}function defaultAttributeSetter(elem,attribute,value){return elem.setAttribute(attribute,value);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function throttle(cb,delay){var wait=false;var savedArgs;var wrapper=function wrapper(){for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}if(wait){savedArgs=args;return;}cb(...args);wait=true;setTimeout(function(){wait=false;if(savedArgs){wrapper(...savedArgs);savedArgs=null;}},delay);};return wrapper;}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedSetAttr.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedSetConstant(source,args){function trustedSetConstant(source,property,value,stack){if(!property||!matchStackTrace(stack,new Error().stack)){return;}var constantValue;try{constantValue=inferValue(value);}catch(e){logMessage(source,e);return;}var canceled=false;var mustCancel=function mustCancel(value){if(canceled){return canceled;}canceled=value!==undefined&&constantValue!==undefined&&typeof value!==typeof constantValue&&value!==null;return canceled;};var trapProp=function trapProp(base,prop,configurable,handler){if(!handler.init(base[prop])){return false;}var origDescriptor=Object.getOwnPropertyDescriptor(base,prop);var prevSetter;if(origDescriptor instanceof Object){if(!origDescriptor.configurable){var message=\"Property '\".concat(prop,\"' is not configurable\");logMessage(source,message);return false;}base[prop]=constantValue;if(origDescriptor.set instanceof Function){prevSetter=origDescriptor.set;}}Object.defineProperty(base,prop,{configurable:configurable,get(){return handler.get();},set(a){if(prevSetter!==undefined){prevSetter(a);}handler.set(a);}});return true;};var setChainPropAccess=function setChainPropAccess(owner,property){var chainInfo=getPropertyInChain(owner,property);var base=chainInfo.base;var prop=chainInfo.prop,chain=chainInfo.chain;var inChainPropHandler={factValue:undefined,init(a){this.factValue=a;return true;},get(){return this.factValue;},set(a){if(this.factValue===a){return;}this.factValue=a;if(a instanceof Object){setChainPropAccess(a,chain);}}};var endPropHandler={init(a){if(mustCancel(a)){return false;}return true;},get(){return constantValue;},set(a){if(!mustCancel(a)){return;}constantValue=a;}};if(!chain){var isTrapped=trapProp(base,prop,false,endPropHandler);if(isTrapped){hit(source);}return;}if(base!==undefined&&base[prop]===null){trapProp(base,prop,true,inChainPropHandler);return;}if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){trapProp(base,prop,true,inChainPropHandler);}var propValue=owner[prop];if(propValue instanceof Object||typeof propValue===\"object\"&&propValue!==null){setChainPropAccess(propValue,chain);}trapProp(base,prop,true,inChainPropHandler);};setChainPropAccess(window,property);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function inferValue(value){if(value===\"undefined\"){return undefined;}if(value===\"false\"){return false;}if(value===\"true\"){return true;}if(value===\"null\"){return null;}if(value===\"NaN\"){return NaN;}if(value.startsWith(\"/\")&&value.endsWith(\"/\")){return toRegExp(value);}var MAX_ALLOWED_NUM=32767;var numVal=Number(value);if(!nativeIsNaN(numVal)){if(Math.abs(numVal)>MAX_ALLOWED_NUM){throw new Error(\"number values bigger than 32767 are not allowed\");}return numVal;}var errorMessage=\"'\".concat(value,\"' value type can't be inferred\");try{var parsableVal=JSON.parse(value);if(parsableVal instanceof Object||typeof parsableVal===\"string\"){return parsableVal;}}catch(e){errorMessage+=\": \".concat(e);}throw new TypeError(errorMessage);}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function getNativeRegexpTest(){var descriptor=Object.getOwnPropertyDescriptor(RegExp.prototype,\"test\");var nativeRegexTest=descriptor===null||descriptor===void 0?void 0:descriptor.value;if(descriptor&&typeof descriptor.value===\"function\"){return nativeRegexTest;}throw new Error(\"RegExp.prototype.test is not a function\");}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index3&&arguments[3]!==undefined?arguments[3]:\"\";var path=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"/\";var domain=arguments.length>5&&arguments[5]!==undefined?arguments[5]:\"\";if(typeof name===\"undefined\"){logMessage(source,\"Cookie name should be specified\");return;}if(typeof value===\"undefined\"){logMessage(source,\"Cookie value should be specified\");return;}var parsedValue=parseKeywordValue(value);if(!isValidCookiePath(path)){logMessage(source,\"Invalid cookie path: '\".concat(path,\"'\"));return;}if(!document.location.origin.includes(domain)){logMessage(source,\"Cookie domain not matched by origin: '\".concat(domain,\"'\"));return;}var cookieToSet=serializeCookie(name,parsedValue,path,domain,false);if(!cookieToSet){logMessage(source,\"Invalid cookie name or value\");return;}if(offsetExpiresSec){var parsedOffsetMs=getTrustedCookieOffsetMs(offsetExpiresSec);if(!parsedOffsetMs){logMessage(source,\"Invalid offsetExpiresSec value: \".concat(offsetExpiresSec));return;}var expires=Date.now()+parsedOffsetMs;cookieToSet+=\"; expires=\".concat(new Date(expires).toUTCString());}document.cookie=cookieToSet;hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function serializeCookie(name,rawValue,rawPath){var domainValue=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var shouldEncodeValue=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var COOKIE_BREAKER=\";\";if(!shouldEncodeValue&&\"\".concat(rawValue).includes(COOKIE_BREAKER)||name.includes(COOKIE_BREAKER)){return null;}var value=shouldEncodeValue?encodeURIComponent(rawValue):rawValue;var resultCookie=\"\".concat(name,\"=\").concat(value);var path=getCookiePath(rawPath);if(path){resultCookie+=\"; \".concat(path);}if(domainValue){resultCookie+=\"; domain=\".concat(domainValue);}return resultCookie;}function isValidCookiePath(rawPath){return rawPath===\"/\"||rawPath===\"none\";}function getTrustedCookieOffsetMs(offsetExpiresSec){var ONE_YEAR_EXPIRATION_KEYWORD=\"1year\";var ONE_DAY_EXPIRATION_KEYWORD=\"1day\";var MS_IN_SEC=1e3;var SECONDS_IN_YEAR=365*24*60*60;var SECONDS_IN_DAY=24*60*60;var parsedSec;if(offsetExpiresSec===ONE_YEAR_EXPIRATION_KEYWORD){parsedSec=SECONDS_IN_YEAR;}else if(offsetExpiresSec===ONE_DAY_EXPIRATION_KEYWORD){parsedSec=SECONDS_IN_DAY;}else {parsedSec=Number.parseInt(offsetExpiresSec,10);if(Number.isNaN(parsedSec)){return null;}}return parsedSec*MS_IN_SEC;}function parseKeywordValue(rawValue){var NOW_VALUE_KEYWORD=\"$now$\";var CURRENT_DATE_KEYWORD=\"$currentDate$\";var parsedValue=rawValue;if(rawValue===NOW_VALUE_KEYWORD){parsedValue=Date.now().toString();}else if(rawValue===CURRENT_DATE_KEYWORD){parsedValue=Date();}return parsedValue;}function getCookiePath(rawPath){if(rawPath===\"/\"){return \"path=/\";}return \"\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedSetCookie.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedSetCookieReload(source,args){function trustedSetCookieReload(source,name,value){var offsetExpiresSec=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var path=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"/\";var domain=arguments.length>5&&arguments[5]!==undefined?arguments[5]:\"\";if(typeof name===\"undefined\"){logMessage(source,\"Cookie name should be specified\");return;}if(typeof value===\"undefined\"){logMessage(source,\"Cookie value should be specified\");return;}if(isCookieSetWithValue(document.cookie,name,value)){return;}var parsedValue=parseKeywordValue(value);if(!isValidCookiePath(path)){logMessage(source,\"Invalid cookie path: '\".concat(path,\"'\"));return;}if(!document.location.origin.includes(domain)){logMessage(source,\"Cookie domain not matched by origin: '\".concat(domain,\"'\"));return;}var cookieToSet=serializeCookie(name,parsedValue,path,domain,false);if(!cookieToSet){logMessage(source,\"Invalid cookie name or value\");return;}if(offsetExpiresSec){var parsedOffsetMs=getTrustedCookieOffsetMs(offsetExpiresSec);if(!parsedOffsetMs){logMessage(source,\"Invalid offsetExpiresSec value: \".concat(offsetExpiresSec));return;}var expires=Date.now()+parsedOffsetMs;cookieToSet+=\"; expires=\".concat(new Date(expires).toUTCString());}document.cookie=cookieToSet;hit(source);var cookieValueToCheck=parseCookieString(document.cookie)[name];if(isCookieSetWithValue(document.cookie,name,cookieValueToCheck)){window.location.reload();}}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function isCookieSetWithValue(cookieString,name,value){return cookieString.split(\";\").some(function(cookieStr){var pos=cookieStr.indexOf(\"=\");if(pos===-1){return false;}var cookieName=cookieStr.slice(0,pos).trim();var cookieValue=cookieStr.slice(pos+1).trim();return name===cookieName&&value===cookieValue;});}function serializeCookie(name,rawValue,rawPath){var domainValue=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";var shouldEncodeValue=arguments.length>4&&arguments[4]!==undefined?arguments[4]:true;var COOKIE_BREAKER=\";\";if(!shouldEncodeValue&&\"\".concat(rawValue).includes(COOKIE_BREAKER)||name.includes(COOKIE_BREAKER)){return null;}var value=shouldEncodeValue?encodeURIComponent(rawValue):rawValue;var resultCookie=\"\".concat(name,\"=\").concat(value);var path=getCookiePath(rawPath);if(path){resultCookie+=\"; \".concat(path);}if(domainValue){resultCookie+=\"; domain=\".concat(domainValue);}return resultCookie;}function isValidCookiePath(rawPath){return rawPath===\"/\"||rawPath===\"none\";}function getTrustedCookieOffsetMs(offsetExpiresSec){var ONE_YEAR_EXPIRATION_KEYWORD=\"1year\";var ONE_DAY_EXPIRATION_KEYWORD=\"1day\";var MS_IN_SEC=1e3;var SECONDS_IN_YEAR=365*24*60*60;var SECONDS_IN_DAY=24*60*60;var parsedSec;if(offsetExpiresSec===ONE_YEAR_EXPIRATION_KEYWORD){parsedSec=SECONDS_IN_YEAR;}else if(offsetExpiresSec===ONE_DAY_EXPIRATION_KEYWORD){parsedSec=SECONDS_IN_DAY;}else {parsedSec=Number.parseInt(offsetExpiresSec,10);if(Number.isNaN(parsedSec)){return null;}}return parsedSec*MS_IN_SEC;}function parseKeywordValue(rawValue){var NOW_VALUE_KEYWORD=\"$now$\";var CURRENT_DATE_KEYWORD=\"$currentDate$\";var parsedValue=rawValue;if(rawValue===NOW_VALUE_KEYWORD){parsedValue=Date.now().toString();}else if(rawValue===CURRENT_DATE_KEYWORD){parsedValue=Date();}return parsedValue;}function parseCookieString(cookieString){var COOKIE_DELIMITER=\"=\";var COOKIE_PAIRS_DELIMITER=\";\";var cookieChunks=cookieString.split(COOKIE_PAIRS_DELIMITER);var cookieData={};cookieChunks.forEach(function(singleCookie){var cookieKey;var cookieValue=\"\";var delimiterIndex=singleCookie.indexOf(COOKIE_DELIMITER);if(delimiterIndex===-1){cookieKey=singleCookie.trim();}else {cookieKey=singleCookie.slice(0,delimiterIndex).trim();cookieValue=singleCookie.slice(delimiterIndex+1);}cookieData[cookieKey]=cookieValue||null;});return cookieData;}function getCookiePath(rawPath){if(rawPath===\"/\"){return \"path=/\";}return \"\";}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedSetCookieReload.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedSetLocalStorageItem(source,args){function trustedSetLocalStorageItem(source,key,value){if(typeof key===\"undefined\"){logMessage(source,\"Item key should be specified\");return;}if(typeof value===\"undefined\"){logMessage(source,\"Item value should be specified\");return;}var parsedValue=parseKeywordValue(value);var _window=window,localStorage=_window.localStorage;setStorageItem(source,localStorage,key,parsedValue);hit(source);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function setStorageItem(source,storage,key,value){try{storage.setItem(key,value);}catch(e){var message=\"Unable to set sessionStorage item due to: \".concat(e.message);logMessage(source,message);}}function parseKeywordValue(rawValue){var NOW_VALUE_KEYWORD=\"$now$\";var CURRENT_DATE_KEYWORD=\"$currentDate$\";var parsedValue=rawValue;if(rawValue===NOW_VALUE_KEYWORD){parsedValue=Date.now().toString();}else if(rawValue===CURRENT_DATE_KEYWORD){parsedValue=Date();}return parsedValue;}var updatedArgs=args?[].concat(source).concat(args):[source];try{trustedSetLocalStorageItem.apply(this,updatedArgs);}catch(e){console.log(e);}}function trustedSuppressNativeMethod(source,args){function trustedSuppressNativeMethod(source,methodPath,signatureStr){var how=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"abort\";var stack=arguments.length>4&&arguments[4]!==undefined?arguments[4]:\"\";if(!methodPath||!signatureStr){return;}var IGNORE_ARG_SYMBOL=\" \";var suppress=how===\"abort\"?getAbortFunc():function(){};var signatureMatcher;try{signatureMatcher=signatureStr.split(\"|\").map(function(value){return value===IGNORE_ARG_SYMBOL?value:inferValue(value);});}catch(e){logMessage(source,\"Could not parse the signature matcher: \".concat(getErrorMessage(e)));return;}var getPathParts=getPropertyInChain;var _getPathParts=getPathParts(window,methodPath),base=_getPathParts.base,chain=_getPathParts.chain,prop=_getPathParts.prop;if(typeof chain!==\"undefined\"){logMessage(source,\"Could not reach the end of the prop chain: \".concat(methodPath));return;}var nativeMethod=base[prop];if(!nativeMethod||typeof nativeMethod!==\"function\"){logMessage(source,\"Could not retrieve the method: \".concat(methodPath));return;}function matchMethodCall(nativeArguments,matchArguments){return matchArguments.every(function(matcher,i){if(matcher===IGNORE_ARG_SYMBOL){return true;}var argument=nativeArguments[i];return isValueMatched(argument,matcher);});}var isMatchingSuspended=false;function apply(target,thisArg,argumentsList){if(isMatchingSuspended){return Reflect.apply(target,thisArg,argumentsList);}isMatchingSuspended=true;if(stack&&!matchStackTrace(stack,new Error().stack||\"\")){return Reflect.apply(target,thisArg,argumentsList);}var isMatching=matchMethodCall(argumentsList,signatureMatcher);isMatchingSuspended=false;if(isMatching){hit(source);return suppress();}return Reflect.apply(target,thisArg,argumentsList);}base[prop]=new Proxy(nativeMethod,{apply:apply});}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function getPropertyInChain(base,chain){var pos=chain.indexOf(\".\");if(pos===-1){return {base:base,prop:chain};}var prop=chain.slice(0,pos);if(base===null){return {base:base,prop:prop,chain:chain};}var nextBase=base[prop];chain=chain.slice(pos+1);if((base instanceof Object||typeof base===\"object\")&&isEmptyObject(base)){return {base:base,prop:prop,chain:chain};}if(nextBase===null){return {base:base,prop:prop,chain:chain};}if(nextBase!==undefined){return getPropertyInChain(nextBase,chain);}Object.defineProperty(base,prop,{configurable:true});return {base:base,prop:prop,chain:chain};}function inferValue(value){if(value===\"undefined\"){return undefined;}if(value===\"false\"){return false;}if(value===\"true\"){return true;}if(value===\"null\"){return null;}if(value===\"NaN\"){return NaN;}if(value.startsWith(\"/\")&&value.endsWith(\"/\")){return toRegExp(value);}var MAX_ALLOWED_NUM=32767;var numVal=Number(value);if(!nativeIsNaN(numVal)){if(Math.abs(numVal)>MAX_ALLOWED_NUM){throw new Error(\"number values bigger than 32767 are not allowed\");}return numVal;}var errorMessage=\"'\".concat(value,\"' value type can't be inferred\");try{var parsableVal=JSON.parse(value);if(parsableVal instanceof Object||typeof parsableVal===\"string\"){return parsableVal;}}catch(e){errorMessage+=\": \".concat(e);}throw new TypeError(errorMessage);}function isValueMatched(value,matcher){if(typeof value===\"function\"){return false;}if(nativeIsNaN(value)){return nativeIsNaN(matcher);}if(value===null||typeof value===\"undefined\"||typeof value===\"number\"||typeof value===\"boolean\"){return value===matcher;}if(typeof value===\"string\"){if(typeof matcher===\"string\"||matcher instanceof RegExp){return isStringMatched(value,matcher);}return false;}if(Array.isArray(value)&&Array.isArray(matcher)){return isArrayMatched(value,matcher);}if(isArbitraryObject(value)&&isArbitraryObject(matcher)){return isObjectMatched(value,matcher);}return false;}function getAbortFunc(){var rid=randomId();var isErrorHandlerSet=false;return function abort(){if(!isErrorHandlerSet){window.onerror=createOnErrorHandler(rid);isErrorHandlerSet=true;}throw new ReferenceError(rid);};}function matchStackTrace(stackMatch,stackTrace){if(!stackMatch||stackMatch===\"\"){return true;}if(shouldAbortInlineOrInjectedScript(stackMatch,stackTrace)){return true;}var stackRegexp=toRegExp(stackMatch);var refinedStackTrace=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();}).join(\"\\n\");return getNativeRegexpTest().call(stackRegexp,refinedStackTrace);}function getErrorMessage(error){var isErrorWithMessage=function isErrorWithMessage(e){return typeof e===\"object\"&&e!==null&&\"message\"in e&&typeof e.message===\"string\";};if(isErrorWithMessage(error)){return error.message;}try{return new Error(JSON.stringify(error)).message;}catch(_unused){return new Error(String(error)).message;}}function shouldAbortInlineOrInjectedScript(stackMatch,stackTrace){var INLINE_SCRIPT_STRING=\"inlineScript\";var INJECTED_SCRIPT_STRING=\"injectedScript\";var INJECTED_SCRIPT_MARKER=\"\";var isInlineScript=function isInlineScript(match){return match.includes(INLINE_SCRIPT_STRING);};var isInjectedScript=function isInjectedScript(match){return match.includes(INJECTED_SCRIPT_STRING);};if(!(isInlineScript(stackMatch)||isInjectedScript(stackMatch))){return false;}var documentURL=window.location.href;var pos=documentURL.indexOf(\"#\");if(pos!==-1){documentURL=documentURL.slice(0,pos);}var stackSteps=stackTrace.split(\"\\n\").slice(2).map(function(line){return line.trim();});var stackLines=stackSteps.map(function(line){var stack;var getStackTraceURL=/(.*?@)?(\\S+)(:\\d+):\\d+\\)?$/.exec(line);if(getStackTraceURL){var _stackURL,_stackURL2;var stackURL=getStackTraceURL[2];if((_stackURL=stackURL)!==null&&_stackURL!==void 0&&_stackURL.startsWith(\"(\")){stackURL=stackURL.slice(1);}if((_stackURL2=stackURL)!==null&&_stackURL2!==void 0&&_stackURL2.startsWith(INJECTED_SCRIPT_MARKER)){var _stackFunction;stackURL=INJECTED_SCRIPT_STRING;var stackFunction=getStackTraceURL[1]!==undefined?getStackTraceURL[1].slice(0,-1):line.slice(0,getStackTraceURL.index).trim();if((_stackFunction=stackFunction)!==null&&_stackFunction!==void 0&&_stackFunction.startsWith(\"at\")){stackFunction=stackFunction.slice(2).trim();}stack=\"\".concat(stackFunction,\" \").concat(stackURL).trim();}else {stack=stackURL;}}else {stack=line;}return stack;});if(stackLines){for(var index=0;index0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function nativeIsNaN(num){var native=Number.isNaN||window.isNaN;return native(num);}function randomId(){return Math.random().toString(36).slice(2,9);}function createOnErrorHandler(rid){var nativeOnError=window.onerror;return function onError(error){if(typeof error===\"string\"&&error.includes(rid)){return true;}if(nativeOnError instanceof Function){for(var _len=arguments.length,args=new Array(_len>1?_len-1:0),_key=1;_key<_len;_key++){args[_key-1]=arguments[_key];}return nativeOnError.apply(window,[error,...args]);}return false;};}function isEmptyObject(obj){return Object.keys(obj).length===0&&!obj.prototype;}function isArbitraryObject(value){return value!==null&&typeof value===\"object\"&&!Array.isArray(value)&&!(value instanceof RegExp);}function isStringMatched(str,matcher){if(typeof matcher===\"string\"){if(matcher===\"\"){return str===matcher;}return str.includes(matcher);}if(matcher instanceof RegExp){return matcher.test(str);}return false;}function isArrayMatched(array,matcher){if(array.length===0){return matcher.length===0;}if(matcher.length===0){return false;}var _loop=function _loop(){var matcherValue=matcher[i];var isMatching=array.some(function(arrItem){return isValueMatched(arrItem,matcherValue);});if(!isMatching){return {v:false};}return \"continue\";};for(var i=0;i2&&arguments[2]!==undefined?arguments[2]:\"\";var urlToMatch=arguments.length>3&&arguments[3]!==undefined?arguments[3]:\"\";if(typeof Reflect===\"undefined\"||typeof fetch===\"undefined\"||typeof Proxy===\"undefined\"||typeof Response===\"undefined\"){return;}var shouldPruneResponse=false;var urlMatchRegexp=toRegExp(urlToMatch);var XPATH_MARKER=\"xpath(\";var isXpath=propsToRemove&&propsToRemove.startsWith(XPATH_MARKER);var getXPathElements=function getXPathElements(contextNode){var matchedElements=[];try{var elementsToRemove=propsToRemove.slice(XPATH_MARKER.length,-1);var xpathResult=contextNode.evaluate(elementsToRemove,contextNode,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null);for(var i=0;i\")){return true;}}return false;};var createXMLDocument=function createXMLDocument(text){var xmlParser=new DOMParser();var xmlDocument=xmlParser.parseFromString(text,\"text/xml\");return xmlDocument;};var isPruningNeeded=function isPruningNeeded(response,propsToRemove){if(!isXML(response)){return false;}var docXML=createXMLDocument(response);return isXpath?getXPathElements(docXML):!!docXML.querySelector(propsToRemove);};var pruneXML=function pruneXML(text){if(!isXML(text)){shouldPruneResponse=false;return text;}var xmlDoc=createXMLDocument(text);var errorNode=xmlDoc.querySelector(\"parsererror\");if(errorNode){return text;}if(optionalProp!==\"\"&&xmlDoc.querySelector(optionalProp)===null){shouldPruneResponse=false;return text;}var elements=isXpath?getXPathElements(xmlDoc):xmlDoc.querySelectorAll(propsToRemove);if(!elements.length){shouldPruneResponse=false;return text;}if(isXpath){xPathPruning(elements);}else {elements.forEach(function(elem){elem.remove();});}var serializer=new XMLSerializer();text=serializer.serializeToString(xmlDoc);return text;};var nativeOpen=window.XMLHttpRequest.prototype.open;var nativeSend=window.XMLHttpRequest.prototype.send;var xhrData;var openWrapper=function openWrapper(target,thisArg,args){xhrData=getXhrData.apply(null,args);if(matchRequestProps(source,urlToMatch,xhrData)){thisArg.shouldBePruned=true;}if(thisArg.shouldBePruned){thisArg.collectedHeaders=[];var setRequestHeaderWrapper=function setRequestHeaderWrapper(target,thisArg,args){thisArg.collectedHeaders.push(args);return Reflect.apply(target,thisArg,args);};var setRequestHeaderHandler={apply:setRequestHeaderWrapper};thisArg.setRequestHeader=new Proxy(thisArg.setRequestHeader,setRequestHeaderHandler);}return Reflect.apply(target,thisArg,args);};var sendWrapper=function sendWrapper(target,thisArg,args){var allowedResponseTypeValues=[\"\",\"text\"];if(!thisArg.shouldBePruned||!allowedResponseTypeValues.includes(thisArg.responseType)){return Reflect.apply(target,thisArg,args);}var forgedRequest=new XMLHttpRequest();forgedRequest.addEventListener(\"readystatechange\",function(){if(forgedRequest.readyState!==4){return;}var readyState=forgedRequest.readyState,response=forgedRequest.response,responseText=forgedRequest.responseText,responseURL=forgedRequest.responseURL,responseXML=forgedRequest.responseXML,status=forgedRequest.status,statusText=forgedRequest.statusText;var content=responseText||response;if(typeof content!==\"string\"){return;}if(!propsToRemove){if(isXML(response)){var message=\"XMLHttpRequest.open() URL: \".concat(responseURL,\"\\nresponse: \").concat(response);logMessage(source,message);logMessage(source,createXMLDocument(response),true,false);}}else {shouldPruneResponse=isPruningNeeded(response,propsToRemove);}var responseContent=shouldPruneResponse?pruneXML(response):response;Object.defineProperties(thisArg,{readyState:{value:readyState,writable:false},responseURL:{value:responseURL,writable:false},responseXML:{value:responseXML,writable:false},status:{value:status,writable:false},statusText:{value:statusText,writable:false},response:{value:responseContent,writable:false},responseText:{value:responseContent,writable:false}});setTimeout(function(){var stateEvent=new Event(\"readystatechange\");thisArg.dispatchEvent(stateEvent);var loadEvent=new Event(\"load\");thisArg.dispatchEvent(loadEvent);var loadEndEvent=new Event(\"loadend\");thisArg.dispatchEvent(loadEndEvent);},1);hit(source);});nativeOpen.apply(forgedRequest,[xhrData.method,xhrData.url]);thisArg.collectedHeaders.forEach(function(header){var name=header[0];var value=header[1];forgedRequest.setRequestHeader(name,value);});thisArg.collectedHeaders=[];try{nativeSend.call(forgedRequest,args);}catch(_unused){return Reflect.apply(target,thisArg,args);}return undefined;};var openHandler={apply:openWrapper};var sendHandler={apply:sendWrapper};XMLHttpRequest.prototype.open=new Proxy(XMLHttpRequest.prototype.open,openHandler);XMLHttpRequest.prototype.send=new Proxy(XMLHttpRequest.prototype.send,sendHandler);var nativeFetch=window.fetch;var fetchWrapper=async function fetchWrapper(target,thisArg,args){var fetchURL=args[0]instanceof Request?args[0].url:args[0];if(typeof fetchURL!==\"string\"||fetchURL.length===0){return Reflect.apply(target,thisArg,args);}if(urlMatchRegexp.test(fetchURL)){var response=await nativeFetch(...args);var clonedResponse=response.clone();var responseText=await response.text();shouldPruneResponse=isPruningNeeded(responseText,propsToRemove);if(!shouldPruneResponse){var message=\"fetch URL: \".concat(fetchURL,\"\\nresponse text: \").concat(responseText);logMessage(source,message);logMessage(source,createXMLDocument(responseText),true,false);return clonedResponse;}var prunedText=pruneXML(responseText);if(shouldPruneResponse){hit(source);return new Response(prunedText,{status:response.status,statusText:response.statusText,headers:response.headers});}return clonedResponse;}return Reflect.apply(target,thisArg,args);};var fetchHandler={apply:fetchWrapper};window.fetch=new Proxy(window.fetch,fetchHandler);}function hit(source){if(source.verbose!==true){return;}try{var log=console.log.bind(console);var trace=console.trace.bind(console);var prefix=source.ruleText||\"\";if(source.domainName){var AG_SCRIPTLET_MARKER=\"#%#//\";var UBO_SCRIPTLET_MARKER=\"##+js\";var ruleStartIndex;if(source.ruleText.includes(AG_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(AG_SCRIPTLET_MARKER);}else if(source.ruleText.includes(UBO_SCRIPTLET_MARKER)){ruleStartIndex=source.ruleText.indexOf(UBO_SCRIPTLET_MARKER);}var rulePart=source.ruleText.slice(ruleStartIndex);prefix=\"\".concat(source.domainName).concat(rulePart);}log(\"\".concat(prefix,\" trace start\"));if(trace){trace();}log(\"\".concat(prefix,\" trace end\"));}catch(e){}if(typeof window.__debug===\"function\"){window.__debug(source);}}function logMessage(source,message){var forced=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var convertMessageToString=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;var name=source.name,verbose=source.verbose;if(!forced&&!verbose){return;}var nativeConsole=console.log;if(!convertMessageToString){nativeConsole(\"\".concat(name,\":\"),message);return;}nativeConsole(\"\".concat(name,\": \").concat(message));}function toRegExp(){var input=arguments.length>0&&arguments[0]!==undefined?arguments[0]:\"\";var DEFAULT_VALUE=\".?\";var FORWARD_SLASH=\"/\";if(input===\"\"){return new RegExp(DEFAULT_VALUE);}var delimiterIndex=input.lastIndexOf(FORWARD_SLASH);var flagsPart=input.substring(delimiterIndex+1);var regExpPart=input.substring(0,delimiterIndex+1);var isValidRegExpFlag=function isValidRegExpFlag(flag){if(!flag){return false;}try{new RegExp(\"\",flag);return true;}catch(ex){return false;}};var getRegExpFlags=function getRegExpFlags(regExpStr,flagsStr){if(regExpStr.startsWith(FORWARD_SLASH)&®ExpStr.endsWith(FORWARD_SLASH)&&!regExpStr.endsWith(\"\\\\/\")&&isValidRegExpFlag(flagsStr)){return flagsStr;}return \"\";};var flags=getRegExpFlags(regExpPart,flagsPart);if(input.startsWith(FORWARD_SLASH)&&input.endsWith(FORWARD_SLASH)||flags){var regExpInput=flags?regExpPart:input;return new RegExp(regExpInput.slice(1,-1),flags);}var escaped=input.replace(/\\\\'/g,\"'\").replace(/\\\\\"/g,'\"').replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");return new RegExp(escaped);}function getXhrData(method,url,async,user,password){return {method:method,url:url,async:async,user:user,password:password};}function matchRequestProps(source,propsToMatch,requestData){if(propsToMatch===\"\"||propsToMatch===\"*\"){return true;}var isMatched;var parsedData=parseMatchProps(propsToMatch);if(!isValidParsedData(parsedData)){logMessage(source,\"Invalid parameter: \".concat(propsToMatch));isMatched=false;}else {var matchData=getMatchPropsData(parsedData);var matchKeys=Object.keys(matchData);isMatched=matchKeys.every(function(matchKey){var matchValue=matchData[matchKey];var dataValue=requestData[matchKey];return Object.prototype.hasOwnProperty.call(requestData,matchKey)&&typeof dataValue===\"string\"&&(matchValue===null||matchValue===void 0?void 0:matchValue.test(dataValue));});}return isMatched;}function getMatchPropsData(data){var matchData={};var dataKeys=Object.keys(data);dataKeys.forEach(function(key){matchData[key]=toRegExp(data[key]);});return matchData;}function getRequestProps(){return [\"url\",\"method\",\"headers\",\"body\",\"credentials\",\"cache\",\"redirect\",\"referrer\",\"referrerPolicy\",\"integrity\",\"keepalive\",\"signal\",\"mode\"];}function isValidParsedData(data){return Object.values(data).every(function(value){return isValidStrPattern(value);});}function parseMatchProps(propsToMatchStr){var PROPS_DIVIDER=\" \";var PAIRS_MARKER=\":\";var isRequestProp=function isRequestProp(prop){return getRequestProps().includes(prop);};var propsObj={};var props=propsToMatchStr.split(PROPS_DIVIDER);props.forEach(function(prop){var dividerInd=prop.indexOf(PAIRS_MARKER);var key=prop.slice(0,dividerInd);if(isRequestProp(key)){var value=prop.slice(dividerInd+1);propsObj[key]=value;}else {propsObj.url=prop;}});return propsObj;}function isValidStrPattern(input){var FORWARD_SLASH=\"/\";var str=escapeRegExp(input);if(input[0]===FORWARD_SLASH&&input[input.length-1]===FORWARD_SLASH){str=input.slice(1,-1);}var isValid;try{isValid=new RegExp(str);isValid=true;}catch(e){isValid=false;}return isValid;}function escapeRegExp(str){return str.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");}var updatedArgs=args?[].concat(source).concat(args):[source];try{xmlPrune.apply(this,updatedArgs);}catch(e){console.log(e);}}var scriptletsMap={\"amazon-apstag\":AmazonApstag,\"ubo-amazon_apstag.js\":AmazonApstag,\"amazon_apstag.js\":AmazonApstag,\"didomi-loader\":DidomiLoader,fingerprintjs2:Fingerprintjs2,\"ubo-fingerprint2.js\":Fingerprintjs2,\"fingerprint2.js\":Fingerprintjs2,fingerprintjs3:Fingerprintjs3,\"ubo-fingerprint3.js\":Fingerprintjs3,\"fingerprint3.js\":Fingerprintjs3,gemius:Gemius,\"google-analytics\":GoogleAnalytics,\"ubo-google-analytics_analytics.js\":GoogleAnalytics,\"google-analytics_analytics.js\":GoogleAnalytics,\"googletagmanager-gtm\":GoogleAnalytics,\"ubo-googletagmanager_gtm.js\":GoogleAnalytics,\"googletagmanager_gtm.js\":GoogleAnalytics,\"google-analytics-ga\":GoogleAnalyticsGa,\"ubo-google-analytics_ga.js\":GoogleAnalyticsGa,\"google-analytics_ga.js\":GoogleAnalyticsGa,\"google-ima3\":GoogleIma3,\"ubo-google-ima.js\":GoogleIma3,\"google-ima.js\":GoogleIma3,\"googlesyndication-adsbygoogle\":GoogleSyndicationAdsByGoogle,\"ubo-googlesyndication_adsbygoogle.js\":GoogleSyndicationAdsByGoogle,\"googlesyndication_adsbygoogle.js\":GoogleSyndicationAdsByGoogle,\"googletagservices-gpt\":GoogleTagServicesGpt,\"ubo-googletagservices_gpt.js\":GoogleTagServicesGpt,\"googletagservices_gpt.js\":GoogleTagServicesGpt,matomo:Matomo,\"naver-wcslog\":NaverWcslog,\"pardot-1.0\":Pardot,prebid:Prebid,\"scorecardresearch-beacon\":ScoreCardResearchBeacon,\"ubo-scorecardresearch_beacon.js\":ScoreCardResearchBeacon,\"scorecardresearch_beacon.js\":ScoreCardResearchBeacon,\"abort-current-inline-script\":abortCurrentInlineScript,\"abort-current-script.js\":abortCurrentInlineScript,\"ubo-abort-current-script.js\":abortCurrentInlineScript,\"acs.js\":abortCurrentInlineScript,\"ubo-acs.js\":abortCurrentInlineScript,\"ubo-abort-current-script\":abortCurrentInlineScript,\"ubo-acs\":abortCurrentInlineScript,\"abort-current-inline-script.js\":abortCurrentInlineScript,\"ubo-abort-current-inline-script.js\":abortCurrentInlineScript,\"acis.js\":abortCurrentInlineScript,\"ubo-acis.js\":abortCurrentInlineScript,\"ubo-abort-current-inline-script\":abortCurrentInlineScript,\"ubo-acis\":abortCurrentInlineScript,\"abp-abort-current-inline-script\":abortCurrentInlineScript,\"abort-on-property-read\":abortOnPropertyRead,\"abort-on-property-read.js\":abortOnPropertyRead,\"ubo-abort-on-property-read.js\":abortOnPropertyRead,\"aopr.js\":abortOnPropertyRead,\"ubo-aopr.js\":abortOnPropertyRead,\"ubo-abort-on-property-read\":abortOnPropertyRead,\"ubo-aopr\":abortOnPropertyRead,\"abp-abort-on-property-read\":abortOnPropertyRead,\"abort-on-property-write\":abortOnPropertyWrite,\"abort-on-property-write.js\":abortOnPropertyWrite,\"ubo-abort-on-property-write.js\":abortOnPropertyWrite,\"aopw.js\":abortOnPropertyWrite,\"ubo-aopw.js\":abortOnPropertyWrite,\"ubo-abort-on-property-write\":abortOnPropertyWrite,\"ubo-aopw\":abortOnPropertyWrite,\"abp-abort-on-property-write\":abortOnPropertyWrite,\"abort-on-stack-trace\":abortOnStackTrace,\"abort-on-stack-trace.js\":abortOnStackTrace,\"ubo-abort-on-stack-trace.js\":abortOnStackTrace,\"aost.js\":abortOnStackTrace,\"ubo-aost.js\":abortOnStackTrace,\"ubo-abort-on-stack-trace\":abortOnStackTrace,\"ubo-aost\":abortOnStackTrace,\"abp-abort-on-stack-trace\":abortOnStackTrace,\"adjust-setInterval\":adjustSetInterval,\"nano-setInterval-booster.js\":adjustSetInterval,\"ubo-nano-setInterval-booster.js\":adjustSetInterval,\"nano-sib.js\":adjustSetInterval,\"ubo-nano-sib.js\":adjustSetInterval,\"adjust-setInterval.js\":adjustSetInterval,\"ubo-adjust-setInterval.js\":adjustSetInterval,\"ubo-nano-setInterval-booster\":adjustSetInterval,\"ubo-nano-sib\":adjustSetInterval,\"ubo-adjust-setInterval\":adjustSetInterval,\"adjust-setTimeout\":adjustSetTimeout,\"adjust-setTimeout.js\":adjustSetTimeout,\"ubo-adjust-setTimeout.js\":adjustSetTimeout,\"nano-setTimeout-booster.js\":adjustSetTimeout,\"ubo-nano-setTimeout-booster.js\":adjustSetTimeout,\"nano-stb.js\":adjustSetTimeout,\"ubo-nano-stb.js\":adjustSetTimeout,\"ubo-adjust-setTimeout\":adjustSetTimeout,\"ubo-nano-setTimeout-booster\":adjustSetTimeout,\"ubo-nano-stb\":adjustSetTimeout,\"call-nothrow\":callNoThrow,\"call-nothrow.js\":callNoThrow,\"ubo-call-nothrow.js\":callNoThrow,\"ubo-call-nothrow\":callNoThrow,\"debug-current-inline-script\":debugCurrentInlineScript,\"debug-on-property-read\":debugOnPropertyRead,\"debug-on-property-write\":debugOnPropertyWrite,\"dir-string\":dirString,\"disable-newtab-links\":disableNewtabLinks,\"disable-newtab-links.js\":disableNewtabLinks,\"ubo-disable-newtab-links.js\":disableNewtabLinks,\"ubo-disable-newtab-links\":disableNewtabLinks,\"evaldata-prune\":evalDataPrune,\"evaldata-prune.js\":evalDataPrune,\"ubo-evaldata-prune.js\":evalDataPrune,\"ubo-evaldata-prune\":evalDataPrune,\"close-window\":forceWindowClose,\"window-close-if.js\":forceWindowClose,\"ubo-window-close-if.js\":forceWindowClose,\"ubo-window-close-if\":forceWindowClose,\"close-window.js\":forceWindowClose,\"ubo-close-window.js\":forceWindowClose,\"ubo-close-window\":forceWindowClose,\"hide-in-shadow-dom\":hideInShadowDom,\"href-sanitizer\":hrefSanitizer,\"href-sanitizer.js\":hrefSanitizer,\"ubo-href-sanitizer.js\":hrefSanitizer,\"ubo-href-sanitizer\":hrefSanitizer,\"inject-css-in-shadow-dom\":injectCssInShadowDom,\"json-prune\":jsonPrune,\"json-prune.js\":jsonPrune,\"ubo-json-prune.js\":jsonPrune,\"ubo-json-prune\":jsonPrune,\"abp-json-prune\":jsonPrune,\"json-prune-fetch-response\":jsonPruneFetchResponse,\"json-prune-fetch-response.js\":jsonPruneFetchResponse,\"ubo-json-prune-fetch-response.js\":jsonPruneFetchResponse,\"ubo-json-prune-fetch-response\":jsonPruneFetchResponse,\"json-prune-xhr-response\":jsonPruneXhrResponse,\"json-prune-xhr-response.js\":jsonPruneXhrResponse,\"ubo-json-prune-xhr-response.js\":jsonPruneXhrResponse,\"ubo-json-prune-xhr-response\":jsonPruneXhrResponse,log:log,\"abp-log\":log,\"log-addEventListener\":logAddEventListener,\"addEventListener-logger.js\":logAddEventListener,\"ubo-addEventListener-logger.js\":logAddEventListener,\"aell.js\":logAddEventListener,\"ubo-aell.js\":logAddEventListener,\"ubo-addEventListener-logger\":logAddEventListener,\"ubo-aell\":logAddEventListener,\"log-eval\":logEval,\"log-on-stack-trace\":logOnStacktrace,\"m3u-prune\":m3uPrune,\"m3u-prune.js\":m3uPrune,\"ubo-m3u-prune.js\":m3uPrune,\"ubo-m3u-prune\":m3uPrune,\"metrika-yandex-tag\":metrikaYandexTag,\"metrika-yandex-watch\":metrikaYandexWatch,\"no-protected-audience\":noProtectedAudience,\"no-topics\":noTopics,noeval:noeval,\"noeval.js\":noeval,\"silent-noeval.js\":noeval,\"ubo-noeval.js\":noeval,\"ubo-silent-noeval.js\":noeval,\"ubo-noeval\":noeval,\"ubo-silent-noeval\":noeval,nowebrtc:nowebrtc,\"nowebrtc.js\":nowebrtc,\"ubo-nowebrtc.js\":nowebrtc,\"ubo-nowebrtc\":nowebrtc,\"prevent-addEventListener\":preventAddEventListener,\"addEventListener-defuser.js\":preventAddEventListener,\"ubo-addEventListener-defuser.js\":preventAddEventListener,\"aeld.js\":preventAddEventListener,\"ubo-aeld.js\":preventAddEventListener,\"ubo-addEventListener-defuser\":preventAddEventListener,\"ubo-aeld\":preventAddEventListener,\"abp-prevent-listener\":preventAddEventListener,\"prevent-adfly\":preventAdfly,\"adfly-defuser.js\":preventAdfly,\"ubo-adfly-defuser.js\":preventAdfly,\"ubo-adfly-defuser\":preventAdfly,\"prevent-bab\":preventBab,\"prevent-element-src-loading\":preventElementSrcLoading,\"prevent-eval-if\":preventEvalIf,\"noeval-if.js\":preventEvalIf,\"ubo-noeval-if.js\":preventEvalIf,\"ubo-noeval-if\":preventEvalIf,\"prevent-fab-3.2.0\":preventFab,\"nofab.js\":preventFab,\"ubo-nofab.js\":preventFab,\"fuckadblock.js-3.2.0\":preventFab,\"ubo-fuckadblock.js-3.2.0\":preventFab,\"ubo-nofab\":preventFab,\"prevent-fetch\":preventFetch,\"no-fetch-if.js\":preventFetch,\"ubo-no-fetch-if.js\":preventFetch,\"ubo-no-fetch-if\":preventFetch,\"prevent-popads-net\":preventPopadsNet,\"popads.net.js\":preventPopadsNet,\"ubo-popads.net.js\":preventPopadsNet,\"ubo-popads.net\":preventPopadsNet,\"prevent-refresh\":preventRefresh,\"prevent-refresh.js\":preventRefresh,\"refresh-defuser.js\":preventRefresh,\"refresh-defuser\":preventRefresh,\"ubo-prevent-refresh.js\":preventRefresh,\"ubo-prevent-refresh\":preventRefresh,\"ubo-refresh-defuser.js\":preventRefresh,\"ubo-refresh-defuser\":preventRefresh,\"prevent-requestAnimationFrame\":preventRequestAnimationFrame,\"no-requestAnimationFrame-if.js\":preventRequestAnimationFrame,\"ubo-no-requestAnimationFrame-if.js\":preventRequestAnimationFrame,\"norafif.js\":preventRequestAnimationFrame,\"ubo-norafif.js\":preventRequestAnimationFrame,\"ubo-no-requestAnimationFrame-if\":preventRequestAnimationFrame,\"ubo-norafif\":preventRequestAnimationFrame,\"prevent-setInterval\":preventSetInterval,\"no-setInterval-if.js\":preventSetInterval,\"ubo-no-setInterval-if.js\":preventSetInterval,\"setInterval-defuser.js\":preventSetInterval,\"ubo-setInterval-defuser.js\":preventSetInterval,\"nosiif.js\":preventSetInterval,\"ubo-nosiif.js\":preventSetInterval,\"sid.js\":preventSetInterval,\"ubo-sid.js\":preventSetInterval,\"ubo-no-setInterval-if\":preventSetInterval,\"ubo-setInterval-defuser\":preventSetInterval,\"ubo-nosiif\":preventSetInterval,\"ubo-sid\":preventSetInterval,\"prevent-setTimeout\":preventSetTimeout,\"no-setTimeout-if.js\":preventSetTimeout,\"ubo-no-setTimeout-if.js\":preventSetTimeout,\"nostif.js\":preventSetTimeout,\"ubo-nostif.js\":preventSetTimeout,\"ubo-no-setTimeout-if\":preventSetTimeout,\"ubo-nostif\":preventSetTimeout,\"setTimeout-defuser.js\":preventSetTimeout,\"ubo-setTimeout-defuser.js\":preventSetTimeout,\"ubo-setTimeout-defuser\":preventSetTimeout,\"std.js\":preventSetTimeout,\"ubo-std.js\":preventSetTimeout,\"ubo-std\":preventSetTimeout,\"prevent-window-open\":preventWindowOpen,\"window.open-defuser.js\":preventWindowOpen,\"ubo-window.open-defuser.js\":preventWindowOpen,\"ubo-window.open-defuser\":preventWindowOpen,\"nowoif.js\":preventWindowOpen,\"ubo-nowoif.js\":preventWindowOpen,\"ubo-nowoif\":preventWindowOpen,\"no-window-open-if.js\":preventWindowOpen,\"ubo-no-window-open-if.js\":preventWindowOpen,\"ubo-no-window-open-if\":preventWindowOpen,\"prevent-xhr\":preventXHR,\"no-xhr-if.js\":preventXHR,\"ubo-no-xhr-if.js\":preventXHR,\"ubo-no-xhr-if\":preventXHR,\"remove-attr\":removeAttr,\"remove-attr.js\":removeAttr,\"ubo-remove-attr.js\":removeAttr,\"ra.js\":removeAttr,\"ubo-ra.js\":removeAttr,\"ubo-remove-attr\":removeAttr,\"ubo-ra\":removeAttr,\"remove-class\":removeClass,\"remove-class.js\":removeClass,\"ubo-remove-class.js\":removeClass,\"rc.js\":removeClass,\"ubo-rc.js\":removeClass,\"ubo-remove-class\":removeClass,\"ubo-rc\":removeClass,\"remove-cookie\":removeCookie,\"cookie-remover.js\":removeCookie,\"ubo-cookie-remover.js\":removeCookie,\"ubo-cookie-remover\":removeCookie,\"remove-cookie.js\":removeCookie,\"ubo-remove-cookie.js\":removeCookie,\"ubo-remove-cookie\":removeCookie,\"abp-cookie-remover\":removeCookie,\"remove-in-shadow-dom\":removeInShadowDom,\"remove-node-text\":removeNodeText,\"remove-node-text.js\":removeNodeText,\"ubo-remove-node-text.js\":removeNodeText,\"rmnt.js\":removeNodeText,\"ubo-rmnt.js\":removeNodeText,\"ubo-remove-node-text\":removeNodeText,\"ubo-rmnt\":removeNodeText,\"set-attr\":setAttr,\"set-attr.js\":setAttr,\"ubo-set-attr.js\":setAttr,\"ubo-set-attr\":setAttr,\"set-constant\":setConstant,\"set-constant.js\":setConstant,\"ubo-set-constant.js\":setConstant,\"set.js\":setConstant,\"ubo-set.js\":setConstant,\"ubo-set-constant\":setConstant,\"ubo-set\":setConstant,\"abp-override-property-read\":setConstant,\"set-cookie\":setCookie,\"set-cookie.js\":setCookie,\"ubo-set-cookie.js\":setCookie,\"ubo-set-cookie\":setCookie,\"set-cookie-reload\":setCookieReload,\"set-cookie-reload.js\":setCookieReload,\"ubo-set-cookie-reload.js\":setCookieReload,\"ubo-set-cookie-reload\":setCookieReload,\"set-local-storage-item\":setLocalStorageItem,\"set-local-storage-item.js\":setLocalStorageItem,\"ubo-set-local-storage-item.js\":setLocalStorageItem,\"ubo-set-local-storage-item\":setLocalStorageItem,\"set-popads-dummy\":setPopadsDummy,\"popads-dummy.js\":setPopadsDummy,\"ubo-popads-dummy.js\":setPopadsDummy,\"ubo-popads-dummy\":setPopadsDummy,\"set-session-storage-item\":setSessionStorageItem,\"set-session-storage-item.js\":setSessionStorageItem,\"ubo-set-session-storage-item.js\":setSessionStorageItem,\"ubo-set-session-storage-item\":setSessionStorageItem,\"spoof-css\":spoofCSS,\"spoof-css.js\":spoofCSS,\"ubo-spoof-css.js\":spoofCSS,\"ubo-spoof-css\":spoofCSS,\"trusted-click-element\":trustedClickElement,\"trusted-create-element\":trustedCreateElement,\"trusted-prune-inbound-object\":trustedPruneInboundObject,\"trusted-replace-fetch-response\":trustedReplaceFetchResponse,\"trusted-replace-node-text\":trustedReplaceNodeText,\"trusted-replace-xhr-response\":trustedReplaceXhrResponse,\"trusted-set-attr\":trustedSetAttr,\"trusted-set-constant\":trustedSetConstant,\"trusted-set-cookie\":trustedSetCookie,\"trusted-set-cookie-reload\":trustedSetCookieReload,\"trusted-set-local-storage-item\":trustedSetLocalStorageItem,\"trusted-suppress-native-method\":trustedSuppressNativeMethod,\"xml-prune\":xmlPrune,\"xml-prune.js\":xmlPrune,\"ubo-xml-prune.js\":xmlPrune,\"ubo-xml-prune\":xmlPrune};var getScriptletFunction=function getScriptletFunction(name){return scriptletsMap[name];};\n function getScriptletCode(source) {\n if (!validator.isValidScriptletName(source.name)) {\n return null;\n }\n var scriptletFunction = getScriptletFunction(source.name);\n if (typeof scriptletFunction !== 'function') {\n throw new Error(\"Error: cannot invoke scriptlet with name: '\".concat(source.name, \"'\"));\n }\n var scriptletFunctionString = scriptletFunction.toString();\n var result = source.engine === 'corelibs' || source.engine === 'test' ? wrapInNonameFunc(scriptletFunctionString) : passSourceAndProps(source, scriptletFunctionString);\n return result;\n }\n var scriptletsObject = function () {\n return {\n invoke: getScriptletCode,\n getScriptletFunction,\n isValidScriptletName: validator.isValidScriptletName,\n isValidScriptletRule,\n isAdgScriptletRule: validator.isAdgScriptletRule,\n isUboScriptletRule: validator.isUboScriptletRule,\n isAbpSnippetRule: validator.isAbpSnippetRule,\n convertUboToAdg: convertUboScriptletToAdg,\n convertAbpToAdg: convertAbpSnippetToAdg,\n convertScriptletToAdg,\n convertAdgToUbo: convertAdgScriptletToUbo,\n redirects,\n SCRIPTLETS_VERSION: version\n };\n }();\n scriptlets_umd.exports = scriptletsObject;\n }));\n\n /**\n * Enumeration with the cosmetic rules markers.\n *\n * All cosmetic rules have similar structure:\n * ```\n * rule = [domains] \"marker\" content\n * domains = [domain0, domain1[, ...[, domainN]]]\n * ```\n *\n * For instance, element hiding rules look like:\n * `example.org##.banner`\n *\n * In this case:\n * * `[domains]` is `example.org` (comma-separated list of domains)\n * * `marker` is `##` (marker of element hiding rules)\n * * `content` is `.banner` (CSS selector)\n */\n exports.CosmeticRuleMarker = void 0;\n (function (CosmeticRuleMarker) {\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-elemhide-rules */\n CosmeticRuleMarker[\"ElementHiding\"] = \"##\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#element-hiding-rules-exceptions */\n CosmeticRuleMarker[\"ElementHidingException\"] = \"#@#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#extended-css-selectors */\n CosmeticRuleMarker[\"ElementHidingExtCSS\"] = \"#?#\";\n /** Basically the same as {@link CosmeticRuleMarker.ElementHidingException} */\n CosmeticRuleMarker[\"ElementHidingExtCSSException\"] = \"#@?#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules */\n CosmeticRuleMarker[\"Css\"] = \"#$#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules-exceptions */\n CosmeticRuleMarker[\"CssException\"] = \"#@$#\";\n /**\n * CSS rules that use extended CSS selectors:\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#extended-css-selectors\n */\n CosmeticRuleMarker[\"CssExtCSS\"] = \"#$?#\";\n /** Basically the same as {@link CosmeticRuleMarker.CssException} */\n CosmeticRuleMarker[\"CssExtCSSException\"] = \"#@$?#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#javascript-rules */\n CosmeticRuleMarker[\"Js\"] = \"#%#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#javascript-rules-exceptions-1 */\n CosmeticRuleMarker[\"JsException\"] = \"#@%#\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules */\n CosmeticRuleMarker[\"Html\"] = \"$$\";\n /** https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules-exceptions-1 */\n CosmeticRuleMarker[\"HtmlException\"] = \"$@$\";\n })(exports.CosmeticRuleMarker || (exports.CosmeticRuleMarker = {}));\n /**\n * findCosmeticRuleMarker looks for a cosmetic rule marker in the rule text\n * and returns the start index of the marker and the marker found.\n * If nothing found, it returns -1 and null.\n *\n * @privateRemarks\n *\n * The idea is to search for the rule marker as quickly as possible.\n * If we were simply using `Array.includes` we had to call it a dozen of times (for every marker),\n * and that'd have been much slower.\n *\n * @param ruleText - rule text to scan.\n */\n function findCosmeticRuleMarker(ruleText) {\n var maxIndex = ruleText.length - 1;\n for (var i = 0; i < maxIndex; i += 1) {\n var char = ruleText.charAt(i);\n switch (char) {\n case '#':\n if (i + 4 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '@'\n && ruleText.charAt(i + 2) === '$'\n && ruleText.charAt(i + 3) === '?'\n && ruleText.charAt(i + 4) === '#') {\n return [i, exports.CosmeticRuleMarker.CssExtCSSException];\n }\n }\n if (i + 3 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '@'\n && ruleText.charAt(i + 2) === '?' && ruleText.charAt(i + 3) === '#') {\n return [i, exports.CosmeticRuleMarker.ElementHidingExtCSSException];\n }\n if (ruleText.charAt(i + 1) === '@'\n && ruleText.charAt(i + 2) === '$' && ruleText.charAt(i + 3) === '#') {\n return [i, exports.CosmeticRuleMarker.CssException];\n }\n if (ruleText.charAt(i + 1) === '@'\n && ruleText.charAt(i + 2) === '%' && ruleText.charAt(i + 3) === '#') {\n return [i, exports.CosmeticRuleMarker.JsException];\n }\n if (ruleText.charAt(i + 1) === '$'\n && ruleText.charAt(i + 2) === '?' && ruleText.charAt(i + 3) === '#') {\n return [i, exports.CosmeticRuleMarker.CssExtCSS];\n }\n }\n if (i + 2 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '@' && ruleText.charAt(i + 2) === '#') {\n return [i, exports.CosmeticRuleMarker.ElementHidingException];\n }\n if (ruleText.charAt(i + 1) === '?' && ruleText.charAt(i + 2) === '#') {\n return [i, exports.CosmeticRuleMarker.ElementHidingExtCSS];\n }\n if (ruleText.charAt(i + 1) === '%' && ruleText.charAt(i + 2) === '#') {\n return [i, exports.CosmeticRuleMarker.Js];\n }\n if (ruleText.charAt(i + 1) === '$' && ruleText.charAt(i + 2) === '#') {\n return [i, exports.CosmeticRuleMarker.Css];\n }\n }\n if (i + 1 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '#') {\n // Handling false positives while looking for cosmetic rules in host files.\n //\n // For instance, it could look like this:\n // 127.0.0.1 localhost ## this is just a comment\n if (i > 0 && ruleText.charAt(i - 1) === ' ') {\n return [-1, null];\n }\n return [i, exports.CosmeticRuleMarker.ElementHiding];\n }\n }\n break;\n case '$':\n if (i + 2 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '@' && ruleText.charAt(i + 2) === '$') {\n return [i, exports.CosmeticRuleMarker.HtmlException];\n }\n }\n if (i + 1 <= maxIndex) {\n if (ruleText.charAt(i + 1) === '$') {\n return [i, exports.CosmeticRuleMarker.Html];\n }\n }\n break;\n }\n }\n return [-1, null];\n }\n /**\n * Detects is the rule is extended css rule\n * @param marker - string to check\n */\n function isExtCssMarker(marker) {\n var EXTENDED_CSS_MARKERS = [\n exports.CosmeticRuleMarker.CssExtCSS,\n exports.CosmeticRuleMarker.CssExtCSSException,\n exports.CosmeticRuleMarker.ElementHidingExtCSS,\n exports.CosmeticRuleMarker.ElementHidingExtCSSException,\n ];\n return EXTENDED_CSS_MARKERS.indexOf(marker) !== -1;\n }\n /**\n * AdGuard scriptlet rule mask\n */\n var ADG_SCRIPTLET_MASK = '//scriptlet';\n\n /**\n * Splits url into parts\n *\n * @param url\n */\n function splitUrl(url) {\n var strippedUrl = url;\n var hash = '';\n var hashIndex = url.indexOf('#');\n if (hashIndex >= 0) {\n hash = url.slice(hashIndex);\n strippedUrl = url.slice(0, hashIndex);\n }\n var query = '';\n var queryIndex = url.indexOf('?');\n if (queryIndex >= 0) {\n query = strippedUrl.slice(queryIndex + 1);\n strippedUrl = strippedUrl.slice(0, queryIndex);\n }\n return {\n path: strippedUrl,\n query: query,\n hash: hash,\n };\n }\n /**\n * Normalizes url query parameters\n *\n * @param query\n */\n function normalizeQuery(query) {\n // Cleanup empty params (p0=0&=2&=3)\n var result = query\n .split('&')\n .filter(function (x) { return x && !x.startsWith('='); })\n .join('&');\n // If we've collapsed the URL to the point where there's an '&' against the '?'\n // then we need to get rid of that.\n while (result.charAt(0) === '&') {\n result = result.substr(1);\n }\n return result;\n }\n /**\n * Removes query params from url by regexp\n *\n * @param url\n * @param regExp\n * @param invert remove every parameter in url except the ones matched regexp\n */\n function cleanUrlParamByRegExp(url, regExp, invert) {\n if (invert === void 0) { invert = false; }\n var searchIndex = url.indexOf('?');\n // If no params, nothing to modify\n if (searchIndex === -1) {\n return url;\n }\n var split = splitUrl(url);\n var modifiedQuery;\n if (invert) {\n modifiedQuery = split.query\n .split('&')\n .filter(function (x) { return x; })\n .filter(function (x) { return x && x.match(regExp); })\n .join('&');\n }\n else {\n modifiedQuery = split.query\n .split('&')\n .filter(function (x) {\n var test = x.includes('=') ? x : \"\".concat(x, \"=\");\n return !test.match(regExp);\n })\n .join('&');\n }\n // Do not normalize if regexp is not applied\n if (modifiedQuery === split.query) {\n return url;\n }\n modifiedQuery = normalizeQuery(modifiedQuery);\n var result = split.path;\n if (modifiedQuery) {\n result += \"?\".concat(modifiedQuery);\n }\n return result + split.hash;\n }\n var DOMAIN_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+$/;\n /**\n * Check if the string could be a domain name\n *\n * @param text\n */\n var isDomainName = function (text) {\n if (text.indexOf('.') < 0 || text.endsWith('.')) {\n return false;\n }\n return DOMAIN_REGEX.test(text);\n };\n /**\n * Extract relative part from hierarchical structured URL\n * @param url\n */\n var getRelativeUrl = function (url) {\n var i = url.indexOf('/', url.indexOf('://') + 3);\n return i !== -1 ? url.substr(i) : null;\n };\n\n /* eslint-disable prefer-regex-literals */\n // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/regexp\n // should be escaped . * + ? ^ $ { } ( ) | [ ] / \\\n // except of * | ^\n var specialCharacters = ['.', '+', '?', '$', '{', '}', '(', ')', '[', ']', '/', '\\\\'];\n var reSpecialCharacters = new RegExp(\"[\".concat(specialCharacters.join('\\\\'), \"]\"), 'g');\n var reSpecialCharactersFull = /[.*+?^${}()|[\\]\\\\]/g;\n var reEscapedSpecialCharactersFull = /\\\\[.*+?^${}()|[\\]\\\\]/g;\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#using_special_characters_in_strings\n var escapeSequence = {\n n: '\\n',\n r: '\\r',\n t: '\\t',\n b: '\\b',\n f: '\\f',\n v: '\\v',\n };\n /**\n * Class with static helper methods for working with basic filtering rules patterns.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules\n */\n var SimpleRegex = /** @class */ (function () {\n function SimpleRegex() {\n }\n /**\n * Extracts the shortcut from the rule's pattern.\n * Shortcut is the longest substring of the pattern that does not contain\n * any special characters.\n *\n * Please note, that the shortcut is always lower-case!\n *\n * @param pattern - network rule's pattern.\n * @returns the shortcut or the empty string if we could not extract any.\n */\n SimpleRegex.extractShortcut = function (pattern) {\n if (pattern.startsWith(this.MASK_REGEX_RULE) && pattern.endsWith(this.MASK_REGEX_RULE)) {\n return this.extractRegexpShortcut(pattern);\n }\n return this.extractBasicShortcut(pattern);\n };\n /**\n * Searches for the longest substring of the pattern that\n * does not contain any special characters: *,^,|.\n *\n * @param pattern - network rule's pattern.\n * @returns the shortcut or the empty string\n */\n SimpleRegex.extractBasicShortcut = function (pattern) {\n var longest = '';\n var parts = pattern.split(this.rePatternSpecialCharacters);\n for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {\n var part = parts_1[_i];\n if (part.length > longest.length) {\n longest = part;\n }\n }\n return (longest || '').toLowerCase();\n };\n /**\n * Searches for a shortcut inside of a regexp pattern.\n * Shortcut in this case is a longest string with no REGEX special characters.\n * Also, we discard complicated regexps right away.\n *\n * @param pattern - network rule's pattern (regexp).\n * @returns the shortcut or the empty string\n */\n SimpleRegex.extractRegexpShortcut = function (pattern) {\n var reText = pattern.substring(this.MASK_REGEX_RULE.length, pattern.length - this.MASK_REGEX_RULE.length);\n if (reText.length === 0) {\n // The rule is too short, doing nothing\n return '';\n }\n if (reText.indexOf('?') >= 0) {\n // Do not mess with complex expressions which use lookahead\n // And with those using ? special character\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/978\n return '';\n }\n var specialCharacter = '$$$';\n // Prepend specialCharacter for the following replace calls to work properly\n reText = specialCharacter + reText;\n // Strip all types of brackets\n reText = reText.replace(/[^\\\\]\\(.*[^\\\\]\\)/, specialCharacter);\n reText = reText.replace(/[^\\\\]\\[.*[^\\\\]\\]/, specialCharacter);\n reText = reText.replace(/[^\\\\]\\{.*[^\\\\]\\}/, specialCharacter);\n // Strip some special characters\n reText = reText.replace(/[^\\\\]\\\\[a-zA-Z]/, specialCharacter);\n // Replace \\. with .\n reText = reText.replace(/\\\\\\./g, '.');\n // Split by special characters\n // `.` is one of the special characters so our `specialCharacter`\n // will be removed from the resulting array\n var parts = reText.split(/[\\\\^$*+?()|[\\]{}]/);\n var longest = '';\n for (var i = 0; i < parts.length; i += 1) {\n var part = parts[i];\n if (part.length > longest.length) {\n longest = part;\n }\n }\n return longest.toLowerCase();\n };\n /**\n * patternToRegexp is a helper method for creating regular expressions from the simple\n * wildcard-based syntax which is used in basic filters:\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules\n *\n * @param pattern - basic rule pattern\n * @returns regular expression\n */\n SimpleRegex.patternToRegexp = function (pattern) {\n if (pattern === this.MASK_START_URL\n || pattern === this.MASK_PIPE\n || pattern === this.MASK_ANY_CHARACTER\n || pattern === '') {\n return this.REGEX_ANY_CHARACTER;\n }\n if (pattern.startsWith(this.MASK_REGEX_RULE) && pattern.endsWith(this.MASK_REGEX_RULE)) {\n // This is a regex rule, just remove the regex markers\n return pattern.substring(this.MASK_REGEX_RULE.length, pattern.length - this.MASK_REGEX_RULE.length);\n }\n // Escape special characters except of * | ^\n var regex = pattern.replace(reSpecialCharacters, '\\\\$&');\n // Now escape \"|\" characters but avoid escaping them in the special places\n if (regex.startsWith(this.MASK_START_URL)) {\n regex = regex.substring(0, this.MASK_START_URL.length)\n + replaceAll(regex.substring(this.MASK_START_URL.length, regex.length - this.MASK_PIPE.length), this.MASK_PIPE, \"\\\\\".concat(this.MASK_PIPE))\n + regex.substring(regex.length - this.MASK_PIPE.length);\n }\n else {\n regex = regex.substring(0, this.MASK_PIPE.length)\n + replaceAll(regex.substring(this.MASK_PIPE.length, regex.length - this.MASK_PIPE.length), this.MASK_PIPE, \"\\\\\".concat(this.MASK_PIPE))\n + regex.substring(regex.length - this.MASK_PIPE.length);\n }\n // Replace special URL masks\n regex = replaceAll(regex, this.MASK_ANY_CHARACTER, this.REGEX_ANY_CHARACTER);\n regex = replaceAll(regex, this.MASK_SEPARATOR, this.REGEX_SEPARATOR);\n // Replace start URL and pipes\n if (regex.startsWith(this.MASK_START_URL)) {\n regex = this.REGEX_START_URL + regex.substring(this.MASK_START_URL.length);\n }\n else if (regex.startsWith(this.MASK_PIPE)) {\n regex = this.REGEX_START_STRING + regex.substring(this.MASK_PIPE.length);\n }\n if (regex.endsWith(this.MASK_PIPE)) {\n regex = regex.substring(0, regex.length - this.MASK_PIPE.length) + this.REGEX_END_STRING;\n }\n return regex;\n };\n /**\n * Creates RegExp object from string in '/reg_exp/gi' format\n *\n * @param str\n */\n SimpleRegex.patternFromString = function (str) {\n var parts = splitByDelimiterWithEscapeCharacter(str, '/', '\\\\', true);\n var modifiers = (parts[1] || '');\n if (modifiers.indexOf('g') < 0) {\n modifiers += 'g';\n }\n return new RegExp(parts[0], modifiers);\n };\n /**\n * Escapes characters with special meaning inside a regular expression.\n *\n * @param str\n * @param searchPattern - Pattern for detecting special characters. Optional.\n */\n SimpleRegex.escapeRegexSpecials = function (str, searchPattern) {\n if (searchPattern === void 0) { searchPattern = reSpecialCharactersFull; }\n return str.replace(searchPattern, '\\\\$&');\n };\n /**\n * Unescapes characters with special meaning inside a regular expression.\n *\n * @param str\n * @param searchPattern - Pattern for detecting special characters. Optional.\n */\n SimpleRegex.unescapeRegexSpecials = function (str, searchPattern) {\n if (searchPattern === void 0) { searchPattern = reEscapedSpecialCharactersFull; }\n return str.replace(searchPattern, function (match) { return match.substring(1); });\n };\n /**\n * Check if pattern is Regex\n */\n SimpleRegex.isRegexPattern = function (str) {\n return str.startsWith('/') && str.endsWith('/');\n };\n /**\n * Unescapes special characters in a string\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types#using_special_characters_in_strings\n */\n SimpleRegex.unescapeSpecials = function (str) {\n var keys = Object.keys(escapeSequence).join('|');\n var regex = new RegExp(\"\\\\\\\\(\".concat(keys, \")\"), 'g');\n return str.replace(regex, function (match, group) {\n return escapeSequence[group];\n });\n };\n /**\n * Matching the beginning of an address. With this character you don't\n * have to specify a particular protocol and subdomain in address mask.\n * It means, || stands for http://*., https://*., ws://*., wss://*. at once.\n */\n SimpleRegex.MASK_START_URL = '||';\n /**\n * REGEX_START_URL corresponds to MASK_START_URL\n */\n SimpleRegex.REGEX_START_URL = '^(http|https|ws|wss)://([a-z0-9-_.]+\\\\.)?';\n /**\n * A pointer to the beginning or the end of address. The value depends on the\n * character placement in the mask. For example, a rule swf| corresponds\n * to http://example.com/annoyingflash.swf , but not to http://example.com/swf/index.html.\n * |http://example.org corresponds to http://example.org,\n * but not to http://domain.com?url=http://example.org.\n */\n SimpleRegex.MASK_PIPE = '|';\n /**\n * REGEX_END_STRING corresponds to MASK_PIPE if it is in the end of a pattern.\n */\n SimpleRegex.REGEX_END_STRING = '$';\n /**\n * REGEX_START_STRING corresponds to MASK_PIPE if it is in the beginning of a pattern.\n */\n SimpleRegex.REGEX_START_STRING = '^';\n /**\n * Separator character mark. Separator character is any character,\n * but a letter, a digit, or one of the following: _ - .\n */\n SimpleRegex.MASK_SEPARATOR = '^';\n /**\n * REGEX_SEPARATOR corresponds to MASK_SEPARATOR\n */\n SimpleRegex.REGEX_SEPARATOR = '([^ a-zA-Z0-9.%_-]|$)';\n /**\n * This is a wildcard character. It is used to represent \"any set of characters\".\n * This can also be an empty string or a string of any length.\n */\n SimpleRegex.MASK_ANY_CHARACTER = '*';\n /**\n * Path separator\n */\n SimpleRegex.MASK_BACKSLASH = '/';\n /**\n * REGEX_ANY_CHARACTER corresponds to MASK_ANY_CHARACTER.\n */\n SimpleRegex.REGEX_ANY_CHARACTER = '.*';\n /**\n * Enclose regex in two backslashes to mark a regex rule:\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#regular-expressions-support\n */\n SimpleRegex.MASK_REGEX_RULE = '/';\n /**\n * Regex for matching special characters in modifier regex pattern\n */\n SimpleRegex.reModifierPatternSpecialCharacters = /[[\\],\\\\]/g;\n /**\n * Regex for matching escaped special characters in modifier regex pattern\n */\n SimpleRegex.reModifierPatternEscapedSpecialCharacters = /\\\\[[\\],\\\\]/g;\n /**\n * If string starts with exclamation mark \"!\" we consider it as comment\n */\n SimpleRegex.MASK_COMMENT = '!';\n /**\n * Min length of rule shortcut\n * This value has been picked as a result of performance experiments\n */\n SimpleRegex.MIN_SHORTCUT_LENGTH = 3;\n /**\n * Min length of generic rule shortcut\n */\n SimpleRegex.MIN_GENERIC_RULE_LENGTH = 4;\n /** Regex with basic matching pattern special characters */\n SimpleRegex.rePatternSpecialCharacters = new RegExp('[*^|]');\n return SimpleRegex;\n }());\n\n var _a, _b;\n /**\n * Array of special modifiers allow to check for modifier name more efficient\n * by avoiding Object.values(SpecialModifier) calls in custom type-guard while\n * allowing the usage of 'const enum' for SpecialModifier\n */\n var SpecialModifiers = [\n \"replace\" /* SpecialModifier.Replace */,\n \"removeparam\" /* SpecialModifier.Removeparam */,\n \"hls\" /* SpecialModifier.Hls */,\n ];\n var isSpecialModifierToken = function (token) { return token.type === \"specialModifier\" /* TokenType.SpecialModifier */; };\n /**\n * TODO (s.atroschenko) git rid of necessity of adding modifier names for simple regexp values (removaparam, hls):\n * use unified 'simple-regexp' pattern instead\n */\n var modifiersPatterns = (_a = {},\n _a[\"replace\" /* SpecialModifier.Replace */] = [\"regexp\" /* Phase.Regexp */, \"replacement\" /* Phase.Replacement */, \"flags\" /* Phase.Flags */],\n _a[\"removeparam\" /* SpecialModifier.Removeparam */] = [\"regexp\" /* Phase.Regexp */, \"flags\" /* Phase.Flags */],\n _a[\"hls\" /* SpecialModifier.Hls */] = [\"regexp\" /* Phase.Regexp */, \"flags\" /* Phase.Flags */],\n _a);\n /**\n * Extracts modifier's plain value\n */\n var parsePlainValue = function (string, startIndex) {\n var modifierValue = '';\n var modifierEndIndex = -1;\n var chars = [];\n for (var i = startIndex; i < string.length; i += 1) {\n var c = string[i];\n var isLastChar = i === (string.length - 1);\n var isUnescapedChar = i > 0 && !(string[i - 1] === \"\\\\\" /* SpecialCharacter.OptionEscape */);\n if ((c === \",\" /* SpecialCharacter.OptionDelimiter */ && isUnescapedChar) || isLastChar) {\n if (isLastChar) {\n chars.push(c);\n }\n modifierValue = chars.join('');\n modifierEndIndex = i;\n break;\n }\n else {\n chars.push(c);\n }\n }\n return {\n modifierValue: modifierValue,\n modifierEndIndex: modifierEndIndex,\n };\n };\n /**\n * Extract modifier's regexp(-like) value\n *\n * @throws on invalid special modifier value\n */\n var parseRegexpValue = function (string, startIndex, pattern) {\n var currentPhase;\n var nextPhase = (function () {\n var i = 0;\n return function () {\n if (i < pattern.length) {\n currentPhase = pattern[i];\n i += 1;\n return;\n }\n // Undefined phase indicates that there were more Regexp delimiters\n // than pattern implies and that makes modifier value invalid\n throw new Error('Invalid pattern for regexp modifier value.');\n };\n })();\n var modifierValue = '';\n var modifierEndIndex = -1;\n var chars = [];\n for (var i = startIndex; i < string.length; i += 1) {\n var c = string[i];\n var isLastChar = i === (string.length - 1);\n var isUnescapedChar = i > 0 && !(string[i - 1] === \"\\\\\" /* SpecialCharacter.OptionEscape */);\n if (c === \"/\" /* SpecialCharacter.RegexpDelimiter */ && isUnescapedChar) {\n // Step into the next pattern phase\n nextPhase();\n }\n if ((c === \",\" /* SpecialCharacter.OptionDelimiter */ && isUnescapedChar) || isLastChar) {\n // Skip unescaped commas that are part of regexp\n if (currentPhase === \"regexp\" /* Phase.Regexp */) {\n chars.push(c);\n continue;\n }\n if (isLastChar) {\n chars.push(c);\n }\n // Unescaped delimiter and/or last character indicates\n // the end of the modifier value, if current phase is the last one\n if (currentPhase === pattern[pattern.length - 1]) {\n modifierValue = chars.join('');\n modifierEndIndex = i;\n break;\n }\n else {\n throw new Error('Unexpected options delimiter or end of options string.');\n }\n }\n else {\n chars.push(c);\n }\n }\n return {\n modifierValue: modifierValue,\n modifierEndIndex: modifierEndIndex,\n };\n };\n var modifierValueParsers = (_b = {},\n _b[\"regexp\" /* ModifierValueType.Regexp */] = parseRegexpValue,\n _b[\"plain\" /* ModifierValueType.Plain */] = parsePlainValue,\n _b);\n /**\n * Processes raw tokens by splitting token values by delimiter\n *\n * @param preprocessedTokens array of preprocessed tokens (of TokenType.SpecialModifier | TokenType.Raw type)\n * @param delimiter - delimiter\n * @param escapeCharacter - escape character\n * @param unescape if true, remove escape characters from string\n * @returns array of processed tokens\n */\n var tokenize = function (preprocessedTokens, delimiter, escapeCharacter, unescape) {\n // Split raw tokens\n var nestedProcessedTokens = preprocessedTokens\n .map(function (token) {\n // Modifier tokens are already concrete tokens and are being passed down the pipeline here\n if (isSpecialModifierToken(token)) {\n return token;\n }\n var tokenValue = token.value;\n var tokens = [];\n var chars = [];\n var makeToken = function (type) {\n tokens.push({\n type: type,\n value: chars.join(''),\n });\n chars = [];\n };\n for (var i = 0; i < tokenValue.length; i += 1) {\n var c = tokenValue[i];\n if (c === delimiter) {\n var isEscaped = i > 0 && tokenValue[i - 1] === escapeCharacter;\n if (isEscaped) {\n if (unescape) {\n chars.splice(chars.length - 1, 1);\n }\n chars.push(c);\n }\n else {\n // Don't make token with '' value\n // when raw token starts with a delimiter\n if (chars.length !== 0) {\n makeToken(\"string\" /* TokenType.String */);\n }\n chars.push(c);\n makeToken(\"delim\" /* TokenType.Delimiter */);\n }\n }\n else {\n chars.push(c);\n // Last character case\n if (i === (tokenValue.length - 1)) {\n makeToken(\"string\" /* TokenType.String */);\n }\n }\n }\n return tokens;\n });\n // Flatten the result\n var processedTokens = [];\n for (var i = 0; i < nestedProcessedTokens.length; i += 1) {\n var currentVal = nestedProcessedTokens[i];\n if (Array.isArray(currentVal)) {\n processedTokens.push.apply(processedTokens, currentVal);\n }\n else {\n processedTokens.push(currentVal);\n }\n }\n return processedTokens;\n };\n /**\n * Converts arrays of tokens into array of their values\n *\n * @param tokens array of arbitrary tokens\n * @returns array of tokens' values\n */\n var makeWords = function (tokens) {\n var words = [];\n for (var i = 0; i < tokens.length; i += 1) {\n var token = tokens[i];\n if (token.type !== \"delim\" /* TokenType.Delimiter */) {\n words.push(token.value);\n }\n }\n return words;\n };\n /**\n * Parses special modifier value\n *\n * @param modifierName name of modifier to be parsed\n * @param string options string\n * @returns object with Modifier token value and next index to keep iterating from\n */\n function parseSpecialModifier(modifierName, string) {\n var tokenValue = \"\".concat(modifierName).concat(\"=\" /* SpecialCharacter.ModifierValueMarker */);\n var modifierValueStartIndex = string.indexOf(tokenValue) + tokenValue.length;\n // Define modifier value type\n var valueType = string[modifierValueStartIndex] === \"/\" /* SpecialCharacter.RegexpDelimiter */\n ? \"regexp\" /* ModifierValueType.Regexp */\n : \"plain\" /* ModifierValueType.Plain */;\n // Pick parser for specific type of modifier value\n var parser = modifierValueParsers[valueType];\n // Get pattern of current modifier\n var pattern = modifiersPatterns[modifierName];\n var _a = parser(string, modifierValueStartIndex, pattern), modifierValue = _a.modifierValue, modifierEndIndex = _a.modifierEndIndex;\n if (modifierEndIndex === -1) {\n throw new Error(\"Invalid $\".concat(modifierName, \" modifier value.\"));\n }\n tokenValue += modifierValue;\n var nextIndex = modifierEndIndex;\n return {\n tokenValue: tokenValue,\n nextIndex: nextIndex,\n };\n }\n /**\n * Converts options string into array of Raw and Modifier tokens\n *\n * @param string options string\n * @returns array of preprocessed tokens\n */\n function splitBySpecialModifierTokens(string) {\n var tokens = [];\n var chars = [];\n var makeToken = function (tokenType, tokenValue) {\n tokens.push({\n type: tokenType,\n value: tokenValue,\n });\n chars = [];\n };\n for (var i = 0; i < string.length; i += 1) {\n var c = string[i];\n var isUnescapedChar = i > 0 && !(string[i - 1] === \"\\\\\" /* SpecialCharacter.OptionEscape */);\n if (c === \"=\" /* SpecialCharacter.ModifierValueMarker */ && isUnescapedChar) {\n // Parse current chars array to get modifier name\n // Assume that modifier name is everything after last ',' and before current '='\n var charsStr = chars.join('');\n var lastCommaIndex = charsStr.lastIndexOf(\",\" /* SpecialCharacter.OptionDelimiter */, i);\n // Assertion is used to avoid type-guard for SpecialModifier, making it faster,\n // and reduce call stack size\n var modifierName = charsStr.substring(lastCommaIndex + 1);\n // Check if this is modifier that requires custom parsing logic\n if (!SpecialModifiers.includes(modifierName)) {\n chars.push(c);\n // Last character case\n if (i === (string.length - 1)) {\n makeToken(\"raw\" /* TokenType.Raw */, charsStr);\n }\n continue;\n }\n // Remove modifier name from char stack,\n // make token from whats left and empty chars\n makeToken(\"raw\" /* TokenType.Raw */, charsStr.substring(0, charsStr.lastIndexOf(modifierName)));\n // Extract predefined token value and next iteration index\n // Token value includes both name, separator('=') and value of modifier\n var _a = parseSpecialModifier(modifierName, string), tokenValue = _a.tokenValue, nextIndex = _a.nextIndex;\n makeToken(\"specialModifier\" /* TokenType.SpecialModifier */, tokenValue);\n i = nextIndex;\n }\n else {\n chars.push(c);\n // Last character case\n if (i === (string.length - 1)) {\n makeToken(\"raw\" /* TokenType.Raw */, chars.join(''));\n }\n }\n }\n return tokens;\n }\n /**\n * Splits options string into array of modifier=value pairs\n *\n * @param string - string to split\n * @param unescape - if true, remove escape characters from string\n * @return array of string parts\n * @throws on invalid special modifier value\n */\n function parseOptionsString(string, unescape) {\n if (unescape === void 0) { unescape = true; }\n if (!string) {\n return [];\n }\n if (string.startsWith(\",\" /* SpecialCharacter.OptionDelimiter */)) {\n // eslint-disable-next-line no-param-reassign\n string = string.substring(1);\n }\n /**\n * Extract modifier tokens for modifiers that require custom parsing\n * https://github.com/AdguardTeam/tsurlfilter/issues/79\n */\n var preprocessedTokens = splitBySpecialModifierTokens(string);\n /**\n * Split raw tokens by delimiter\n */\n var tokens = tokenize(preprocessedTokens, \",\" /* SpecialCharacter.OptionDelimiter */, \"\\\\\" /* SpecialCharacter.OptionEscape */, unescape);\n /**\n * Join tokens into words\n */\n return makeWords(tokens);\n }\n\n var CosmeticRuleModifiers;\n (function (CosmeticRuleModifiers) {\n CosmeticRuleModifiers[\"Path\"] = \"path\";\n CosmeticRuleModifiers[\"Domain\"] = \"domain\";\n })(CosmeticRuleModifiers || (CosmeticRuleModifiers = {}));\n var CosmeticRuleModifiersSyntax = {\n OpenBracket: '[',\n CloseBracket: ']',\n SpecialSymbol: '$',\n Delimiter: ',',\n Assigner: '=',\n EscapeCharacter: '\\\\',\n };\n\n var cosmeticRuleModifiersList = Object.values(CosmeticRuleModifiers);\n /**\n * Helper class for parsing text of cosmetic rules\n * used by CosmeticRule and [Filter compiler](https://github.com/AdguardTeam/FiltersCompiler)\n *\n *\n * The cosmetic rule contains of the following parts:\n *\n * `pattern##content`\n *\n * `pattern` contains the list of the rule modifiers and domains.\n *\n * `##` is a marker (might be a different marker depending on the rule type).\n * You can find the list of markers in the CosmeticRuleMarker enumeration.\n *\n * `content` might be a CSS selector, a scriptlet or something else, depending on the rule type.\n */\n var CosmeticRuleParser = /** @class */ (function () {\n function CosmeticRuleParser() {\n }\n /**\n * Parse the rule's pattern, cosmetic marker and the content parts from the rule text.\n * If the content is empty, throws a SyntaxError.\n *\n * @param ruleText\n * @returns Object with pattern, marker and content text parts\n */\n CosmeticRuleParser.parseRuleTextByMarker = function (ruleText) {\n var _a = findCosmeticRuleMarker(ruleText), markerIndex = _a[0], marker = _a[1];\n if (marker === null) {\n throw new SyntaxError('Not a cosmetic rule');\n }\n var content = ruleText.substring(markerIndex + marker.length).trim();\n if (!content) {\n throw new SyntaxError('Rule content is empty');\n }\n var pattern;\n if (markerIndex > 0) {\n pattern = ruleText.substring(0, markerIndex);\n }\n return {\n pattern: pattern,\n marker: marker,\n content: content,\n };\n };\n /**\n * Extracts the rule modifiers and domains from the rule pattern.\n * @param rulePattern\n * @returns Object with modifiers and domains text parts\n */\n CosmeticRuleParser.parseRulePatternText = function (rulePattern) {\n var OpenBracket = CosmeticRuleModifiersSyntax.OpenBracket, CloseBracket = CosmeticRuleModifiersSyntax.CloseBracket, SpecialSymbol = CosmeticRuleModifiersSyntax.SpecialSymbol, EscapeCharacter = CosmeticRuleModifiersSyntax.EscapeCharacter;\n if (!rulePattern.startsWith(\"\".concat(OpenBracket + SpecialSymbol))) {\n return { domainsText: rulePattern };\n }\n var closeBracketIndex;\n // The first two characters cannot be closing brackets\n for (var i = 2; i < rulePattern.length; i += 1) {\n if (rulePattern[i] === CloseBracket && rulePattern[i - 1] !== EscapeCharacter) {\n closeBracketIndex = i;\n break;\n }\n }\n if (!closeBracketIndex) {\n throw new SyntaxError('Can\\'t parse modifiers list');\n }\n // Handle this case: `[$]`\n if (closeBracketIndex === 2) {\n throw new SyntaxError('Modifiers list can\\'t be empty');\n }\n var modifiersText = rulePattern.slice(2, closeBracketIndex);\n var domainsText;\n if (closeBracketIndex < rulePattern.length - 1) {\n domainsText = rulePattern.slice(closeBracketIndex + 1);\n }\n return {\n modifiersText: modifiersText,\n domainsText: domainsText,\n };\n };\n /**\n * Parses the list of modifiers. Parsing is done in the same way as it's done in the NetworkRule, i.e.\n * we have a comma-separated list of modifier-value pairs.\n * If we encounter an invalid modifier, this method throws a SyntaxError.\n *\n * @param modifiersText - list of modifiers splited by comma\n * @returns - modifiers collection object\n */\n CosmeticRuleParser.parseRuleModifiers = function (modifiersText) {\n if (!modifiersText) {\n return null;\n }\n var Assigner = CosmeticRuleModifiersSyntax.Assigner;\n var modifiersTextArray = parseOptionsString(modifiersText, false);\n var modifiers = Object.create(null);\n for (var i = 0; i < modifiersTextArray.length; i += 1) {\n var modifierText = modifiersTextArray[i];\n var assignerIndex = modifierText.indexOf(Assigner);\n if (modifierText === 'path') {\n // Empty path modifier without assigner and value will match only main page\n modifiers[modifierText] = '';\n continue;\n }\n if (assignerIndex === -1) {\n throw new SyntaxError('Modifier must have assigned value');\n }\n var modifierKey = modifierText.substring(0, assignerIndex);\n if (cosmeticRuleModifiersList.includes(modifierKey)) {\n var modifierValue = modifierText.substring(assignerIndex + 1);\n modifiers[modifierKey] = modifierValue;\n }\n else {\n throw new SyntaxError(\"'\".concat(modifierKey, \"' is not valid modifier\"));\n }\n }\n return modifiers;\n };\n /**\n * Parses the rule pattern and extracts the permitted/restricted domains and the unescaped path modifier value,\n * If domains are declared through $domain modifier and pattern domain list, this method throws a SyntaxError.\n * @param rulePattern - rule pattern text\n *\n * @returns Object with permitted/restricted domains list and the path modifier string value\n */\n CosmeticRuleParser.parseRulePattern = function (rulePattern) {\n var _a = CosmeticRuleParser.parseRulePatternText(rulePattern), domainsText = _a.domainsText, modifiersText = _a.modifiersText;\n var domains = domainsText;\n var path;\n var modifiers = CosmeticRuleParser.parseRuleModifiers(modifiersText);\n if (modifiers) {\n if (modifiers.path || modifiers.path === '') {\n path = modifiers.path;\n if (SimpleRegex.isRegexPattern(path)) {\n path = SimpleRegex.unescapeRegexSpecials(path, SimpleRegex.reModifierPatternEscapedSpecialCharacters);\n }\n }\n if (modifiers.domain) {\n if (domains) {\n throw new SyntaxError('The $domain modifier is not allowed in a domain-specific rule');\n }\n else {\n domains = modifiers.domain;\n }\n }\n }\n var permittedDomains;\n var restrictedDomains;\n // Skip wildcard domain\n if (domains && domains !== SimpleRegex.MASK_ANY_CHARACTER) {\n var separator = (modifiers === null || modifiers === void 0 ? void 0 : modifiers.domain) ? PIPE_SEPARATOR : COMMA_SEPARATOR;\n var domainModifier = new DomainModifier(domains, separator);\n if (domainModifier.permittedDomains) {\n permittedDomains = domainModifier.permittedDomains;\n }\n if (domainModifier.restrictedDomains) {\n restrictedDomains = domainModifier.restrictedDomains;\n }\n }\n return {\n path: path,\n permittedDomains: permittedDomains,\n restrictedDomains: restrictedDomains,\n };\n };\n return CosmeticRuleParser;\n }());\n\n /**\n * Rule pattern class\n *\n * This class parses rule pattern text to simple fields.\n */\n var Pattern = /** @class */ (function () {\n /**\n * Constructor\n * @param pattern\n * @param matchcase\n */\n function Pattern(pattern, matchcase) {\n if (matchcase === void 0) { matchcase = false; }\n this.pattern = pattern;\n this.shortcut = SimpleRegex.extractShortcut(this.pattern);\n this.matchcase = matchcase;\n }\n /**\n * Checks if this rule pattern matches the specified request.\n *\n * @param request - request to check\n * @param shortcutMatched if true, it means that the request already matches\n * this pattern's shortcut and we don't need to match it again.\n * @returns true if pattern matches\n */\n Pattern.prototype.matchPattern = function (request, shortcutMatched) {\n this.prepare();\n if (this.patternShortcut) {\n return shortcutMatched || this.matchShortcut(request.urlLowercase);\n }\n if (this.hostname) {\n // If we have a `||example.org^` rule, it's easier to match\n // against the request's hostname only without matching\n // a regular expression.\n return request.hostname === this.hostname\n || ( // First light check without new string memory allocation\n request.hostname.endsWith(this.hostname)\n // Strict check\n && request.hostname.endsWith(\".\".concat(this.hostname)));\n }\n // If the regular expression is invalid, just return false right away.\n if (this.regexInvalid || !this.regex) {\n return false;\n }\n // This is needed for DNS filtering only, not used in browser blocking.\n if (this.shouldMatchHostname(request)) {\n return this.regex.test(request.hostname);\n }\n return this.regex.test(request.url);\n };\n /**\n * Checks if this rule pattern matches the specified relative path string.\n * This method is used in cosmetic rules to implement the $path modifier matching logic.\n *\n * @param path - path to check\n * @returns true if pattern matches\n */\n Pattern.prototype.matchPathPattern = function (path) {\n this.prepare();\n if (this.hostname) {\n return false;\n }\n var pathIsEmptyString = this.pattern === '';\n // No-value $path should match root URL\n if (pathIsEmptyString && path === '/') {\n return true;\n }\n if (!pathIsEmptyString && this.patternShortcut) {\n return this.matchShortcut(path);\n }\n // If the regular expression is invalid, just return false right away.\n if (this.regexInvalid || !this.regex) {\n return false;\n }\n return this.regex.test(path);\n };\n /**\n * matchShortcut simply checks if shortcut is a substring of the URL.\n * @param request - request to check.\n */\n Pattern.prototype.matchShortcut = function (str) {\n return str.indexOf(this.shortcut) >= 0;\n };\n /**\n * Prepares this pattern\n */\n Pattern.prototype.prepare = function () {\n if (this.prepared) {\n return;\n }\n this.prepared = true;\n // If shortcut and pattern are the same, we don't need to actually compile\n // a regex and can simply use matchShortcut instead,\n // except for the $match-case modifier\n if (this.pattern === this.shortcut && !this.matchcase) {\n this.patternShortcut = true;\n return;\n }\n // Rules like `/example/*` are rather often in the real-life filters,\n // we might want to process them.\n if (this.pattern.startsWith(this.shortcut)\n && this.pattern.length === this.shortcut.length + 1\n && this.pattern.endsWith('*')) {\n this.patternShortcut = true;\n return;\n }\n if (this.pattern.startsWith(SimpleRegex.MASK_START_URL)\n && this.pattern.endsWith(SimpleRegex.MASK_SEPARATOR)\n && this.pattern.indexOf('*') < 0\n && this.pattern.indexOf('/') < 0) {\n this.hostname = this.pattern.slice(2, this.pattern.length - 1);\n return;\n }\n this.compileRegex();\n };\n /**\n * Compiles this pattern regex\n */\n Pattern.prototype.compileRegex = function () {\n var regexText = SimpleRegex.patternToRegexp(this.pattern);\n try {\n var flags = 'i';\n if (this.matchcase) {\n flags = '';\n }\n this.regex = new RegExp(regexText, flags);\n }\n catch (e) {\n this.regexInvalid = true;\n }\n };\n /**\n * Checks if we should match hostnames and not the URL\n * this is important for the cases when we use urlfilter for DNS-level blocking\n * Note, that even though we may work on a DNS-level, we should still sometimes match full URL instead\n *\n * @param request\n */\n Pattern.prototype.shouldMatchHostname = function (request) {\n if (!request.isHostnameRequest) {\n return false;\n }\n return !this.isPatternDomainSpecific();\n };\n /**\n * In case pattern starts with the following it targets some specific domain\n */\n Pattern.prototype.isPatternDomainSpecific = function () {\n if (this.patternDomainSpecific === undefined) {\n this.patternDomainSpecific = this.pattern.startsWith(SimpleRegex.MASK_START_URL)\n || this.pattern.startsWith('http://')\n || this.pattern.startsWith('https:/')\n || this.pattern.startsWith('://');\n }\n return this.patternDomainSpecific;\n };\n return Pattern;\n }());\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n /**\n * Scriptlets helper class\n */\n // eslint-disable-next-line max-classes-per-file\n var ScriptletParser = /** @class */ (function () {\n function ScriptletParser() {\n }\n /**\n * Iterate over iterable argument and evaluate current state with transitions\n *\n * @param {Array|Collection|string} iterable\n * @param {Object} transitions transition functions\n * @param {string} initState first transition name\n * @param {any} args arguments which should be passed to transition functions\n * @returns {string} transition\n */\n ScriptletParser.iterateWithTransitions = function (iterable, transitions, initState, args) {\n var state = initState;\n for (var i = 0; i < iterable.length; i += 1) {\n state = transitions[state](iterable, i, args);\n }\n return state;\n };\n /**\n * Parse and validate scriptlet rule\n * @param {*} ruleContent\n * @returns {{name: string, args: Array}}\n */\n ScriptletParser.parseRule = function (ruleContent) {\n var _a;\n var transitions = (_a = {},\n _a[ScriptletParser.TRANSITION.OPENED] = ScriptletParser.opened,\n _a[ScriptletParser.TRANSITION.PARAM] = ScriptletParser.param,\n _a[ScriptletParser.TRANSITION.CLOSED] = function () { },\n _a);\n var sep = { symb: null };\n var saver = new ScriptletParser.WordSaver();\n var state = ScriptletParser.iterateWithTransitions(ruleContent, transitions, ScriptletParser.TRANSITION.OPENED, { sep: sep, saver: saver });\n if (state !== 'closed') {\n throw new Error(\"Invalid scriptlet \".concat(ruleContent));\n }\n var args = saver.getAll();\n return {\n name: args[0],\n args: args.slice(1),\n };\n };\n /**\n * Helper class to accumulate an array of strings char by char\n */\n ScriptletParser.WordSaver = /** @class */ (function () {\n function class_1() {\n /**\n * String cursor\n */\n this.str = '';\n /**\n * Strings array\n */\n this.collectedStrings = [];\n }\n /**\n * Saves symbol to cursor\n *\n * @param s\n */\n class_1.prototype.saveSymbol = function (s) {\n this.str += s;\n };\n /**\n * Saves cursor to strings\n */\n class_1.prototype.saveStr = function () {\n this.collectedStrings.push(this.str);\n this.str = '';\n };\n /**\n * Returns collected strings\n */\n class_1.prototype.getAll = function () {\n return __spreadArray([], this.collectedStrings, true);\n };\n return class_1;\n }());\n /**\n * Transition names\n */\n ScriptletParser.TRANSITION = {\n OPENED: 'opened',\n PARAM: 'param',\n CLOSED: 'closed',\n };\n /**\n * Transition function: the current index position in start, end or between params\n * @param {string} rule\n * @param {number} index\n * @param {Object} Object\n * @property {Object} Object.sep contains prop symb with current separator char\n * @returns {string} transition\n */\n ScriptletParser.opened = function (rule, index, _a) {\n var sep = _a.sep;\n var char = rule[index];\n switch (char) {\n case ' ':\n case '(':\n case ',':\n return ScriptletParser.TRANSITION.OPENED;\n case '\\'':\n case '\"':\n // eslint-disable-next-line no-param-reassign\n sep.symb = char;\n return ScriptletParser.TRANSITION.PARAM;\n case ')':\n return index === rule.length - 1\n ? ScriptletParser.TRANSITION.CLOSED\n : ScriptletParser.TRANSITION.OPENED;\n }\n return undefined;\n };\n /**\n * Transition function: the current index position inside param\n *\n * @param {string} rule\n * @param {number} index\n * @param {Object} Object\n * @property {Object} Object.sep contains prop `symb` with current separator char\n * @property {Object} Object.saver helper which allow to save strings by car by char\n * @returns {string} transition\n */\n ScriptletParser.param = function (rule, index, _a) {\n var saver = _a.saver, sep = _a.sep;\n var char = rule[index];\n switch (char) {\n case '\\'':\n case '\"':\n if (char === sep.symb && rule[index - 1] !== '\\\\') {\n // eslint-disable-next-line no-param-reassign\n sep.symb = null;\n saver.saveStr();\n return ScriptletParser.TRANSITION.OPENED;\n }\n saver.saveSymbol(char);\n return ScriptletParser.TRANSITION.PARAM;\n default:\n saver.saveSymbol(char);\n return ScriptletParser.TRANSITION.PARAM;\n }\n };\n return ScriptletParser;\n }());\n\n /**\n * CosmeticRuleType is an enumeration of the possible\n * cosmetic rule types.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-rules\n */\n exports.CosmeticRuleType = void 0;\n (function (CosmeticRuleType) {\n /**\n * Cosmetic rules that just hide page elements.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#element-hiding-rules\n */\n CosmeticRuleType[CosmeticRuleType[\"ElementHiding\"] = 0] = \"ElementHiding\";\n /**\n * Cosmetic rules that allow adding custom CSS styles.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#cosmetic-css-rules\n */\n CosmeticRuleType[CosmeticRuleType[\"Css\"] = 1] = \"Css\";\n /**\n * Cosmetic rules that allow executing custom JS scripts.\n * Some restrictions are applied to this type of rules by default.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#javascript-rules\n */\n CosmeticRuleType[CosmeticRuleType[\"Js\"] = 2] = \"Js\";\n /**\n * Special type of rules that allows filtering HTML code of web pages.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#html-filtering-rules\n */\n CosmeticRuleType[CosmeticRuleType[\"Html\"] = 3] = \"Html\";\n })(exports.CosmeticRuleType || (exports.CosmeticRuleType = {}));\n /**\n * Pseudo class indicators. They are used to detect if rule is extended or not even if rule does not\n * have extended css marker\n */\n var EXT_CSS_PSEUDO_INDICATORS = [\n /**\n * Pseudo-classes :is(), and :not() may use native implementation\n * so they are not listed here\n * https://github.com/AdguardTeam/ExtendedCss#extended-css-is\n * https://github.com/AdguardTeam/ExtendedCss#extended-css-not\n */\n /**\n * :has() should also be conditionally considered as extended and should not be in this list\n * https://github.com/AdguardTeam/ExtendedCss#extended-css-has\n * but there is a bug with content blocker in safari\n * https://bugs.webkit.org/show_bug.cgi?id=248868\n *\n * TODO: remove ':has(' later\n */\n ':has(',\n ':contains(',\n ':matches-css(',\n ':matches-attr(',\n ':matches-property(',\n ':xpath(',\n ':upward(',\n ':nth-ancestor(',\n ':remove(',\n // aliases for :has()\n ':-abp-has(',\n // aliases for :contains()\n ':has-text(',\n ':-abp-contains(',\n // old syntax\n '[-ext-has=',\n '[-ext-contains=',\n '[-ext-has-text=',\n '[-ext-matches-css=',\n '[-ext-matches-css-before=',\n '[-ext-matches-css-after=',\n // obsolete since ExtendedCss v2.0.2 but still compatible\n // https://github.com/AdguardTeam/ExtendedCss/releases/tag/v2.0.2\n ':matches-css-before(',\n ':matches-css-after(',\n ];\n /**\n * Implements a basic cosmetic rule.\n *\n * Cosmetic rules syntax are almost similar and looks like this:\n * ```\n * rule = [domains] \"marker\" content\n * domains = [domain0, domain1[, ...[, domainN]]]\n * ```\n *\n * The rule type is defined by the `marker` value, you can find the list of them\n * in the {@see CosmeticRuleMarker} enumeration.\n *\n * What matters, though, is what's in the `content` part of it.\n *\n * Examples:\n * * `example.org##.banner` -- element hiding rule\n * * `example.org#$#.banner { display: block; }` -- CSS rule\n * * `example.org#%#window.x=1;` -- JS rule\n * * `example.org#%#//scriptlet('scriptlet-name')` -- Scriptlet rule\n * * `example.org$$div[id=\"test\"]` -- HTML filtering rule\n */\n var CosmeticRule = /** @class */ (function () {\n /**\n * Creates an instance of the {@link CosmeticRule}.\n * It parses the rule and extracts the permitted/restricted domains,\n * and also the cosmetic rule's content.\n *\n * Depending on the rule type, the content might be transformed in\n * one of the helper classes, or kept as string when it's appropriate.\n *\n * @param ruleText - original rule text.\n * @param filterListId - ID of the filter list this rule belongs to.\n *\n * @throws error if it fails to parse the rule.\n */\n function CosmeticRule(ruleText, filterListId) {\n this.allowlist = false;\n this.extendedCss = false;\n this.permittedDomains = undefined;\n this.restrictedDomains = undefined;\n /**\n * Js script to execute\n */\n this.script = undefined;\n /**\n * Object with script code ready to execute and debug, domain values\n * @private\n */\n this.scriptData = null;\n /**\n * Object with scriptlet function and params\n * @private\n */\n this.scriptletData = null;\n /**\n * If the rule contains scriptlet content\n */\n this.isScriptlet = false;\n this.ruleText = ruleText;\n this.filterListId = filterListId;\n var _a = CosmeticRuleParser.parseRuleTextByMarker(ruleText), pattern = _a.pattern, marker = _a.marker, content = _a.content;\n this.content = content;\n this.type = CosmeticRule.parseType(marker);\n this.extendedCss = isExtCssMarker(marker);\n if (!this.extendedCss\n && (this.type === exports.CosmeticRuleType.ElementHiding\n || this.type === exports.CosmeticRuleType.Css)) {\n // additional check if rule is extended css rule by pseudo class indicators\n for (var i = 0; i < EXT_CSS_PSEUDO_INDICATORS.length; i += 1) {\n if (this.content.indexOf(EXT_CSS_PSEUDO_INDICATORS[i]) !== -1) {\n this.extendedCss = true;\n break;\n }\n }\n }\n CosmeticRule.validate(ruleText, this.type, content, this.extendedCss);\n if (pattern) {\n // This means that the marker is preceded by the list of domains and modifiers\n // Now it's a good time to parse them.\n var _b = CosmeticRuleParser.parseRulePattern(pattern), path = _b.path, permittedDomains = _b.permittedDomains, restrictedDomains = _b.restrictedDomains;\n if (path || path === '') {\n this.pathModifier = new Pattern(path);\n }\n if (permittedDomains) {\n this.permittedDomains = permittedDomains;\n }\n if (restrictedDomains) {\n this.restrictedDomains = restrictedDomains;\n }\n }\n this.allowlist = CosmeticRule.parseAllowlist(marker);\n this.isScriptlet = this.content.startsWith(ADG_SCRIPTLET_MASK);\n }\n /**\n * Parses first pseudo class from the specified CSS selector\n *\n * @param selector\n * @returns pseudo class name if found or null\n */\n CosmeticRule.parsePseudoClass = function (selector) {\n var beginIndex = 0;\n var nameStartIndex = -1;\n var squareBracketIndex = 0;\n while (squareBracketIndex >= 0) {\n nameStartIndex = selector.indexOf(':', beginIndex);\n if (nameStartIndex < 0) {\n return null;\n }\n if (nameStartIndex > 0 && selector.charAt(nameStartIndex - 1) === '\\\\') {\n // Escaped colon character\n return null;\n }\n squareBracketIndex = selector.indexOf('[', beginIndex);\n while (squareBracketIndex >= 0) {\n if (nameStartIndex > squareBracketIndex) {\n var squareEndBracketIndex = selector.indexOf(']', squareBracketIndex + 1);\n beginIndex = squareEndBracketIndex + 1;\n if (nameStartIndex < squareEndBracketIndex) {\n // Means that colon character is somewhere inside attribute selector\n // Something like a[src^=\"http://domain.com\"]\n break;\n }\n if (squareEndBracketIndex > 0) {\n squareBracketIndex = selector.indexOf('[', beginIndex);\n }\n else {\n // bad rule, example: a[src=\"http:\n return null;\n }\n }\n else {\n squareBracketIndex = -1;\n break;\n }\n }\n }\n var nameEndIndex = indexOfAny(selector, [' ', ',', '\\t', '>', '(', '[', '.', '#', ':', '+', '~', '\"', '\\''], nameStartIndex + 1);\n if (nameEndIndex < 0) {\n nameEndIndex = selector.length;\n }\n var name = selector.substring(nameStartIndex, nameEndIndex);\n if (name.length <= 1) {\n // Either empty name or a pseudo element (like ::content)\n return null;\n }\n return name;\n };\n CosmeticRule.prototype.getText = function () {\n return this.ruleText;\n };\n CosmeticRule.prototype.getFilterListId = function () {\n return this.filterListId;\n };\n /**\n * Cosmetic rule type (always present)\n */\n CosmeticRule.prototype.getType = function () {\n return this.type;\n };\n /**\n * Allowlist means that this rule is meant to disable other rules.\n * For instance, https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#elemhide-exceptions\n */\n CosmeticRule.prototype.isAllowlist = function () {\n return this.allowlist;\n };\n /**\n * Gets the rule content. The meaning of this field depends on the rule type.\n * For instance, for an element hiding rule, this is just a CSS selector.\n * While, for a CSS rule, this is a CSS selector + style.\n */\n CosmeticRule.prototype.getContent = function () {\n return this.content;\n };\n /**\n * Returns script ready to execute or null\n * Rebuilds scriptlet script if debug or domain params change\n * @param options script options\n * @returns script code or null\n */\n CosmeticRule.prototype.getScript = function (options) {\n var _a, _b;\n if (options === void 0) { options = {}; }\n var _c = options.debug, debug = _c === void 0 ? false : _c, frameUrl = options.frameUrl;\n var scriptData = this.scriptData;\n if (scriptData && !this.isScriptlet) {\n return scriptData.code;\n }\n if (scriptData && scriptData.debug === debug) {\n if (frameUrl) {\n if (frameUrl === scriptData.frameUrl) {\n return scriptData.code;\n }\n }\n else {\n return scriptData.code;\n }\n }\n this.initScript(options);\n return (_b = (_a = this.scriptData) === null || _a === void 0 ? void 0 : _a.code) !== null && _b !== void 0 ? _b : null;\n };\n /**\n * Gets list of permitted domains.\n */\n CosmeticRule.prototype.getPermittedDomains = function () {\n return this.permittedDomains;\n };\n /**\n * Returns true if the rule is considered \"generic\"\n * \"generic\" means that the rule is not restricted to a limited set of domains\n * Please note that it might be forbidden on some domains, though.\n *\n * @return {boolean}\n */\n CosmeticRule.prototype.isGeneric = function () {\n return !this.permittedDomains || this.permittedDomains.length === 0;\n };\n /**\n * Gets list of restricted domains.\n */\n CosmeticRule.prototype.getRestrictedDomains = function () {\n return this.restrictedDomains;\n };\n CosmeticRule.prototype.isExtendedCss = function () {\n return this.extendedCss;\n };\n /**\n * Match returns true if this rule can be used on the specified request.\n *\n * @param request - request to check\n */\n CosmeticRule.prototype.match = function (request) {\n if (!this.permittedDomains && !this.restrictedDomains && !this.pathModifier) {\n return true;\n }\n if (this.matchesRestrictedDomains(request.hostname)) {\n /**\n * Domain or host is restricted\n * i.e. ~example.org##rule\n */\n return false;\n }\n if (this.hasPermittedDomains()) {\n if (!DomainModifier.isDomainOrSubdomainOfAny(request.hostname, this.permittedDomains)) {\n /**\n * Domain is not among permitted\n * i.e. example.org##rule and we're checking example.org\n */\n return false;\n }\n }\n if (this.pathModifier) {\n var path = getRelativeUrl(request.urlLowercase);\n if (path) {\n return this.pathModifier.matchPathPattern(path);\n }\n return false;\n }\n return true;\n };\n CosmeticRule.parseType = function (marker) {\n switch (marker) {\n case exports.CosmeticRuleMarker.ElementHiding:\n case exports.CosmeticRuleMarker.ElementHidingExtCSS:\n return exports.CosmeticRuleType.ElementHiding;\n case exports.CosmeticRuleMarker.ElementHidingException:\n case exports.CosmeticRuleMarker.ElementHidingExtCSSException:\n return exports.CosmeticRuleType.ElementHiding;\n case exports.CosmeticRuleMarker.Css:\n case exports.CosmeticRuleMarker.CssExtCSS:\n return exports.CosmeticRuleType.Css;\n case exports.CosmeticRuleMarker.CssException:\n case exports.CosmeticRuleMarker.CssExtCSSException:\n return exports.CosmeticRuleType.Css;\n case exports.CosmeticRuleMarker.Js:\n return exports.CosmeticRuleType.Js;\n case exports.CosmeticRuleMarker.JsException:\n return exports.CosmeticRuleType.Js;\n case exports.CosmeticRuleMarker.Html:\n return exports.CosmeticRuleType.Html;\n case exports.CosmeticRuleMarker.HtmlException:\n return exports.CosmeticRuleType.Html;\n default:\n throw new SyntaxError('Unsupported rule type');\n }\n };\n /**\n * Determines if rule is allowlist rule\n * @param marker\n * @private\n */\n CosmeticRule.parseAllowlist = function (marker) {\n switch (marker) {\n case exports.CosmeticRuleMarker.ElementHidingException:\n case exports.CosmeticRuleMarker.ElementHidingExtCSSException:\n case exports.CosmeticRuleMarker.CssException:\n case exports.CosmeticRuleMarker.CssExtCSSException:\n case exports.CosmeticRuleMarker.JsException:\n case exports.CosmeticRuleMarker.HtmlException:\n return true;\n default:\n return false;\n }\n };\n /**\n * Validate pseudo-classes\n *\n * @param ruleText\n * @param ruleContent\n * @throws SyntaxError\n */\n CosmeticRule.validatePseudoClasses = function (ruleText, ruleContent) {\n var pseudoClass = CosmeticRule.parsePseudoClass(ruleContent);\n if (pseudoClass !== null) {\n if (CosmeticRule.SUPPORTED_PSEUDO_CLASSES.indexOf(pseudoClass) < 0) {\n throw new SyntaxError(\"Unknown pseudo-class '\".concat(pseudoClass, \"' in selector: '\").concat(ruleContent, \"'\"));\n }\n }\n };\n /**\n * Simple validation for elemhide rules\n *\n * @param ruleText\n * @param ruleContent\n * @throws SyntaxError\n */\n CosmeticRule.validateElemhideRule = function (ruleText, ruleContent) {\n if (ruleText.startsWith(SimpleRegex.MASK_START_URL)) {\n throw new SyntaxError('Element hiding rule shouldn\\'t start with \"||\"');\n }\n if (CosmeticRule.ELEMHIDE_VALIDATION_REGEX.test(ruleContent)) {\n throw new SyntaxError('Invalid elemhide rule, style presented');\n }\n };\n CosmeticRule.validateJsRules = function (ruleText, ruleContent) {\n if (ruleContent.startsWith(ADG_SCRIPTLET_MASK)) {\n if (!scriptlets_umd.exports.isValidScriptletRule(ruleText)) {\n throw new SyntaxError('Invalid scriptlet');\n }\n }\n };\n /**\n * Validates css injection rules\n *\n * @param ruleText\n * @param ruleContent\n * @throws SyntaxError\n */\n CosmeticRule.validateCssRules = function (ruleText, ruleContent) {\n // Simple validation for css injection rules\n if (!/{.+}/.test(ruleContent)) {\n throw new SyntaxError('Invalid CSS modifying rule, no style presented');\n }\n // discard css inject rules containing \"url\"\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/1196\n if (/{.*url\\(.*\\)/gi.test(ruleContent)) {\n throw new SyntaxError('CSS modifying rule with \\'url\\' was omitted');\n }\n // discard css inject rules containing other unsafe selectors\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/1920\n if (/{.*image-set\\(.*\\)/gi.test(ruleContent)\n || /{.*image\\(.*\\)/gi.test(ruleContent)\n || /{.*cross-fade\\(.*\\)/gi.test(ruleContent)) {\n throw new SyntaxError('CSS modifying rule with unsafe style was omitted');\n }\n // Prohibit \"\\\" character in style of CSS injection rules\n // Check slash character only after the index of last opening curly brackets\n if (ruleContent.indexOf('\\\\', ruleContent.lastIndexOf('{')) > -1) {\n throw new SyntaxError('CSS injection rule with \\'\\\\\\' was omitted');\n }\n };\n /**\n * Checks if the rule has permitted domains\n */\n CosmeticRule.prototype.hasPermittedDomains = function () {\n return this.permittedDomains != null && this.permittedDomains.length > 0;\n };\n /**\n * Checks if the rule has restricted domains\n */\n CosmeticRule.prototype.hasRestrictedDomains = function () {\n return this.restrictedDomains != null && this.restrictedDomains.length > 0;\n };\n /**\n * Checks if the hostname matches permitted domains\n * @param hostname\n */\n CosmeticRule.prototype.matchesPermittedDomains = function (hostname) {\n return this.hasPermittedDomains() && DomainModifier.isDomainOrSubdomainOfAny(hostname, this.permittedDomains);\n };\n /**\n * Checks if the hostname matches the restricted domains.\n * @param hostname\n */\n CosmeticRule.prototype.matchesRestrictedDomains = function (hostname) {\n return this.hasRestrictedDomains()\n && DomainModifier.isDomainOrSubdomainOfAny(hostname, this.restrictedDomains);\n };\n /**\n * Validates cosmetic rule text\n * @param ruleText\n * @param type\n * @param content\n * @param isExtCss\n * @private\n */\n CosmeticRule.validate = function (ruleText, type, content, isExtCss) {\n if (type !== exports.CosmeticRuleType.Css\n && type !== exports.CosmeticRuleType.Js\n && type !== exports.CosmeticRuleType.Html) {\n CosmeticRule.validatePseudoClasses(ruleText, content);\n if (hasUnquotedSubstring(content, '{')) {\n throw new SyntaxError('Invalid cosmetic rule, wrong brackets');\n }\n }\n if (type === exports.CosmeticRuleType.ElementHiding) {\n CosmeticRule.validateElemhideRule(ruleText, content);\n }\n if (type === exports.CosmeticRuleType.Css) {\n CosmeticRule.validateCssRules(ruleText, content);\n }\n if (type === exports.CosmeticRuleType.Js) {\n CosmeticRule.validateJsRules(ruleText, content);\n }\n if ((!isExtCss && hasUnquotedSubstring(content, '/*'))\n || hasUnquotedSubstring(content, ' /*')\n || hasUnquotedSubstring(content, ' //')) {\n throw new SyntaxError('Cosmetic rule should not contain comments');\n }\n };\n /**\n * Returns the scriptlet's data consisting of the scriptlet function and its arguments.\n * This method is supposed to be used in the manifest V3 extension.\n */\n CosmeticRule.prototype.getScriptletData = function () {\n if (this.scriptletData) {\n return this.scriptletData;\n }\n this.initScript();\n return this.scriptletData;\n };\n /**\n * Updates this.scriptData and if scriptlet this.scriptletData with js ready to execute\n *\n * @param options\n */\n CosmeticRule.prototype.initScript = function (options) {\n var _a;\n if (options === void 0) { options = {}; }\n var _b = options.debug, debug = _b === void 0 ? false : _b, frameUrl = options.frameUrl;\n var ruleContent = this.getContent();\n if (!this.isScriptlet) {\n this.scriptData = {\n code: ruleContent,\n };\n return;\n }\n var scriptletContent = ruleContent.substring(ADG_SCRIPTLET_MASK.length);\n var scriptletParams = ScriptletParser.parseRule(scriptletContent);\n var params = {\n args: scriptletParams.args,\n engine: exports.config.engine || '',\n name: scriptletParams.name,\n ruleText: this.getText(),\n verbose: debug,\n domainName: frameUrl,\n version: exports.config.version || '',\n };\n this.scriptData = {\n code: (_a = scriptlets_umd.exports.invoke(params)) !== null && _a !== void 0 ? _a : null,\n debug: debug,\n frameUrl: frameUrl,\n };\n this.scriptletData = {\n func: scriptlets_umd.exports.getScriptletFunction(params.name),\n params: params,\n };\n };\n /**\n * The problem with pseudo-classes is that any unknown pseudo-class makes browser ignore the whole CSS rule,\n * which contains a lot more selectors. So, if CSS selector contains a pseudo-class, we should try to validate it.\n *

\n * One more problem with pseudo-classes is that they are actively used in uBlock, hence it may mess AG styles.\n */\n CosmeticRule.SUPPORTED_PSEUDO_CLASSES = [':active',\n ':checked', ':contains', ':disabled', ':empty', ':enabled', ':first-child', ':first-of-type',\n ':focus', ':has', ':has-text', ':hover', ':if', ':if-not', ':in-range', ':invalid', ':lang',\n ':last-child', ':last-of-type', ':link', ':matches-css', ':matches-css-before', ':matches-css-after',\n ':not', ':nth-child', ':nth-last-child', ':nth-last-of-type', ':nth-of-type',\n ':only-child', ':only-of-type', ':optional', ':out-of-range', ':read-only',\n ':read-write', ':required', ':root', ':target', ':valid', ':visited',\n ':-abp-has', ':-abp-contains', ':xpath', ':nth-ancestor', ':upward', ':remove',\n ':matches-attr', ':matches-property', ':is', ':where'];\n CosmeticRule.ELEMHIDE_VALIDATION_REGEX = / {.+}/;\n return CosmeticRule;\n }());\n\n /**\n * This class stores found cosmetic css rules content in the appropriate collections\n * It is primarily used by the {@see CosmeticResult}\n */\n var CosmeticStylesResult = /** @class */ (function () {\n /**\n * Constructor\n */\n function CosmeticStylesResult() {\n this.generic = [];\n this.specific = [];\n this.genericExtCss = [];\n this.specificExtCss = [];\n }\n /**\n * Appends rule to the appropriate collection\n * @param rule\n */\n CosmeticStylesResult.prototype.append = function (rule) {\n if (rule.isGeneric()) {\n if (rule.isExtendedCss()) {\n this.genericExtCss.push(rule);\n }\n else {\n this.generic.push(rule);\n }\n }\n else if (rule.isExtendedCss()) {\n this.specificExtCss.push(rule);\n }\n else {\n this.specific.push(rule);\n }\n };\n return CosmeticStylesResult;\n }());\n\n /**\n * This class stores found script rules content in the appropriate collections\n * It is primarily used by the {@see CosmeticResult}\n */\n var CosmeticScriptsResult = /** @class */ (function () {\n /**\n * Constructor\n */\n function CosmeticScriptsResult() {\n this.generic = [];\n this.specific = [];\n }\n /**\n * Appends rule to appropriate collection\n * @param rule\n */\n CosmeticScriptsResult.prototype.append = function (rule) {\n if (rule.isGeneric()) {\n this.generic.push(rule);\n }\n else {\n this.specific.push(rule);\n }\n };\n /**\n * Returns rules collected\n */\n CosmeticScriptsResult.prototype.getRules = function () {\n return __spreadArray(__spreadArray([], this.generic, true), this.specific, true);\n };\n return CosmeticScriptsResult;\n }());\n\n /**\n * This class stores found cosmetic html rules content in the appropriate collections\n * It is primarily used by the {@see CosmeticResult}\n */\n var CosmeticHtmlResult = /** @class */ (function () {\n /**\n * Constructor\n */\n function CosmeticHtmlResult() {\n this.generic = [];\n this.specific = [];\n }\n /**\n * Appends rule to the appropriate collection\n * @param rule\n */\n CosmeticHtmlResult.prototype.append = function (rule) {\n if (rule.isGeneric()) {\n this.generic.push(rule);\n }\n else {\n this.specific.push(rule);\n }\n };\n /**\n * Returns rules collected\n */\n CosmeticHtmlResult.prototype.getRules = function () {\n return __spreadArray(__spreadArray([], this.generic, true), this.specific, true);\n };\n return CosmeticHtmlResult;\n }());\n\n /**\n * Cosmetic result is the representation of rules\n * It is primarily used by the {@see CosmeticEngine}\n */\n var CosmeticResult = /** @class */ (function () {\n /**\n * Constructor\n */\n function CosmeticResult() {\n this.elementHiding = new CosmeticStylesResult();\n this.CSS = new CosmeticStylesResult();\n this.JS = new CosmeticScriptsResult();\n this.Html = new CosmeticHtmlResult();\n }\n /**\n * Script rules\n */\n CosmeticResult.prototype.getScriptRules = function () {\n return this.JS.getRules();\n };\n return CosmeticResult;\n }());\n\n /**\n * CosmeticOption is the enumeration of various content script options.\n * Depending on the set of enabled flags the content script will contain different set of settings.\n */\n exports.CosmeticOption = void 0;\n (function (CosmeticOption) {\n /**\n * if generic elemhide and CSS rules are enabled\n * Could be disabled by a $generichide rule and $elemhide rule.\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionGenericCSS\"] = 2] = \"CosmeticOptionGenericCSS\";\n /**\n * if specific elemhide and CSS rules are enabled\n * Could be disabled by a $specifichide rule and $elemhide rule.\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionSpecificCSS\"] = 4] = \"CosmeticOptionSpecificCSS\";\n /**\n * if JS rules and scriptlets are enabled\n * Could be disabled by a $jsinject rule.\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionJS\"] = 8] = \"CosmeticOptionJS\";\n /**\n * if Html filtering rules are enabled\n * Could be disabled by a $content rule.\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionHtml\"] = 16] = \"CosmeticOptionHtml\";\n /**\n * TODO: Add support for these flags\n * They are useful when content script is injected into an iframe\n * In this case we can check what flags were applied to the top-level frame\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionSourceGenericCSS\"] = 32] = \"CosmeticOptionSourceGenericCSS\";\n CosmeticOption[CosmeticOption[\"CosmeticOptionSourceCSS\"] = 64] = \"CosmeticOptionSourceCSS\";\n CosmeticOption[CosmeticOption[\"CosmeticOptionSourceJS\"] = 128] = \"CosmeticOptionSourceJS\";\n /**\n * everything is enabled\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionAll\"] = 30] = \"CosmeticOptionAll\";\n /**\n * everything is disabled\n */\n CosmeticOption[CosmeticOption[\"CosmeticOptionNone\"] = 0] = \"CosmeticOptionNone\";\n })(exports.CosmeticOption || (exports.CosmeticOption = {}));\n\n /**\n * Scanner types enum\n */\n var ScannerType;\n (function (ScannerType) {\n /**\n * Scanning for network rules\n */\n ScannerType[ScannerType[\"NetworkRules\"] = 0] = \"NetworkRules\";\n /**\n * Scanning for cosmetic rules\n */\n ScannerType[ScannerType[\"CosmeticRules\"] = 2] = \"CosmeticRules\";\n /**\n * Scanning for host rules\n */\n ScannerType[ScannerType[\"HostRules\"] = 4] = \"HostRules\";\n /**\n * All\n */\n ScannerType[ScannerType[\"All\"] = 6] = \"All\";\n })(ScannerType || (ScannerType = {}));\n\n /**\n * CosmeticEngine combines all the cosmetic rules and allows to quickly\n * find all rules matching this or that hostname\n * It is primarily used by the {@see Engine}\n */\n var CosmeticEngine = /** @class */ (function () {\n /**\n * Builds instance of cosmetic engine\n *\n * @param ruleStorage\n * @param skipStorageScan create an instance without storage scanning\n */\n function CosmeticEngine(ruleStorage, skipStorageScan) {\n if (skipStorageScan === void 0) { skipStorageScan = false; }\n this.ruleStorage = ruleStorage;\n this.rulesCount = 0;\n this.elementHidingLookupTable = new CosmeticLookupTable(ruleStorage);\n this.cssLookupTable = new CosmeticLookupTable(ruleStorage);\n this.jsLookupTable = new CosmeticLookupTable(ruleStorage);\n this.htmlLookupTable = new CosmeticLookupTable(ruleStorage);\n if (skipStorageScan) {\n return;\n }\n var scanner = this.ruleStorage.createRuleStorageScanner(ScannerType.CosmeticRules);\n while (scanner.scan()) {\n var indexedRule = scanner.getRule();\n if (indexedRule\n && indexedRule.rule instanceof CosmeticRule) {\n this.addRule(indexedRule.rule, indexedRule.index);\n }\n }\n }\n /**\n * Adds rules into appropriate tables\n * @param rule\n * @param storageIdx\n */\n CosmeticEngine.prototype.addRule = function (rule, storageIdx) {\n switch (rule.getType()) {\n case exports.CosmeticRuleType.ElementHiding: {\n this.elementHidingLookupTable.addRule(rule, storageIdx);\n break;\n }\n case exports.CosmeticRuleType.Css: {\n this.cssLookupTable.addRule(rule, storageIdx);\n break;\n }\n case exports.CosmeticRuleType.Js: {\n this.jsLookupTable.addRule(rule, storageIdx);\n break;\n }\n case exports.CosmeticRuleType.Html: {\n this.htmlLookupTable.addRule(rule, storageIdx);\n break;\n }\n }\n this.rulesCount += 1;\n };\n /**\n * Checks if bitwise mask matches option\n * @param option\n * @param targetOption\n */\n CosmeticEngine.matchOption = function (option, targetOption) {\n return (option & targetOption) === targetOption;\n };\n /**\n * Prepares cosmetic result by request\n *\n * @param request - request to match\n * @param option mask of enabled cosmetic types\n * @return CosmeticResult\n */\n CosmeticEngine.prototype.match = function (request, option) {\n var includeGeneric = CosmeticEngine.matchOption(option, exports.CosmeticOption.CosmeticOptionGenericCSS);\n var includeSpecific = CosmeticEngine.matchOption(option, exports.CosmeticOption.CosmeticOptionSpecificCSS);\n var includeJs = CosmeticEngine.matchOption(option, exports.CosmeticOption.CosmeticOptionJS);\n var includeHtml = CosmeticEngine.matchOption(option, exports.CosmeticOption.CosmeticOptionHtml);\n var cosmeticResult = new CosmeticResult();\n if (includeGeneric) {\n CosmeticEngine.appendGenericRules(cosmeticResult.elementHiding, this.elementHidingLookupTable, request);\n CosmeticEngine.appendGenericRules(cosmeticResult.CSS, this.cssLookupTable, request);\n }\n if (includeSpecific) {\n CosmeticEngine.appendSpecificRules(cosmeticResult.elementHiding, this.elementHidingLookupTable, request);\n CosmeticEngine.appendSpecificRules(cosmeticResult.CSS, this.cssLookupTable, request);\n }\n if (includeJs) {\n CosmeticEngine.appendGenericRules(cosmeticResult.JS, this.jsLookupTable, request);\n CosmeticEngine.appendSpecificRules(cosmeticResult.JS, this.jsLookupTable, request);\n }\n if (includeHtml) {\n if (includeGeneric) {\n CosmeticEngine.appendGenericRules(cosmeticResult.Html, this.htmlLookupTable, request);\n }\n CosmeticEngine.appendSpecificRules(cosmeticResult.Html, this.htmlLookupTable, request);\n }\n return cosmeticResult;\n };\n /**\n * Selects generic rules and appends rules content to cosmetic result\n * @param cosmeticResult\n * @param lookupTable\n * @param request\n */\n CosmeticEngine.appendGenericRules = function (cosmeticResult, lookupTable, request) {\n for (var _i = 0, _a = lookupTable.genericRules; _i < _a.length; _i++) {\n var genericRule = _a[_i];\n if (!lookupTable.isAllowlisted(request, genericRule)\n && genericRule.match(request)) {\n cosmeticResult.append(genericRule, request);\n }\n }\n };\n /**\n * Selects specific rules and appends rules content to cosmetic result\n * @param cosmeticResult\n * @param lookupTable\n * @param request\n */\n CosmeticEngine.appendSpecificRules = function (cosmeticResult, lookupTable, request) {\n var hostnameRules = lookupTable.findByHostname(request);\n if (hostnameRules.length > 0) {\n for (var _i = 0, hostnameRules_1 = hostnameRules; _i < hostnameRules_1.length; _i++) {\n var rule = hostnameRules_1[_i];\n if (!lookupTable.isAllowlisted(request, rule)) {\n cosmeticResult.append(rule, request);\n }\n }\n }\n };\n return CosmeticEngine;\n }());\n\n /**\n * Replace modifier class\n */\n var ReplaceModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n */\n function ReplaceModifier(value) {\n var parsed = ReplaceModifier.parseReplaceOption(value);\n this.replaceOption = parsed.optionText;\n this.replaceApply = parsed.apply;\n }\n /**\n *\n * @param option\n */\n ReplaceModifier.parseReplaceOption = function (option) {\n if (!option) {\n return {\n apply: function (x) { return x; },\n optionText: '',\n };\n }\n var parts = splitByDelimiterWithEscapeCharacter(option, '/', '\\\\', true);\n var modifiers = (parts[2] || '');\n if (modifiers.indexOf('g') < 0) {\n modifiers += 'g';\n }\n var pattern = new RegExp(parts[0], modifiers);\n // unescape replacement alias\n var replacement = parts[1].replace(/\\\\\\$/g, '$');\n replacement = SimpleRegex.unescapeSpecials(replacement);\n var apply = function (input) { return input.replace(pattern, replacement); };\n return {\n apply: apply,\n optionText: option,\n };\n };\n /**\n * Replace content\n */\n ReplaceModifier.prototype.getValue = function () {\n return this.replaceOption;\n };\n /**\n * Replace apply function\n */\n ReplaceModifier.prototype.getApplyFunc = function () {\n return this.replaceApply;\n };\n return ReplaceModifier;\n }());\n\n /**\n * Csp modifier class\n */\n var CspModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n * @param isAllowlist\n */\n function CspModifier(value, isAllowlist) {\n this.cspDirective = value;\n this.isAllowlist = isAllowlist;\n this.validateCspDirective();\n }\n /**\n * Csp directive\n */\n CspModifier.prototype.getValue = function () {\n return this.cspDirective;\n };\n /**\n * Validates CSP rule\n */\n CspModifier.prototype.validateCspDirective = function () {\n /**\n * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/685\n * CSP directive may be empty in case of allowlist rule,\n * it means to disable all $csp rules matching the allowlist rule\n */\n if (!this.isAllowlist && !this.cspDirective) {\n throw new Error('Invalid $CSP rule: CSP directive must not be empty');\n }\n if (this.cspDirective) {\n /**\n * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/685#issue-228287090\n * Forbids report-to and report-uri directives\n */\n var cspDirective = this.cspDirective.toLowerCase();\n if (cspDirective.indexOf('report-') >= 0) {\n throw new Error(\"Forbidden CSP directive: \".concat(cspDirective));\n }\n }\n };\n return CspModifier;\n }());\n\n /**\n * Cookie modifier class\n *\n * Learn more about it here:\n * https://github.com/AdguardTeam/AdguardBrowserExtension/issues/961\n */\n var CookieModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n */\n function CookieModifier(value) {\n // Save the source text of the option modifier\n this.optionValue = value || '';\n this.regex = null;\n this.cookieName = null;\n this.sameSite = null;\n this.maxAge = null;\n // Parse cookie name/regex\n var parts = this.optionValue.split(/;/);\n if (parts.length < 1) {\n throw new Error(\"Cannot parse \".concat(this.optionValue));\n }\n var cookieName = parts[0];\n if (cookieName.startsWith('/') && cookieName.endsWith('/')) {\n var pattern = cookieName.substring(1, cookieName.length - 1);\n // Save regex to be used further for matching cookies\n this.regex = new RegExp(pattern);\n }\n else {\n // Match by cookie name\n this.cookieName = cookieName;\n }\n // Parse other cookie options\n if (parts.length > 1) {\n for (var i = 1; i < parts.length; i += 1) {\n var nameValue = parts[i].split('=');\n var optionName = nameValue[0];\n var optionValue = nameValue[1];\n if (optionName === CookieModifier.MAX_AGE) {\n this.maxAge = parseInt(optionValue, 10);\n }\n else if (optionName === CookieModifier.SAME_SITE) {\n this.sameSite = optionValue;\n }\n else {\n throw new Error(\"Unknown $cookie option: \".concat(optionName));\n }\n }\n }\n }\n /**\n * Modifier value\n */\n CookieModifier.prototype.getValue = function () {\n return this.optionValue;\n };\n /**\n * First cookie name\n */\n CookieModifier.prototype.getCookieName = function () {\n return this.cookieName;\n };\n /**\n * Max age cookie value\n */\n CookieModifier.prototype.getMaxAge = function () {\n return this.maxAge;\n };\n /**\n * Same site cookie value\n */\n CookieModifier.prototype.getSameSite = function () {\n return this.sameSite;\n };\n /**\n * Checks if cookie with the specified name matches this option\n *\n * @param {string} name Cookie name\n * @return {boolean} true if it does\n */\n CookieModifier.prototype.matches = function (name) {\n if (!name) {\n return false;\n }\n if (this.regex) {\n return this.regex.test(name);\n }\n if (this.cookieName) {\n return this.cookieName === name;\n }\n // Empty regex and cookieName means that we must match all cookies\n return true;\n };\n /**\n * Checks if cookie rule has an empty $cookie option\n *\n * @return {boolean} True if $cookie option is empty\n */\n CookieModifier.prototype.isEmpty = function () {\n return !this.regex && !this.cookieName;\n };\n /**\n * Cookie name maxAge\n */\n CookieModifier.MAX_AGE = 'maxAge';\n /**\n * Cookie name sameSite\n */\n CookieModifier.SAME_SITE = 'sameSite';\n return CookieModifier;\n }());\n\n var NETWORK_RULE_OPTIONS = {\n THIRD_PARTY: 'third-party',\n FIRST_PARTY: 'first-party',\n MATCH_CASE: 'match-case',\n IMPORTANT: 'important',\n DOMAIN: 'domain',\n DENYALLOW: 'denyallow',\n ELEMHIDE: 'elemhide',\n GENERICHIDE: 'generichide',\n SPECIFICHIDE: 'specifichide',\n GENERICBLOCK: 'genericblock',\n JSINJECT: 'jsinject',\n URLBLOCK: 'urlblock',\n CONTENT: 'content',\n DOCUMENT: 'document',\n DOC: 'doc',\n STEALTH: 'stealth',\n POPUP: 'popup',\n EMPTY: 'empty',\n MP4: 'mp4',\n SCRIPT: 'script',\n STYLESHEET: 'stylesheet',\n SUBDOCUMENT: 'subdocument',\n OBJECT: 'object',\n IMAGE: 'image',\n XMLHTTPREQUEST: 'xmlhttprequest',\n MEDIA: 'media',\n FONT: 'font',\n WEBSOCKET: 'websocket',\n OTHER: 'other',\n PING: 'ping',\n BADFILTER: 'badfilter',\n CSP: 'csp',\n REPLACE: 'replace',\n COOKIE: 'cookie',\n REDIRECT: 'redirect',\n REDIRECTRULE: 'redirect-rule',\n REMOVEPARAM: 'removeparam',\n REMOVEHEADER: 'removeheader',\n JSONPRUNE: 'jsonprune',\n HLS: 'hls',\n REFERRERPOLICY: 'referrerpolicy',\n APP: 'app',\n NETWORK: 'network',\n EXTENSION: 'extension',\n NOOP: '_',\n CLIENT: 'client',\n DNSREWRITE: 'dnsrewrite',\n DNSTYPE: 'dnstype',\n CTAG: 'ctag',\n HEADER: 'header',\n METHOD: 'method',\n TO: 'to',\n PERMISSIONS: 'permissions',\n ALL: 'all',\n };\n var OPTIONS_DELIMITER = '$';\n var MASK_ALLOWLIST = '@@';\n var NOT_MARK = '~';\n var ESCAPE_CHARACTER = '\\\\';\n\n /**\n * Redirect modifier class\n */\n var RedirectModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n * @param ruleText\n * @param isAllowlist\n * @param isRedirectingOnlyBlocked is redirect-rule modifier\n */\n function RedirectModifier(value, ruleText, isAllowlist, isRedirectingOnlyBlocked) {\n if (isRedirectingOnlyBlocked === void 0) { isRedirectingOnlyBlocked = false; }\n /**\n * Is redirecting only blocked requests\n * See $redirect-rule options\n */\n this.isRedirectingOnlyBlocked = false;\n RedirectModifier.validate(ruleText, value, isAllowlist);\n this.redirectTitle = value;\n this.isRedirectingOnlyBlocked = isRedirectingOnlyBlocked;\n }\n /**\n * Redirect title\n */\n RedirectModifier.prototype.getValue = function () {\n return this.redirectTitle;\n };\n /**\n * Validates redirect rule\n *\n * @param ruleText\n * @param redirectTitle\n * @param isAllowlist\n */\n RedirectModifier.validate = function (ruleText, redirectTitle, isAllowlist) {\n if (isAllowlist && !redirectTitle) {\n return;\n }\n if (!redirectTitle) {\n throw new SyntaxError('Invalid $redirect rule, redirect value must not be empty');\n }\n var redirects = scriptlets_umd.exports.redirects;\n var ruleTextToValidate = ruleText.replace(NETWORK_RULE_OPTIONS.REDIRECTRULE, NETWORK_RULE_OPTIONS.REDIRECT);\n if (!redirects.isAdgRedirectRule(ruleTextToValidate) || !redirects.isValidAdgRedirectRule(ruleTextToValidate)) {\n throw new SyntaxError('$redirect modifier is invalid');\n }\n };\n return RedirectModifier;\n }());\n\n /**\n * Query parameters filtering modifier class\n * Works with '$removeparam' modifier\n */\n var RemoveParamModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n */\n function RemoveParamModifier(value) {\n /**\n * Is modifier valid for MV3 or not\n */\n this.mv3Valid = true;\n this.value = value;\n var rawValue = value;\n // TODO: Seems like negation not using in valueRegExp\n if (value.startsWith('~')) {\n rawValue = value.substring(1);\n this.mv3Valid = false;\n }\n if (rawValue.startsWith('/')) {\n this.valueRegExp = SimpleRegex.patternFromString(rawValue);\n this.mv3Valid = false;\n }\n else {\n if (rawValue.includes('|')) {\n throw new Error('Unsupported option in $removeparam: multiple values are not allowed');\n }\n this.valueRegExp = new RegExp(\"((^|&)(\".concat(SimpleRegex.escapeRegexSpecials(rawValue), \")=[^&#]*)\"), 'g');\n }\n }\n /**\n * Modifier value\n */\n RemoveParamModifier.prototype.getValue = function () {\n return this.value;\n };\n /**\n * Is modifier valid for MV3 or not\n */\n RemoveParamModifier.prototype.getMV3Validity = function () {\n return this.mv3Valid;\n };\n /**\n * Removes query parameters from url\n *\n * @param url\n */\n RemoveParamModifier.prototype.removeParameters = function (url) {\n var sepIndex = url.indexOf('?');\n if (sepIndex < 0) {\n return url;\n }\n if (!this.value) {\n return url.substring(0, sepIndex);\n }\n if (sepIndex === url.length - 1) {\n return url;\n }\n if (this.value.startsWith('~')) {\n return cleanUrlParamByRegExp(url, this.valueRegExp, true);\n }\n return cleanUrlParamByRegExp(url, this.valueRegExp);\n };\n /**\n * Checks if the given modifier is an instance of RemoveParamModifier.\n *\n * @param m The modifier to check.\n * @returns True if the modifier is an instance of RemoveParamModifier, false otherwise.\n */\n RemoveParamModifier.isRemoveParamModifier = function (m) {\n return m instanceof RemoveParamModifier;\n };\n return RemoveParamModifier;\n }());\n\n /**\n * Headers filtering modifier class.\n * Rules with $removeheader modifier are intended to remove headers from HTTP requests and responses.\n */\n var RemoveHeaderModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n * @param isAllowlist\n */\n function RemoveHeaderModifier(value, isAllowlist) {\n this.value = value.toLowerCase();\n if (!isAllowlist && !this.value) {\n throw new SyntaxError('Invalid $removeheader rule, removeheader value must not be empty');\n }\n this.isRequestModifier = this.value.startsWith(RemoveHeaderModifier.REQUEST_PREFIX);\n var headerName = this.isRequestModifier\n ? this.value.substring(RemoveHeaderModifier.REQUEST_PREFIX.length)\n : this.value;\n // Values with \":\" are not supported in MV3 declarative rules, e.g. \"$removeheader=dnt:1\"\n this.valid = RemoveHeaderModifier.isAllowedHeader(headerName) && !headerName.includes(':');\n this.applicableHeaderName = this.valid ? headerName : null;\n }\n /**\n * Modifier value\n */\n RemoveHeaderModifier.prototype.getValue = function () {\n return this.value;\n };\n Object.defineProperty(RemoveHeaderModifier.prototype, \"isValid\", {\n /**\n * Modifier validity\n */\n get: function () {\n return this.valid;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns effective header name to be removed\n *\n * @param isRequestHeaders\n */\n RemoveHeaderModifier.prototype.getApplicableHeaderName = function (isRequestHeaders) {\n if (!this.applicableHeaderName) {\n return null;\n }\n if (isRequestHeaders !== this.isRequestModifier) {\n return null;\n }\n return this.applicableHeaderName;\n };\n /**\n * Some headers are forbidden to remove\n *\n * @param headerName\n */\n RemoveHeaderModifier.isAllowedHeader = function (headerName) {\n return !this.FORBIDDEN_HEADERS.includes(headerName);\n };\n /**\n * List of forbidden headers\n */\n RemoveHeaderModifier.FORBIDDEN_HEADERS = [\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 * Request prefix\n */\n RemoveHeaderModifier.REQUEST_PREFIX = 'request:';\n /**\n * Checks if the given modifier is an instance of RemoveHeaderModifier.\n *\n * @param m The modifier to check.\n * @returns True if the modifier is an instance of RemoveHeaderModifier, false otherwise.\n */\n RemoveHeaderModifier.isRemoveHeaderModifier = function (m) {\n return m instanceof RemoveHeaderModifier;\n };\n return RemoveHeaderModifier;\n }());\n\n var ErrorStatusCodes;\n (function (ErrorStatusCodes) {\n ErrorStatusCodes[ErrorStatusCodes[\"ComplexRegex\"] = 1001] = \"ComplexRegex\";\n ErrorStatusCodes[ErrorStatusCodes[\"RuleLimit\"] = 1002] = \"RuleLimit\";\n ErrorStatusCodes[ErrorStatusCodes[\"RegexpRuleLimit\"] = 1003] = \"RegexpRuleLimit\";\n ErrorStatusCodes[ErrorStatusCodes[\"RemoveparamRegexpIsNotSupported\"] = 1004] = \"RemoveparamRegexpIsNotSupported\";\n ErrorStatusCodes[ErrorStatusCodes[\"RemoveparamInversionIsNotSupported\"] = 1005] = \"RemoveparamInversionIsNotSupported\";\n })(ErrorStatusCodes || (ErrorStatusCodes = {}));\n var SEPARATOR = '|';\n\n /**\n * This is a helper class that is used specifically to work with app restrictions.\n *\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#app\n *\n * Examples:\n * ||baddomain.com^$app=org.example.app\n * ||baddomain.com^$app=org.example.app1|org.example.app2\n */\n var AppModifier = /** @class */ (function () {\n /**\n * Parses the `apps` string\n *\n * @param apps - apps string\n *\n * @throws an error if the app string is empty or invalid\n */\n function AppModifier(apps) {\n if (!apps) {\n throw new SyntaxError('$app modifier cannot be empty');\n }\n var permittedApps = [];\n var restrictedApps = [];\n var parts = apps.split(SEPARATOR);\n for (var i = 0; i < parts.length; i += 1) {\n var app = parts[i];\n var restricted = false;\n if (app.startsWith('~')) {\n restricted = true;\n app = app.substring(1).trim();\n }\n if (app === '') {\n throw new SyntaxError(\"Empty app specified in \\\"\".concat(apps, \"\\\"\"));\n }\n if (restricted) {\n restrictedApps.push(app);\n }\n else {\n permittedApps.push(app);\n }\n }\n this.restrictedApps = restrictedApps.length > 0 ? restrictedApps : null;\n this.permittedApps = permittedApps.length > 0 ? permittedApps : null;\n }\n return AppModifier;\n }());\n\n exports.HTTPMethod = void 0;\n (function (HTTPMethod) {\n HTTPMethod[\"GET\"] = \"GET\";\n HTTPMethod[\"POST\"] = \"POST\";\n HTTPMethod[\"PUT\"] = \"PUT\";\n HTTPMethod[\"DELETE\"] = \"DELETE\";\n HTTPMethod[\"PATCH\"] = \"PATCH\";\n HTTPMethod[\"HEAD\"] = \"HEAD\";\n HTTPMethod[\"OPTIONS\"] = \"OPTIONS\";\n HTTPMethod[\"CONNECT\"] = \"CONNECT\";\n HTTPMethod[\"TRACE\"] = \"TRACE\";\n })(exports.HTTPMethod || (exports.HTTPMethod = {}));\n /**\n * Method modifier class.\n * Rules with $method modifier will be applied only to requests with specified methods.\n *\n * Learn more about it here:\n * https://adguard.com/kb/general/ad-filtering/create-own-filters/#method-modifier\n */\n var MethodModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n */\n function MethodModifier(methodsStr) {\n if (methodsStr === '') {\n throw new SyntaxError('$method modifier value cannot be empty');\n }\n var permittedMethods = [];\n var restrictedMethods = [];\n var parts = methodsStr.toUpperCase().split(MethodModifier.PIPE_SEPARATOR);\n for (var i = 0; i < parts.length; i += 1) {\n var method = parts[i].trim();\n var restricted = false;\n if (method.startsWith('~')) {\n restricted = true;\n method = method.substring(1);\n }\n if (!MethodModifier.isHTTPMethod(method)) {\n throw new SyntaxError(\"Invalid $method modifier value: \".concat(method));\n }\n if (restricted) {\n restrictedMethods.push(method);\n }\n else {\n permittedMethods.push(method);\n }\n }\n if (restrictedMethods.length > 0 && permittedMethods.length > 0) {\n throw new SyntaxError(\"Negated values cannot be mixed with non-negated values: \".concat(methodsStr));\n }\n this.restrictedValues = restrictedMethods.length > 0 ? restrictedMethods : null;\n this.permittedValues = permittedMethods.length > 0 ? permittedMethods : null;\n }\n /**\n * Request methods separator\n */\n MethodModifier.PIPE_SEPARATOR = '|';\n MethodModifier.isHTTPMethod = function (value) { return value in exports.HTTPMethod; };\n return MethodModifier;\n }());\n\n /**\n * To modifier class.\n * Rules with $to modifier are limited to requests made to the specified domains and their subdomains.\n *\n * Learn more about it here:\n * https://adguard.com/kb/general/ad-filtering/create-own-filters/#to-modifier\n */\n var ToModifier = /** @class */ (function () {\n /**\n * Constructor\n */\n function ToModifier(domainsStr) {\n if (!domainsStr) {\n throw new SyntaxError('$to modifier value cannot be empty');\n }\n var permittedDomains = [];\n var restrictedDomains = [];\n var parts = domainsStr.toLowerCase().split(ToModifier.PIPE_SEPARATOR);\n for (var i = 0; i < parts.length; i += 1) {\n var domain = parts[i].trim();\n var restricted = false;\n if (domain.startsWith('~')) {\n restricted = true;\n domain = domain.substring(1);\n }\n if (domain === '') {\n throw new SyntaxError(\"Empty domain specified in \\\"\".concat(domainsStr, \"\\\"\"));\n }\n if (restricted) {\n restrictedDomains.push(domain);\n }\n else {\n permittedDomains.push(domain);\n }\n }\n this.restrictedValues = restrictedDomains.length > 0 ? restrictedDomains : null;\n this.permittedValues = permittedDomains.length > 0 ? permittedDomains : null;\n }\n /**\n * Domains separator\n */\n ToModifier.PIPE_SEPARATOR = '|';\n return ToModifier;\n }());\n\n /**\n * Checks if error has message.\n *\n * @param error Error object.\n * @returns If param is error.\n */\n function isErrorWithMessage(error) {\n return (typeof error === 'object'\n && error !== null\n && 'message' in error\n && typeof error.message === 'string');\n }\n /**\n * Converts error to the error with message.\n *\n * @param maybeError Possible error.\n * @returns Error with message.\n */\n function toErrorWithMessage(maybeError) {\n if (isErrorWithMessage(maybeError)) {\n return maybeError;\n }\n try {\n return new Error(JSON.stringify(maybeError));\n }\n catch (_a) {\n // fallback in case there's an error stringifying the maybeError\n // like with circular references for example.\n return new Error(String(maybeError));\n }\n }\n /**\n * Converts error object to error with message. This method might be helpful to handle thrown errors.\n *\n * @param error Error object.\n *\n * @returns Message of the error.\n */\n function getErrorMessage(error) {\n return toErrorWithMessage(error).message;\n }\n\n /**\n * RequestType is the request types enumeration.\n * Important: the enumeration is marked as const to avoid side effects when\n * importing it into an extension.\n */\n var RequestType = {\n /** No value is set. Syntax sugar to simplify code. */\n NotSet: 0,\n /** main frame */\n Document: 1,\n /** (iframe) $subdocument */\n SubDocument: 2,\n /** (javascript, etc) $script */\n Script: 4,\n /** (css) $stylesheet */\n Stylesheet: 8,\n /** (flash, etc) $object */\n Object: 16,\n /** (any image) $image */\n Image: 32,\n /** (ajax/fetch) $xmlhttprequest */\n XmlHttpRequest: 64,\n /** (video/music) $media */\n Media: 128,\n /** (any custom font) $font */\n Font: 256,\n /** (a websocket connection) $websocket */\n WebSocket: 512,\n /** (navigator.sendBeacon()) $ping */\n Ping: 1024,\n /** csp_report */\n CspReport: 2048,\n /** any other request type */\n Other: 4096, // 1 << 12\n };\n\n var isCidr$1 = {exports: {}};\n\n var cidrRegex$1 = {exports: {}};\n\n const word$1 = '[a-fA-F\\\\d:]';\n const b = options => options && options.includeBoundaries ?\n \t`(?:(?<=\\\\s|^)(?=${word$1})|(?<=${word$1})(?=\\\\s|$))` :\n \t'';\n const v4$2 = '(?: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}';\n const v6seg = '[a-fA-F\\\\d]{1,4}';\n const v6$2 = `\n(?:\n(?:${v6seg}:){7}(?:${v6seg}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6seg}:){6}(?:${v4$2}|:${v6seg}|:)| // 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(?:${v6seg}:){5}(?::${v4$2}|(?::${v6seg}){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(?:${v6seg}:){4}(?:(?::${v6seg}){0,1}:${v4$2}|(?::${v6seg}){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(?:${v6seg}:){3}(?:(?::${v6seg}){0,2}:${v4$2}|(?::${v6seg}){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(?:${v6seg}:){2}(?:(?::${v6seg}){0,3}:${v4$2}|(?::${v6seg}){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(?:${v6seg}:){1}(?:(?::${v6seg}){0,4}:${v4$2}|(?::${v6seg}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6seg}){0,5}:${v4$2}|(?::${v6seg}){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();\n const v46Exact$1 = new RegExp(`(?:^${v4$2}$)|(?:^${v6$2}$)`);\n const v4exact$3 = new RegExp(`^${v4$2}$`);\n const v6exact$3 = new RegExp(`^${v6$2}$`);\n const ip = options => options && options.exact ?\n \tv46Exact$1 :\n \tnew RegExp(`(?:${b(options)}${v4$2}${b(options)})|(?:${b(options)}${v6$2}${b(options)})`, 'g');\n ip.v4 = options => options && options.exact ? v4exact$3 : new RegExp(`${b(options)}${v4$2}${b(options)}`, 'g');\n ip.v6 = options => options && options.exact ? v6exact$3 : new RegExp(`${b(options)}${v6$2}${b(options)}`, 'g');\n var ipRegex$3 = ip;\n\n const ipRegex$2 = ipRegex$3;\n const defaultOpts$1 = {exact: false};\n const v4str$1 = `${ipRegex$2.v4().source}\\\\/(3[0-2]|[12]?[0-9])`;\n const v6str$1 = `${ipRegex$2.v6().source}\\\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`;\n const v4exact$2 = new RegExp(`^${v4str$1}$`);\n const v6exact$2 = new RegExp(`^${v6str$1}$`);\n const v46exact$1 = new RegExp(`(?:^${v4str$1}$)|(?:^${v6str$1}$)`);\n cidrRegex$1.exports = ({exact} = defaultOpts$1) => exact ? v46exact$1 : new RegExp(`(?:${v4str$1})|(?:${v6str$1})`, \"g\");\n cidrRegex$1.exports.v4 = ({exact} = defaultOpts$1) => exact ? v4exact$2 : new RegExp(v4str$1, \"g\");\n cidrRegex$1.exports.v6 = ({exact} = defaultOpts$1) => exact ? v6exact$2 : new RegExp(v6str$1, \"g\");\n\n const {v4: v4$1, v6: v6$1} = cidrRegex$1.exports;\n const re4 = v4$1({exact: true});\n const re6 = v6$1({exact: true});\n isCidr$1.exports = str => re4.test(str) ? 4 : (re6.test(str) ? 6 : 0);\n isCidr$1.exports.v4 = str => re4.test(str);\n isCidr$1.exports.v6 = str => re6.test(str);\n\n const ipRegex$1 = ipRegex$3;\n const isIp = string => ipRegex$1({exact: true}).test(string);\n isIp.v4 = string => ipRegex$1.v4({exact: true}).test(string);\n isIp.v6 = string => ipRegex$1.v6({exact: true}).test(string);\n isIp.version = string => isIp(string) ? (isIp.v4(string) ? 4 : 6) : undefined;\n var isIp_1 = isIp;\n\n const word = '[a-fA-F\\\\d:]';\n const boundry = options => options && options.includeBoundaries\n \t? `(?:(?<=\\\\s|^)(?=${word})|(?<=${word})(?=\\\\s|$))`\n \t: '';\n const v4 = '(?: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}';\n const v6segment = '[a-fA-F\\\\d]{1,4}';\n const v6 = `\n(?:\n(?:${v6segment}:){7}(?:${v6segment}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\n(?:${v6segment}:){6}(?:${v4}|:${v6segment}|:)| // 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(?:${v6segment}:){5}(?::${v4}|(?::${v6segment}){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(?:${v6segment}:){4}(?:(?::${v6segment}){0,1}:${v4}|(?::${v6segment}){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(?:${v6segment}:){3}(?:(?::${v6segment}){0,2}:${v4}|(?::${v6segment}){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(?:${v6segment}:){2}(?:(?::${v6segment}){0,3}:${v4}|(?::${v6segment}){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(?:${v6segment}:){1}(?:(?::${v6segment}){0,4}:${v4}|(?::${v6segment}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\n(?::(?:(?::${v6segment}){0,5}:${v4}|(?::${v6segment}){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();\n const v46Exact = new RegExp(`(?:^${v4}$)|(?:^${v6}$)`);\n const v4exact$1 = new RegExp(`^${v4}$`);\n const v6exact$1 = new RegExp(`^${v6}$`);\n const ipRegex = options => options && options.exact\n \t? v46Exact\n \t: new RegExp(`(?:${boundry(options)}${v4}${boundry(options)})|(?:${boundry(options)}${v6}${boundry(options)})`, 'g');\n ipRegex.v4 = options => options && options.exact ? v4exact$1 : new RegExp(`${boundry(options)}${v4}${boundry(options)}`, 'g');\n ipRegex.v6 = options => options && options.exact ? v6exact$1 : new RegExp(`${boundry(options)}${v6}${boundry(options)}`, 'g');\n\n const defaultOpts = {exact: false};\n const v4str = `${ipRegex.v4().source}\\\\/(3[0-2]|[12]?[0-9])`;\n const v6str = `${ipRegex.v6().source}\\\\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])`;\n const v4exact = new RegExp(`^${v4str}$`);\n const v6exact = new RegExp(`^${v6str}$`);\n const v46exact = new RegExp(`(?:^${v4str}$)|(?:^${v6str}$)`);\n const cidrRegex = ({exact} = defaultOpts) => exact ? v46exact : new RegExp(`(?:${v4str})|(?:${v6str})`, \"g\");\n cidrRegex.v4 = ({exact} = defaultOpts) => exact ? v4exact : new RegExp(v4str, \"g\");\n cidrRegex.v6 = ({exact} = defaultOpts) => exact ? v6exact : new RegExp(v6str, \"g\");\n\n function parseIp(ip) {\n const version = ipVersion(ip);\n if (!version) throw new Error(`Invalid IP address: ${ip}`);\n let number = 0n;\n let exp = 0n;\n const res = Object.create(null);\n if (version === 4) {\n for (const n of ip.split(\".\").map(BigInt).reverse()) {\n number += n * (2n ** exp);\n exp += 8n;\n }\n } else {\n if (ip.includes(\".\")) {\n res.ipv4mapped = true;\n ip = ip.split(\":\").map(part => {\n if (part.includes(\".\")) {\n const digits = part.split(\".\").map(str => Number(str).toString(16).padStart(2, \"0\"));\n return `${digits[0]}${digits[1]}:${digits[2]}${digits[3]}`;\n } else {\n return part;\n }\n }).join(\":\");\n }\n if (ip.includes(\"%\")) {\n let scopeid;\n [, ip, scopeid] = /(.+)%(.+)/.exec(ip);\n res.scopeid = scopeid;\n }\n const parts = ip.split(\":\");\n const index = parts.indexOf(\"\");\n if (index !== -1) {\n while (parts.length < 8) {\n parts.splice(index, 0, \"\");\n }\n }\n for (const n of parts.map(part => BigInt(parseInt(part || 0, 16))).reverse()) {\n number += n * (2n ** exp);\n exp += 16n;\n }\n }\n res.number = number;\n res.version = version;\n return res;\n }\n function ipVersion(ip) {\n return ip.includes(\":\") ? 6 : ip.includes(\".\") ? 4 : 0;\n }\n\n const bits = {\n 4: 32,\n 6: 128,\n };\n const uniq = arr => Array.from(new Set(arr));\n function isIP(ip) {\n if (ipRegex.v4({exact: true}).test(ip)) return 4;\n if (ipRegex.v6({exact: true}).test(ip)) return 6;\n return 0;\n }\n function isCidr(ip) {\n if (cidrRegex.v4({exact: true}).test(ip)) return 4;\n if (cidrRegex.v6({exact: true}).test(ip)) return 6;\n return 0;\n }\n function parse(str) {\n const cidrVersion = isCidr(str);\n const parsed = Object.create(null);\n parsed.single = false;\n if (cidrVersion) {\n parsed.cidr = str;\n parsed.version = cidrVersion;\n } else {\n const version = isIP(str);\n if (version) {\n parsed.cidr = `${str}/${bits[version]}`;\n parsed.version = version;\n parsed.single = true;\n } else {\n throw new Error(`Network is not a CIDR or IP: ${str}`);\n }\n }\n const [ip, prefix] = parsed.cidr.split(\"/\");\n parsed.prefix = prefix;\n const {number, version} = parseIp(ip);\n const numBits = bits[version];\n const ipBits = number.toString(2).padStart(numBits, \"0\");\n const prefixLen = Number(numBits - prefix);\n const startBits = ipBits.substring(0, numBits - prefixLen);\n parsed.start = BigInt(`0b${startBits}${\"0\".repeat(prefixLen)}`);\n parsed.end = BigInt(`0b${startBits}${\"1\".repeat(prefixLen)}`);\n return parsed;\n }\n function netContains(a, b) {\n if (b.start < a.start) return false;\n if (b.end > a.end) return false;\n return true;\n }\n function contains(a, b) {\n const aNets = uniq(Array.isArray(a) ? a : [a]);\n const bNets = uniq(Array.isArray(b) ? b : [b]);\n const numExpected = bNets.length;\n let numFound = 0;\n for (const a of aNets) {\n const aParsed = parse(a);\n for (const b of bNets) {\n const bParsed = parse(b);\n if (aParsed.version !== bParsed.version) {\n continue;\n }\n if (netContains(aParsed, bParsed)) {\n numFound++;\n continue;\n }\n }\n }\n return numFound === numExpected;\n }\n\n /**\n * This is the base class representing double values modifiers\n */\n var BaseValuesModifier = /** @class */ (function () {\n /**\n * Parses the values string\n *\n * @param values - values string\n *\n * @throws an error if the string is empty or invalid\n */\n function BaseValuesModifier(values) {\n if (!values) {\n throw new SyntaxError('Modifier cannot be empty');\n }\n this.value = values;\n var permittedValues = [];\n var restrictedValues = [];\n var parts = values.split(SEPARATOR);\n for (var i = 0; i < parts.length; i += 1) {\n var app = parts[i];\n var restricted = false;\n if (app.startsWith('~')) {\n restricted = true;\n app = app.substring(1).trim();\n }\n if (app === '') {\n throw new SyntaxError(\"Empty values specified in \\\"\".concat(values, \"\\\"\"));\n }\n if (restricted) {\n restrictedValues.push(app);\n }\n else {\n permittedValues.push(app);\n }\n }\n this.restricted = restrictedValues.length > 0 ? restrictedValues : null;\n this.permitted = permittedValues.length > 0 ? permittedValues : null;\n }\n BaseValuesModifier.prototype.getPermitted = function () {\n return this.permitted;\n };\n BaseValuesModifier.prototype.getRestricted = function () {\n return this.restricted;\n };\n BaseValuesModifier.prototype.getValue = function () {\n return this.value;\n };\n BaseValuesModifier.prototype.match = function (value) {\n if (!this.restricted && !this.permitted) {\n return true;\n }\n if (this.restricted && this.restricted.includes(value)) {\n return false;\n }\n if (this.permitted) {\n return this.permitted.includes(value);\n }\n return true;\n };\n return BaseValuesModifier;\n }());\n\n /**\n * Netmasks class\n */\n var NetmasksCollection = /** @class */ (function () {\n function NetmasksCollection() {\n this.ipv4Masks = [];\n this.ipv6Masks = [];\n }\n /**\n * Returns true if any of the containing masks contains provided value\n *\n * @param value\n */\n NetmasksCollection.prototype.contains = function (value) {\n if (isIp_1.v4(value)) {\n return this.ipv4Masks.some(function (x) { return contains(x, value); });\n }\n return this.ipv6Masks.some(function (x) { return contains(x, value); });\n };\n return NetmasksCollection;\n }());\n /**\n * The client modifier allows specifying clients this rule will be working for.\n * It accepts client names (not ClientIDs), IP addresses, or CIDR ranges.\n */\n var ClientModifier = /** @class */ (function (_super) {\n __extends(ClientModifier, _super);\n /**\n * Constructor\n *\n * @param value\n */\n function ClientModifier(value) {\n var _this = _super.call(this, value) || this;\n var permitted = _this.getPermitted();\n if (permitted) {\n _this.permitted = ClientModifier.stripValues(permitted);\n _this.permittedNetmasks = ClientModifier.parseNetmasks(_this.permitted);\n }\n var restricted = _this.getRestricted();\n if (restricted) {\n _this.restricted = ClientModifier.stripValues(restricted);\n _this.restrictedNetmasks = ClientModifier.parseNetmasks(_this.restricted);\n }\n return _this;\n }\n /**\n * Unquotes and unescapes string\n *\n * @param values\n */\n ClientModifier.stripValues = function (values) {\n return values.map(function (v) {\n if ((v.startsWith('\"') && v.endsWith('\"'))\n || (v.startsWith('\\'') && v.endsWith('\\''))) {\n // eslint-disable-next-line no-param-reassign\n v = v.substr(1, v.length - 2);\n }\n return v.replace(/\\\\/ig, '');\n });\n };\n /**\n * Checks if this modifier matches provided params\n *\n * @param clientName\n * @param clientIP\n */\n ClientModifier.prototype.matchAny = function (clientName, clientIP) {\n if (this.restricted) {\n if (clientName && this.restricted.includes(clientName)) {\n return false;\n }\n if (clientIP && this.restricted.includes(clientIP)) {\n return false;\n }\n return true;\n }\n if (this.restrictedNetmasks) {\n if (clientIP && this.restrictedNetmasks.contains(clientIP)) {\n return false;\n }\n return true;\n }\n if (this.permitted) {\n if (clientName && this.permitted.includes(clientName)) {\n return true;\n }\n if (clientIP && this.permitted.includes(clientIP)) {\n return true;\n }\n }\n if (this.permittedNetmasks) {\n if (clientIP && this.permittedNetmasks.contains(clientIP)) {\n return true;\n }\n }\n return false;\n };\n /**\n * Parses netmasks from client's strings\n *\n * @param values\n */\n ClientModifier.parseNetmasks = function (values) {\n var result = new NetmasksCollection();\n values.forEach(function (x) {\n var cidrVersion = isCidr$1.exports(x);\n if (cidrVersion === 4) {\n result.ipv4Masks.push(x);\n }\n else if (cidrVersion === 6) {\n result.ipv6Masks.push(x);\n }\n });\n return result;\n };\n return ClientModifier;\n }(BaseValuesModifier));\n\n /**\n * The dnsrewrite response modifier allows replacing the content of the response\n * to the DNS request for the matching hosts.\n *\n * TODO: This modifier is not yet implemented\n * https://github.com/AdguardTeam/AdGuardHome/wiki/Hosts-Blocklists#dnsrewrite\n */\n var DnsRewriteModifier = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param value\n */\n function DnsRewriteModifier(value) {\n this.value = value;\n }\n /**\n * Modifier value\n */\n DnsRewriteModifier.prototype.getValue = function () {\n return this.value;\n };\n return DnsRewriteModifier;\n }());\n\n /**\n * The dnstype modifier allows specifying DNS request type on which this rule will be triggered.\n */\n var DnsTypeModifier = /** @class */ (function (_super) {\n __extends(DnsTypeModifier, _super);\n /**\n * Constructor\n *\n * @param value\n */\n function DnsTypeModifier(value) {\n var _this = _super.call(this, value) || this;\n if (_this.permitted) {\n _this.restricted = null;\n }\n return _this;\n }\n return DnsTypeModifier;\n }(BaseValuesModifier));\n\n /**\n * The ctag modifier allows to block domains only for specific types of DNS client tags.\n */\n var CtagModifier = /** @class */ (function (_super) {\n __extends(CtagModifier, _super);\n /**\n * Constructor\n *\n * @param value\n */\n function CtagModifier(value) {\n var _this = _super.call(this, value) || this;\n _this.validate();\n return _this;\n }\n /**\n * Validates tag values\n */\n CtagModifier.prototype.validate = function () {\n if (!this.getValue()) {\n throw new Error('Invalid rule: Ctag modifier must not be empty');\n }\n var tags = this.permitted ? this.permitted : this.restricted;\n if (tags && tags.some(function (x) { return !CtagModifier.ALLOWED_TAGS.includes(x); })) {\n throw new Error('Invalid rule: Invalid ctag modifier');\n }\n };\n /**\n * The list of allowed tags\n */\n CtagModifier.ALLOWED_TAGS = [\n // By device type:\n 'device_audio',\n 'device_camera',\n 'device_gameconsole',\n 'device_laptop',\n 'device_nas',\n 'device_pc',\n 'device_phone',\n 'device_printer',\n 'device_securityalarm',\n 'device_tablet',\n 'device_tv',\n 'device_other',\n // By operating system:\n 'os_android',\n 'os_ios',\n 'os_linux',\n 'os_macos',\n 'os_windows',\n 'os_other',\n // By user group:\n 'user_admin',\n 'user_regular',\n 'user_child',\n ];\n return CtagModifier;\n }(BaseValuesModifier));\n\n /**\n * Counts the number of bits in the number and returns it\n *\n * @param a number to count bits\n *\n * @returns The number of bits in the number.\n */\n function getBitCount(a) {\n var count = 0;\n var n = a;\n while (n > 0) {\n count += n & 1;\n n >>= 1;\n }\n return count;\n }\n /**\n * Count the number of bits enabled in a number based on a bit mask\n *\n * @param base Base number to check\n * @param mask Mask to check\n *\n * @returns The number of bits enabled in the base number based on the mask\n *\n * @example\n * countEnabledBits(0b100, 0b110); // 1\n * countEnabledBits(0b111, 0b000); // 0\n */\n function countEnabledBits(base, mask) {\n // Get the common bits between the base and the mask\n var common = base & mask;\n // Count the number of bits enabled in the common bits\n return getBitCount(common);\n }\n\n /**\n * NetworkRuleOption is the enumeration of various rule options.\n * In order to save memory, we store some options as a flag.\n * https://adguard.com/kb/general/ad-filtering/create-own-filters/#basic-rule-modifiers\n */\n exports.NetworkRuleOption = void 0;\n (function (NetworkRuleOption) {\n /** No value is set. Syntax sugar to simplify code. */\n NetworkRuleOption[NetworkRuleOption[\"NotSet\"] = 0] = \"NotSet\";\n /** $third-party modifier */\n NetworkRuleOption[NetworkRuleOption[\"ThirdParty\"] = 1] = \"ThirdParty\";\n /** $match-case modifier */\n NetworkRuleOption[NetworkRuleOption[\"MatchCase\"] = 2] = \"MatchCase\";\n /** $important modifier */\n NetworkRuleOption[NetworkRuleOption[\"Important\"] = 4] = \"Important\";\n // Allowlist rules modifiers\n // Each of them can disable part of the functionality\n /** $elemhide modifier */\n NetworkRuleOption[NetworkRuleOption[\"Elemhide\"] = 8] = \"Elemhide\";\n /** $generichide modifier */\n NetworkRuleOption[NetworkRuleOption[\"Generichide\"] = 16] = \"Generichide\";\n /** $specifichide modifier */\n NetworkRuleOption[NetworkRuleOption[\"Specifichide\"] = 32] = \"Specifichide\";\n /** $genericblock modifier */\n NetworkRuleOption[NetworkRuleOption[\"Genericblock\"] = 64] = \"Genericblock\";\n /** $jsinject modifier */\n NetworkRuleOption[NetworkRuleOption[\"Jsinject\"] = 128] = \"Jsinject\";\n /** $urlblock modifier */\n NetworkRuleOption[NetworkRuleOption[\"Urlblock\"] = 256] = \"Urlblock\";\n /** $content modifier */\n NetworkRuleOption[NetworkRuleOption[\"Content\"] = 512] = \"Content\";\n /** $extension modifier */\n NetworkRuleOption[NetworkRuleOption[\"Extension\"] = 1024] = \"Extension\";\n /** $stealth modifier */\n NetworkRuleOption[NetworkRuleOption[\"Stealth\"] = 2048] = \"Stealth\";\n // Other modifiers\n /** $popup modifier */\n NetworkRuleOption[NetworkRuleOption[\"Popup\"] = 4096] = \"Popup\";\n /** $csp modifier */\n NetworkRuleOption[NetworkRuleOption[\"Csp\"] = 8192] = \"Csp\";\n /** $replace modifier */\n NetworkRuleOption[NetworkRuleOption[\"Replace\"] = 16384] = \"Replace\";\n /** $cookie modifier */\n NetworkRuleOption[NetworkRuleOption[\"Cookie\"] = 32768] = \"Cookie\";\n /** $redirect modifier */\n NetworkRuleOption[NetworkRuleOption[\"Redirect\"] = 65536] = \"Redirect\";\n /** $badfilter modifier */\n NetworkRuleOption[NetworkRuleOption[\"Badfilter\"] = 131072] = \"Badfilter\";\n /** $removeparam modifier */\n NetworkRuleOption[NetworkRuleOption[\"RemoveParam\"] = 262144] = \"RemoveParam\";\n /** $removeheader modifier */\n NetworkRuleOption[NetworkRuleOption[\"RemoveHeader\"] = 524288] = \"RemoveHeader\";\n /** $jsonprune modifier */\n NetworkRuleOption[NetworkRuleOption[\"JsonPrune\"] = 1048576] = \"JsonPrune\";\n /** $hls modifier */\n NetworkRuleOption[NetworkRuleOption[\"Hls\"] = 2097152] = \"Hls\";\n // Compatibility dependent\n /** $network modifier */\n NetworkRuleOption[NetworkRuleOption[\"Network\"] = 4194304] = \"Network\";\n /** dns modifiers */\n NetworkRuleOption[NetworkRuleOption[\"Client\"] = 8388608] = \"Client\";\n NetworkRuleOption[NetworkRuleOption[\"DnsRewrite\"] = 16777216] = \"DnsRewrite\";\n NetworkRuleOption[NetworkRuleOption[\"DnsType\"] = 33554432] = \"DnsType\";\n NetworkRuleOption[NetworkRuleOption[\"Ctag\"] = 67108864] = \"Ctag\";\n /* $method modifier */\n NetworkRuleOption[NetworkRuleOption[\"Method\"] = 134217728] = \"Method\";\n /* $to modifier */\n NetworkRuleOption[NetworkRuleOption[\"To\"] = 268435456] = \"To\";\n /* $permissions modifier */\n NetworkRuleOption[NetworkRuleOption[\"Permissions\"] = 536870912] = \"Permissions\";\n /* $header modifier */\n NetworkRuleOption[NetworkRuleOption[\"Header\"] = 1073741824] = \"Header\";\n })(exports.NetworkRuleOption || (exports.NetworkRuleOption = {}));\n /**\n * NetworkRuleOptions is the enumeration of various rule options groups\n * needed for validation.\n */\n exports.NetworkRuleGroupOptions = void 0;\n (function (NetworkRuleGroupOptions) {\n /** Allowlist-only modifiers */\n NetworkRuleGroupOptions[NetworkRuleGroupOptions[\"AllowlistOnly\"] = 4088] = \"AllowlistOnly\";\n /** Options supported by host-level network rules * */\n NetworkRuleGroupOptions[NetworkRuleGroupOptions[\"OptionHostLevelRules\"] = 125960196] = \"OptionHostLevelRules\";\n /**\n * Removeparam compatible modifiers\n *\n * $removeparam rules are compatible only with content type modifiers ($subdocument, $script, $stylesheet, etc)\n * except $document (using by default) and this list of modifiers:\n */\n NetworkRuleGroupOptions[NetworkRuleGroupOptions[\"RemoveParamCompatibleOptions\"] = 393223] = \"RemoveParamCompatibleOptions\";\n /**\n * Removeheader compatible modifiers\n *\n * $removeheader rules are compatible only with content type modifiers ($subdocument, $script, $stylesheet, etc)\n * except $document (using by default) and this list of modifiers:\n */\n NetworkRuleGroupOptions[NetworkRuleGroupOptions[\"RemoveHeaderCompatibleOptions\"] = 655367] = \"RemoveHeaderCompatibleOptions\";\n })(exports.NetworkRuleGroupOptions || (exports.NetworkRuleGroupOptions = {}));\n /**\n * Helper class that is used for passing {@link NetworkRule.parseRuleText}\n * result to the caller. Should not be used outside of this file.\n */\n var BasicRuleParts = /** @class */ (function () {\n function BasicRuleParts() {\n }\n return BasicRuleParts;\n }());\n /**\n * Basic network filtering rule.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules\n */\n var NetworkRule = /** @class */ (function () {\n /**\n * Creates an instance of the {@link NetworkRule}.\n * It parses this rule and extracts the rule pattern (see {@link SimpleRegex}),\n * and rule modifiers.\n *\n * @param ruleText - original rule text.\n * @param filterListId - ID of the filter list this rule belongs to.\n *\n * @throws error if it fails to parse the rule.\n */\n function NetworkRule(ruleText, filterListId) {\n this.permittedDomains = null;\n this.restrictedDomains = null;\n /**\n * Domains in denyallow modifier providing exceptions for permitted domains\n * https://github.com/AdguardTeam/CoreLibs/issues/1304\n */\n this.denyAllowDomains = null;\n /**\n * Flag with all enabled rule options.\n */\n this.enabledOptions = exports.NetworkRuleOption.NotSet;\n /**\n * Flag with all disabled rule options.\n */\n this.disabledOptions = exports.NetworkRuleOption.NotSet;\n /**\n * Flag with all permitted request types.\n */\n this.permittedRequestTypes = RequestType.NotSet;\n /**\n * Flag with all restricted request types.\n */\n this.restrictedRequestTypes = RequestType.NotSet;\n /**\n * Rule Advanced modifier\n */\n this.advancedModifier = null;\n /**\n * Rule App modifier\n */\n this.appModifier = null;\n /**\n * Rule Method modifier\n */\n this.methodModifier = null;\n /**\n * Rule To modifier\n */\n this.toModifier = null;\n /**\n * Rule priority, which is needed when the engine has to choose between\n * several rules matching the query. This value is calculated based on\n * the rule modifiers enabled or disabled and rounded up\n * to the smallest integer greater than or equal to the calculated weight\n * in the {@link calculatePriorityWeight}.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-1\n */\n this.priorityWeight = 1;\n this.ruleText = ruleText;\n this.filterListId = filterListId;\n var ruleParts = NetworkRule.parseRuleText(ruleText);\n this.allowlist = !!ruleParts.allowlist;\n var pattern = ruleParts.pattern;\n if (pattern && NetworkRule.hasSpaces(pattern)) {\n throw new SyntaxError('Rule has spaces, seems to be an host rule');\n }\n if (ruleParts.options) {\n this.loadOptions(ruleParts.options);\n }\n if (pattern === SimpleRegex.MASK_START_URL\n || pattern === SimpleRegex.MASK_ANY_CHARACTER\n || pattern === ''\n || pattern.length < SimpleRegex.MIN_GENERIC_RULE_LENGTH) {\n // Except cookie, removeparam rules and dns compatible rules, they have their own atmosphere\n var hasCookieModifier = this.advancedModifier instanceof CookieModifier;\n var hasRemoveParamModifier = this.advancedModifier instanceof RemoveParamModifier;\n // https://github.com/AdguardTeam/tsurlfilter/issues/56\n var isDnsCompatible = isCompatibleWith(exports.CompatibilityTypes.Dns);\n if (!hasCookieModifier && !hasRemoveParamModifier && !isDnsCompatible) {\n if (!(this.hasPermittedDomains() || this.hasPermittedApps())) {\n // Rule matches too much and does not have any domain restriction\n // We should not allow this kind of rules\n // eslint-disable-next-line max-len\n throw new SyntaxError('The rule is too wide, add domain restriction or make the pattern more specific');\n }\n }\n }\n this.calculatePriorityWeight();\n this.pattern = new Pattern(pattern, this.isOptionEnabled(exports.NetworkRuleOption.MatchCase));\n }\n /**\n * Returns the original text of the rule from which it was parsed.\n *\n * @returns Original text of the rule.\n */\n NetworkRule.prototype.getText = function () {\n return this.ruleText;\n };\n /**\n * Returns the identifier of the filter from which the rule was received.\n *\n * @returns Identifier of the filter from which the rule was received.\n */\n NetworkRule.prototype.getFilterListId = function () {\n return this.filterListId;\n };\n /**\n * Each rule has its own priority, which is necessary when several rules\n * match the request and the filtering system needs to select one of them.\n * Priority is measured as a positive integer.\n * In the case of a conflict between two rules with the same priority value,\n * it is not specified which one of them will be chosen.\n *\n * @returns Rule priority.\n */\n NetworkRule.prototype.getPriorityWeight = function () {\n return this.priorityWeight;\n };\n /**\n * Returns rule pattern,\n * which currently is used only in the rule validator module\n */\n NetworkRule.prototype.getPattern = function () {\n return this.pattern.pattern;\n };\n /**\n * Returns `true` if the rule is \"allowlist\", e.g. if it disables other\n * rules when the pattern matches the request.\n */\n NetworkRule.prototype.isAllowlist = function () {\n return this.allowlist;\n };\n /**\n * Checks if the rule is a document-level allowlist rule with $urlblock or\n * $genericblock or $content.\n * This means that the rule is supposed to disable or modify blocking\n * of the page subrequests.\n * For instance, `@@||example.org^$urlblock` unblocks all sub-requests.\n */\n NetworkRule.prototype.isDocumentLevelAllowlistRule = function () {\n if (!this.isAllowlist()) {\n return false;\n }\n return this.isOptionEnabled(exports.NetworkRuleOption.Urlblock)\n || this.isOptionEnabled(exports.NetworkRuleOption.Genericblock)\n || this.isOptionEnabled(exports.NetworkRuleOption.Content);\n };\n /**\n * Checks if the rule completely disables filtering.\n */\n NetworkRule.prototype.isFilteringDisabled = function () {\n if (!this.isAllowlist()) {\n return false;\n }\n return this.isOptionEnabled(exports.NetworkRuleOption.Elemhide)\n && this.isOptionEnabled(exports.NetworkRuleOption.Content)\n && this.isOptionEnabled(exports.NetworkRuleOption.Urlblock)\n && this.isOptionEnabled(exports.NetworkRuleOption.Jsinject);\n };\n /**\n * The longest part of pattern without any special characters.\n * It is used to improve the matching performance.\n */\n NetworkRule.prototype.getShortcut = function () {\n return this.pattern.shortcut;\n };\n /**\n * Gets list of permitted domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#domain-modifier\n */\n NetworkRule.prototype.getPermittedDomains = function () {\n return this.permittedDomains;\n };\n /**\n * Gets list of denyAllow domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#denyallow-modifier\n */\n NetworkRule.prototype.getDenyAllowDomains = function () {\n return this.denyAllowDomains;\n };\n /**\n * Gets list of restricted domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#domain-modifier\n */\n NetworkRule.prototype.getRestrictedDomains = function () {\n return this.restrictedDomains;\n };\n /**\n * Get list of permitted $to domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#to-modifier\n */\n NetworkRule.prototype.getPermittedToDomains = function () {\n if (this.toModifier) {\n return this.toModifier.permittedValues;\n }\n return null;\n };\n /**\n * Get list of restricted $to domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#to-modifier\n */\n NetworkRule.prototype.getRestrictedToDomains = function () {\n if (this.toModifier) {\n return this.toModifier.restrictedValues;\n }\n return null;\n };\n /**\n * Gets list of permitted domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#app\n */\n NetworkRule.prototype.getPermittedApps = function () {\n if (this.appModifier) {\n return this.appModifier.permittedApps;\n }\n return null;\n };\n /**\n * Gets list of restricted domains.\n * See https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#app\n */\n NetworkRule.prototype.getRestrictedApps = function () {\n if (this.appModifier) {\n return this.appModifier.restrictedApps;\n }\n return null;\n };\n /**\n * Gets list of permitted methods.\n * See https://kb.adguard.com/general/how-to-create-your-own-ad-filters#method-modifier\n */\n NetworkRule.prototype.getRestrictedMethods = function () {\n if (this.methodModifier) {\n return this.methodModifier.restrictedValues;\n }\n return null;\n };\n /**\n * Gets list of restricted methods.\n * See https://kb.adguard.com/general/how-to-create-your-own-ad-filters#method-modifier\n */\n NetworkRule.prototype.getPermittedMethods = function () {\n if (this.methodModifier) {\n return this.methodModifier.permittedValues;\n }\n return null;\n };\n /**\n * Flag with all permitted request types.\n * The value {@link RequestType.NotSet} here means \"all request types are allowed\".\n */\n NetworkRule.prototype.getPermittedRequestTypes = function () {\n return this.permittedRequestTypes;\n };\n /**\n * Flag with all restricted request types.\n * The value {@link RequestType.NotSet} here means \"no type of request is restricted\".\n */\n NetworkRule.prototype.getRestrictedRequestTypes = function () {\n return this.restrictedRequestTypes;\n };\n /**\n * Advanced modifier\n */\n NetworkRule.prototype.getAdvancedModifier = function () {\n return this.advancedModifier;\n };\n /**\n * Advanced modifier value\n */\n NetworkRule.prototype.getAdvancedModifierValue = function () {\n return this.advancedModifier && this.advancedModifier.getValue();\n };\n /**\n * isRegexRule returns true if rule's pattern is a regular expression.\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#regexp-support\n */\n NetworkRule.prototype.isRegexRule = function () {\n return (this.getPattern().startsWith(SimpleRegex.MASK_REGEX_RULE)\n && this.getPattern().endsWith(SimpleRegex.MASK_REGEX_RULE));\n };\n NetworkRule.prototype.matchesPermittedDomains = function (hostname) {\n if (this.hasPermittedDomains()\n && DomainModifier.isDomainOrSubdomainOfAny(hostname, this.permittedDomains)) {\n return true;\n }\n return false;\n };\n /**\n * Checks if this filtering rule matches the specified request.\n * @param request - request to check.\n * @param useShortcut - the flag to use this rule shortcut\n *\n * In case we use Trie in lookup table, we don't need to use shortcut cause we already check if request's url\n * includes full rule shortcut.\n */\n NetworkRule.prototype.match = function (request, useShortcut) {\n if (useShortcut === void 0) { useShortcut = true; }\n // Regex rules should not be tested by shortcut\n if (useShortcut && !this.matchShortcut(request)) {\n return false;\n }\n if (this.isOptionEnabled(exports.NetworkRuleOption.Method) && !this.matchMethod(request.method)) {\n return false;\n }\n if (this.isOptionEnabled(exports.NetworkRuleOption.ThirdParty) && !request.thirdParty) {\n return false;\n }\n if (this.isOptionDisabled(exports.NetworkRuleOption.ThirdParty) && request.thirdParty) {\n return false;\n }\n if (!this.matchRequestType(request.requestType)) {\n return false;\n }\n if (!this.matchDomainModifier(request)) {\n return false;\n }\n if (this.isOptionEnabled(exports.NetworkRuleOption.RemoveParam)) {\n if (!this.matchRequestTypeExplicit(request.requestType)) {\n return false;\n }\n }\n if (!this.matchDenyAllowDomains(request.hostname)) {\n return false;\n }\n if (this.isOptionEnabled(exports.NetworkRuleOption.To) && !this.matchToModifier(request.hostname)) {\n return false;\n }\n if (!this.matchDnsType(request.dnsType)) {\n return false;\n }\n if (!this.matchClientTags(request.clientTags)) {\n return false;\n }\n if (!this.matchClient(request.clientName, request.clientIP)) {\n return false;\n }\n return this.pattern.matchPattern(request, true);\n };\n /**\n * matchShortcut simply checks if shortcut is a substring of the URL.\n * @param request - request to check.\n */\n NetworkRule.prototype.matchShortcut = function (request) {\n return request.urlLowercase.indexOf(this.getShortcut()) >= 0;\n };\n /**\n * matchDomain checks if the filtering rule is allowed on this domain.\n * @param domain - domain to check.\n */\n NetworkRule.prototype.matchDomain = function (domain) {\n if (this.hasRestrictedDomains()) {\n if (DomainModifier.isDomainOrSubdomainOfAny(domain, this.restrictedDomains)) {\n // Domain or host is restricted\n // i.e. $domain=~example.org\n return false;\n }\n }\n if (this.hasPermittedDomains()) {\n if (!DomainModifier.isDomainOrSubdomainOfAny(domain, this.permittedDomains)) {\n // Domain is not among permitted\n // i.e. $domain=example.org and we're checking example.com\n return false;\n }\n }\n return true;\n };\n /**\n * Check if request matches domain modifier by request referrer (general case) or by request target\n *\n * In some cases the $domain modifier can match not only the referrer domain, but also the target domain.\n * This happens when the following is true (1 AND ((2 AND 3) OR 4):\n *\n * 1) The request has document type\n * 2) The rule's pattern doesn't match any particular domain(s)\n * 3) The rule's pattern doesn't contain regular expressions\n * 4) The $domain modifier contains only excluded domains (e.g., $domain=~example.org|~example.com)\n *\n * When all these conditions are met, the domain modifier will match both the referrer domain and the target domain.\n * https://github.com/AdguardTeam/tsurlfilter/issues/45\n * @param request\n */\n NetworkRule.prototype.matchDomainModifier = function (request) {\n if (!this.permittedDomains && !this.restrictedDomains) {\n return true;\n }\n var isDocumentType = request.requestType === RequestType.Document\n || request.requestType === RequestType.SubDocument;\n var hasOnlyExcludedDomains = (!this.permittedDomains || this.permittedDomains.length === 0)\n && this.restrictedDomains\n && this.restrictedDomains.length > 0;\n var patternIsRegex = this.isRegexRule();\n var patternIsDomainSpecific = this.pattern.isPatternDomainSpecific();\n var matchesTargetByPatternCondition = !patternIsRegex && !patternIsDomainSpecific;\n if (isDocumentType && (hasOnlyExcludedDomains || matchesTargetByPatternCondition)) {\n // check if matches source hostname if exists or if matches target hostname\n return (request.sourceHostname && this.matchDomain(request.sourceHostname))\n || this.matchDomain(request.hostname);\n }\n return this.matchDomain(request.sourceHostname || '');\n };\n /**\n * checks if the filtering rule is allowed on this domain.\n * @param domain\n */\n NetworkRule.prototype.matchDenyAllowDomains = function (domain) {\n if (!this.denyAllowDomains) {\n return true;\n }\n if (this.denyAllowDomains.length > 0) {\n if (DomainModifier.isDomainOrSubdomainOfAny(domain, this.denyAllowDomains)) {\n return false;\n }\n }\n return true;\n };\n /**\n * Checks if request target matches with specified domains\n *\n * @param domain request's domain\n * @return true if request domain matches with specified domains\n */\n NetworkRule.prototype.matchToModifier = function (domain) {\n if (!this.toModifier) {\n return true;\n }\n /**\n * Request's domain must be either explicitly\n * permitted and not be included in list of restricted domains\n * for the rule to apply\n */\n var permittedDomains = this.getPermittedToDomains();\n var restrictedDomains = this.getRestrictedToDomains();\n var isPermittedDomain = !!permittedDomains\n && DomainModifier.isDomainOrSubdomainOfAny(domain, permittedDomains);\n var isRestrictedDomain = !!restrictedDomains\n && DomainModifier.isDomainOrSubdomainOfAny(domain, restrictedDomains);\n return isPermittedDomain && !isRestrictedDomain;\n };\n /**\n * Return TRUE if this rule matches with the tags associated with a client\n *\n * @param clientTags\n */\n NetworkRule.prototype.matchClientTags = function (clientTags) {\n var advancedModifier = this.getAdvancedModifier();\n if (!advancedModifier || !(advancedModifier instanceof CtagModifier)) {\n return true;\n }\n if (!clientTags) {\n return false;\n }\n var cTagsModifier = advancedModifier;\n return clientTags.every(function (x) { return cTagsModifier.match(x); });\n };\n /**\n * returns TRUE if the rule matches with the specified client\n *\n * @param clientName\n * @param clientIP\n */\n NetworkRule.prototype.matchClient = function (clientName, clientIP) {\n var advancedModifier = this.getAdvancedModifier();\n if (!advancedModifier || !(advancedModifier instanceof ClientModifier)) {\n return true;\n }\n if (!clientName && !clientIP) {\n return false;\n }\n var modifier = advancedModifier;\n return modifier.matchAny(clientName, clientIP);\n };\n /**\n * Return TRUE if this rule matches with the request dnstype\n *\n * @param dnstype\n */\n NetworkRule.prototype.matchDnsType = function (dnstype) {\n var advancedModifier = this.getAdvancedModifier();\n if (!advancedModifier || !(advancedModifier instanceof DnsTypeModifier)) {\n return true;\n }\n if (!dnstype) {\n return false;\n }\n var modifier = advancedModifier;\n return modifier.match(dnstype);\n };\n /**\n * Checks if rule has permitted domains\n */\n NetworkRule.prototype.hasPermittedDomains = function () {\n return this.permittedDomains != null && this.permittedDomains.length > 0;\n };\n /**\n * Checks if rule has restricted domains\n */\n NetworkRule.prototype.hasRestrictedDomains = function () {\n return this.restrictedDomains != null && this.restrictedDomains.length > 0;\n };\n /**\n * Checks if rule has permitted apps\n */\n NetworkRule.prototype.hasPermittedApps = function () {\n if (!this.appModifier) {\n return false;\n }\n return this.appModifier.permittedApps !== null && this.appModifier.permittedApps.length > 0;\n };\n /**\n * matchRequestType checks if the request's type matches the rule properties\n * @param requestType - request type to check.\n */\n NetworkRule.prototype.matchRequestType = function (requestType) {\n if (this.permittedRequestTypes !== RequestType.NotSet) {\n if ((this.permittedRequestTypes & requestType) !== requestType) {\n return false;\n }\n }\n if (this.restrictedRequestTypes !== RequestType.NotSet) {\n if ((this.restrictedRequestTypes & requestType) === requestType) {\n return false;\n }\n }\n return true;\n };\n /**\n * In case of $removeparam modifier,\n * we only allow it to target other content types if the rule has an explicit content-type modifier.\n */\n NetworkRule.prototype.matchRequestTypeExplicit = function (requestType) {\n if (this.permittedRequestTypes === RequestType.NotSet\n && this.restrictedRequestTypes === RequestType.NotSet\n && requestType !== RequestType.Document\n && requestType !== RequestType.SubDocument) {\n return false;\n }\n return this.matchRequestType(requestType);\n };\n /**\n * Checks if request's method matches with the rule\n *\n * @param method request's method\n * @returns true, if rule must be applied to the request\n */\n NetworkRule.prototype.matchMethod = function (method) {\n if (!method || !MethodModifier.isHTTPMethod(method)) {\n return false;\n }\n /**\n * Request's method must be either explicitly\n * permitted or not be included in list of restricted methods\n * for the rule to apply\n */\n var permittedMethods = this.getPermittedMethods();\n if (permittedMethods === null || permittedMethods === void 0 ? void 0 : permittedMethods.includes(method)) {\n return true;\n }\n var restrictedMethods = this.getRestrictedMethods();\n return !!restrictedMethods && !restrictedMethods.includes(method);\n };\n /**\n * Checks if pattern has spaces\n * Used in order to do not create network rules from host rules\n * @param pattern\n * @private\n */\n NetworkRule.hasSpaces = function (pattern) {\n return pattern.indexOf(' ') > -1;\n };\n /**\n * Parses the options string and saves them.\n * More on the rule modifiers:\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers\n *\n * @param options - string with the rule modifiers\n *\n * @throws an error if there is an unsupported modifier\n */\n NetworkRule.prototype.loadOptions = function (options) {\n var optionParts;\n try {\n optionParts = parseOptionsString(options);\n }\n catch (e) {\n var errorMessage = getErrorMessage(e);\n throw new Error(\"Cannot parse \".concat(options, \": \").concat(errorMessage));\n }\n for (var i = 0; i < optionParts.length; i += 1) {\n var option = optionParts[i];\n var valueIndex = option.indexOf('=');\n var optionName = option;\n var optionValue = '';\n if (valueIndex > 0) {\n optionName = option.substring(0, valueIndex);\n optionValue = option.substring(valueIndex + 1);\n }\n this.loadOption(optionName, optionValue);\n }\n this.validateOptions();\n };\n /**\n * Returns true if rule contains (enabled or disabled) specified option.\n * Please note, that options have three state: enabled, disabled, undefined.\n *\n * @param option - rule option to check.\n */\n NetworkRule.prototype.hasOption = function (option) {\n return this.isOptionEnabled(option) || this.isOptionDisabled(option);\n };\n /**\n * Returns true if the specified option is enabled.\n * Please note, that options have three state: enabled, disabled, undefined.\n *\n * @param option - rule option to check.\n */\n NetworkRule.prototype.isOptionEnabled = function (option) {\n return (this.enabledOptions & option) === option;\n };\n /**\n * Returns true if one and only option is enabled\n *\n * @param option\n */\n NetworkRule.prototype.isSingleOptionEnabled = function (option) {\n return this.enabledOptions === option;\n };\n /**\n * Returns true if the specified option is disabled.\n * Please note, that options have three state: enabled, disabled, undefined.\n *\n * @param option - rule option to check.\n */\n NetworkRule.prototype.isOptionDisabled = function (option) {\n return (this.disabledOptions & option) === option;\n };\n /**\n * Checks if the rule has higher priority that the specified rule\n * allowlist + $important > $important > redirect > allowlist > basic rules\n */\n NetworkRule.prototype.isHigherPriority = function (r) {\n return this.priorityWeight > r.priorityWeight;\n };\n /**\n * Returns true if the rule is considered \"generic\"\n * \"generic\" means that the rule is not restricted to a limited set of domains\n * Please note that it might be forbidden on some domains, though.\n *\n * @return {boolean}\n */\n NetworkRule.prototype.isGeneric = function () {\n return !this.hasPermittedDomains();\n };\n /**\n * Returns true if this rule negates the specified rule\n * Only makes sense when this rule has a `badfilter` modifier\n */\n NetworkRule.prototype.negatesBadfilter = function (specifiedRule) {\n if (!this.isOptionEnabled(exports.NetworkRuleOption.Badfilter)) {\n return false;\n }\n if (this.allowlist !== specifiedRule.allowlist) {\n return false;\n }\n if (this.pattern.pattern !== specifiedRule.pattern.pattern) {\n return false;\n }\n if (this.permittedRequestTypes !== specifiedRule.permittedRequestTypes) {\n return false;\n }\n if (this.restrictedRequestTypes !== specifiedRule.restrictedRequestTypes) {\n return false;\n }\n if ((this.enabledOptions ^ exports.NetworkRuleOption.Badfilter) !== specifiedRule.enabledOptions) {\n return false;\n }\n if (this.disabledOptions !== specifiedRule.disabledOptions) {\n return false;\n }\n if (!stringArraysEquals(this.restrictedDomains, specifiedRule.restrictedDomains)) {\n return false;\n }\n if (!stringArraysHaveIntersection(this.permittedDomains, specifiedRule.permittedDomains)) {\n return false;\n }\n return true;\n };\n /**\n * Checks if this rule can be used for hosts-level blocking\n */\n NetworkRule.prototype.isHostLevelNetworkRule = function () {\n if (this.hasPermittedDomains() || this.hasRestrictedDomains()) {\n return false;\n }\n if (this.permittedRequestTypes !== 0 && this.restrictedRequestTypes !== 0) {\n return false;\n }\n if (this.disabledOptions !== exports.NetworkRuleOption.NotSet) {\n return false;\n }\n if (this.enabledOptions !== exports.NetworkRuleOption.NotSet) {\n return ((this.enabledOptions\n & exports.NetworkRuleGroupOptions.OptionHostLevelRules)\n | (this.enabledOptions\n ^ exports.NetworkRuleGroupOptions.OptionHostLevelRules)) === exports.NetworkRuleGroupOptions.OptionHostLevelRules;\n }\n return true;\n };\n /**\n * Enables or disables the specified option.\n *\n * @param option - option to enable or disable.\n * @param enabled - true to enable, false to disable.\n * @param skipRestrictions - skip options allowlist/blacklist restrictions\n *\n * @throws an error if the option we're trying to enable cannot be.\n * For instance, you cannot enable $elemhide for blacklist rules.\n */\n NetworkRule.prototype.setOptionEnabled = function (option, enabled, skipRestrictions) {\n if (skipRestrictions === void 0) { skipRestrictions = false; }\n if (!skipRestrictions) {\n if (!this.allowlist && (option & exports.NetworkRuleGroupOptions.AllowlistOnly) === option) {\n throw new SyntaxError(\"Modifier \".concat(exports.NetworkRuleOption[option], \" cannot be used in blacklist rule\"));\n }\n }\n if (enabled) {\n this.enabledOptions |= option;\n }\n else {\n this.disabledOptions |= option;\n }\n };\n /**\n * Permits or forbids the specified request type.\n * \"Permits\" means that the rule will match **only** the types that are permitted.\n * \"Restricts\" means that the rule will match **all but restricted**.\n *\n * @param requestType - request type.\n * @param permitted - true if it's permitted (whic)\n */\n NetworkRule.prototype.setRequestType = function (requestType, permitted) {\n if (permitted) {\n this.permittedRequestTypes |= requestType;\n }\n else {\n this.restrictedRequestTypes |= requestType;\n }\n };\n /**\n * Sets and validates exceptionally allowed domains presented in $denyallow modifier\n *\n * @param optionValue\n */\n NetworkRule.prototype.setDenyAllowDomains = function (optionValue) {\n var domainModifier = new DomainModifier(optionValue, PIPE_SEPARATOR);\n if (domainModifier.restrictedDomains && domainModifier.restrictedDomains.length > 0) {\n throw new SyntaxError('Invalid modifier: $denyallow domains cannot be negated');\n }\n if (domainModifier.permittedDomains\n && domainModifier.permittedDomains.some(function (x) { return x.includes(SimpleRegex.MASK_ANY_CHARACTER); })) {\n throw new SyntaxError('Invalid modifier: $denyallow domains wildcards are not supported');\n }\n this.denyAllowDomains = domainModifier.permittedDomains;\n };\n /**\n * Loads the specified modifier:\n * https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#basic-rules-modifiers\n *\n * @param optionName - modifier name.\n * @param optionValue - modifier value.\n *\n * @throws an error if there is an unsupported modifier\n */\n NetworkRule.prototype.loadOption = function (optionName, optionValue) {\n var _this = this;\n var OPTIONS = NetworkRule.OPTIONS;\n if (optionName.startsWith(OPTIONS.NOOP)) {\n /**\n * A noop modifier does nothing and can be used to increase some rules readability.\n * It consists of the sequence of underscore characters (_) of any length\n * and can appear in a rule as many times as it's needed.\n */\n if (!optionName.split(OPTIONS.NOOP).some(function (s) { return !!s; })) {\n return;\n }\n }\n switch (optionName) {\n // General options\n // $third-party, $~first-party\n case OPTIONS.THIRD_PARTY:\n case NOT_MARK + OPTIONS.FIRST_PARTY:\n this.setOptionEnabled(exports.NetworkRuleOption.ThirdParty, true);\n break;\n // $first-party, $~third-party\n case NOT_MARK + OPTIONS.THIRD_PARTY:\n case OPTIONS.FIRST_PARTY:\n this.setOptionEnabled(exports.NetworkRuleOption.ThirdParty, false);\n break;\n // $match-case\n case OPTIONS.MATCH_CASE:\n this.setOptionEnabled(exports.NetworkRuleOption.MatchCase, true);\n break;\n // $~match-case\n case NOT_MARK + OPTIONS.MATCH_CASE:\n this.setOptionEnabled(exports.NetworkRuleOption.MatchCase, false);\n break;\n // $important\n case OPTIONS.IMPORTANT:\n this.setOptionEnabled(exports.NetworkRuleOption.Important, true);\n break;\n // $domain\n case OPTIONS.DOMAIN:\n // eslint-disable-next-line no-case-declarations\n var domainModifier = new DomainModifier(optionValue, PIPE_SEPARATOR);\n this.permittedDomains = domainModifier.permittedDomains;\n this.restrictedDomains = domainModifier.restrictedDomains;\n break;\n // $denyallow\n case OPTIONS.DENYALLOW:\n this.setDenyAllowDomains(optionValue);\n break;\n // $method modifier\n case OPTIONS.METHOD: {\n this.setOptionEnabled(exports.NetworkRuleOption.Method, true);\n this.methodModifier = new MethodModifier(optionValue);\n break;\n }\n // $header modifier\n case OPTIONS.HEADER:\n // simple validation of $header rules for compiler.\n // should be fully supported in tsurlfilter v2.3 and the browser extension v4.4. AG-16357\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension does not support $header modifier yet');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Header, true);\n break;\n // $to modifier\n case OPTIONS.TO: {\n this.setOptionEnabled(exports.NetworkRuleOption.To, true);\n this.toModifier = new ToModifier(optionValue);\n break;\n }\n // Document-level allowlist rules\n // $elemhide\n case OPTIONS.ELEMHIDE:\n this.setOptionEnabled(exports.NetworkRuleOption.Elemhide, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $generichide\n case OPTIONS.GENERICHIDE:\n this.setOptionEnabled(exports.NetworkRuleOption.Generichide, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $specifichide\n case OPTIONS.SPECIFICHIDE:\n this.setOptionEnabled(exports.NetworkRuleOption.Specifichide, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $genericblock\n case OPTIONS.GENERICBLOCK:\n this.setOptionEnabled(exports.NetworkRuleOption.Genericblock, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $jsinject\n case OPTIONS.JSINJECT:\n this.setOptionEnabled(exports.NetworkRuleOption.Jsinject, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $urlblock\n case OPTIONS.URLBLOCK:\n this.setOptionEnabled(exports.NetworkRuleOption.Urlblock, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $content\n case OPTIONS.CONTENT:\n this.setOptionEnabled(exports.NetworkRuleOption.Content, true);\n this.setRequestType(RequestType.Document, true);\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $document, $doc\n case OPTIONS.DOCUMENT:\n case OPTIONS.DOC:\n this.setRequestType(RequestType.Document, true);\n // In the case of allowlist rules $document implicitly includes\n // all these modifiers: `$content`, `$elemhide`, `$jsinject`,\n // `$urlblock`.\n if (this.isAllowlist()) {\n this.setOptionEnabled(exports.NetworkRuleOption.Elemhide, true, true);\n this.setOptionEnabled(exports.NetworkRuleOption.Jsinject, true, true);\n this.setOptionEnabled(exports.NetworkRuleOption.Urlblock, true, true);\n this.setOptionEnabled(exports.NetworkRuleOption.Content, true, true);\n }\n break;\n // $~document, $~doc\n case NOT_MARK + OPTIONS.DOCUMENT:\n case NOT_MARK + OPTIONS.DOC:\n this.setRequestType(RequestType.Document, false);\n break;\n // $stealth\n case OPTIONS.STEALTH:\n this.setOptionEnabled(exports.NetworkRuleOption.Stealth, true);\n break;\n // $popup\n case OPTIONS.POPUP:\n this.setOptionEnabled(exports.NetworkRuleOption.Popup, true);\n break;\n // Content type options\n // $script\n case OPTIONS.SCRIPT:\n this.setRequestType(RequestType.Script, true);\n break;\n // $~script\n case NOT_MARK + OPTIONS.SCRIPT:\n this.setRequestType(RequestType.Script, false);\n break;\n // $stylesheet\n case OPTIONS.STYLESHEET:\n this.setRequestType(RequestType.Stylesheet, true);\n break;\n // $~stylesheet\n case NOT_MARK + OPTIONS.STYLESHEET:\n this.setRequestType(RequestType.Stylesheet, false);\n break;\n // $subdocument\n case OPTIONS.SUBDOCUMENT:\n this.setRequestType(RequestType.SubDocument, true);\n break;\n // $~subdocument\n case NOT_MARK + OPTIONS.SUBDOCUMENT:\n this.setRequestType(RequestType.SubDocument, false);\n break;\n // $object\n case OPTIONS.OBJECT:\n this.setRequestType(RequestType.Object, true);\n break;\n // $~object\n case NOT_MARK + OPTIONS.OBJECT:\n this.setRequestType(RequestType.Object, false);\n break;\n // $image\n case OPTIONS.IMAGE:\n this.setRequestType(RequestType.Image, true);\n break;\n // $~image\n case NOT_MARK + OPTIONS.IMAGE:\n this.setRequestType(RequestType.Image, false);\n break;\n // $xmlhttprequest\n case OPTIONS.XMLHTTPREQUEST:\n this.setRequestType(RequestType.XmlHttpRequest, true);\n break;\n // $~xmlhttprequest\n case NOT_MARK + OPTIONS.XMLHTTPREQUEST:\n this.setRequestType(RequestType.XmlHttpRequest, false);\n break;\n // $media\n case OPTIONS.MEDIA:\n this.setRequestType(RequestType.Media, true);\n break;\n // $~media\n case NOT_MARK + OPTIONS.MEDIA:\n this.setRequestType(RequestType.Media, false);\n break;\n // $font\n case OPTIONS.FONT:\n this.setRequestType(RequestType.Font, true);\n break;\n // $~font\n case NOT_MARK + OPTIONS.FONT:\n this.setRequestType(RequestType.Font, false);\n break;\n // $websocket\n case OPTIONS.WEBSOCKET:\n this.setRequestType(RequestType.WebSocket, true);\n break;\n // $~websocket\n case NOT_MARK + OPTIONS.WEBSOCKET:\n this.setRequestType(RequestType.WebSocket, false);\n break;\n // $other\n case OPTIONS.OTHER:\n this.setRequestType(RequestType.Other, true);\n break;\n // $~other\n case NOT_MARK + OPTIONS.OTHER:\n this.setRequestType(RequestType.Other, false);\n break;\n // $ping\n case OPTIONS.PING:\n this.setRequestType(RequestType.Ping, true);\n break;\n // $~ping\n case NOT_MARK + OPTIONS.PING:\n this.setRequestType(RequestType.Ping, false);\n break;\n // Special modifiers\n // $badfilter\n case OPTIONS.BADFILTER:\n this.setOptionEnabled(exports.NetworkRuleOption.Badfilter, true);\n break;\n // $csp\n case OPTIONS.CSP:\n this.setOptionEnabled(exports.NetworkRuleOption.Csp, true);\n this.advancedModifier = new CspModifier(optionValue, this.isAllowlist());\n break;\n // $replace\n case OPTIONS.REPLACE:\n this.setOptionEnabled(exports.NetworkRuleOption.Replace, true);\n this.advancedModifier = new ReplaceModifier(optionValue);\n break;\n // $cookie\n case OPTIONS.COOKIE:\n this.setOptionEnabled(exports.NetworkRuleOption.Cookie, true);\n this.advancedModifier = new CookieModifier(optionValue);\n break;\n // $redirect\n case OPTIONS.REDIRECT:\n this.setOptionEnabled(exports.NetworkRuleOption.Redirect, true);\n this.advancedModifier = new RedirectModifier(optionValue, this.ruleText, this.isAllowlist());\n break;\n // $redirect-rule\n case OPTIONS.REDIRECTRULE:\n this.setOptionEnabled(exports.NetworkRuleOption.Redirect, true);\n this.advancedModifier = new RedirectModifier(optionValue, this.ruleText, this.isAllowlist(), true);\n break;\n // $removeparam\n case OPTIONS.REMOVEPARAM:\n this.setOptionEnabled(exports.NetworkRuleOption.RemoveParam, true);\n this.advancedModifier = new RemoveParamModifier(optionValue);\n break;\n // $removeheader\n case OPTIONS.REMOVEHEADER:\n this.setOptionEnabled(exports.NetworkRuleOption.RemoveHeader, true);\n this.advancedModifier = new RemoveHeaderModifier(optionValue, this.isAllowlist());\n break;\n // $permissions\n case OPTIONS.PERMISSIONS:\n // simple validation of permissions rules for compiler.\n // should be fully supported in tsurlfilter v2.3 and the browser extension v4.4. AG-17467\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension does not support $permissions modifier yet');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Permissions, true);\n break;\n // $jsonprune\n // simple validation of jsonprune rules for compiler\n // https://github.com/AdguardTeam/FiltersCompiler/issues/168\n case OPTIONS.JSONPRUNE:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension does not support $jsonprune modifier yet');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.JsonPrune, true);\n // TODO: should be properly implemented later\n // https://github.com/AdguardTeam/tsurlfilter/issues/71\n break;\n // $hls\n // simple validation of hls rules for compiler\n // https://github.com/AdguardTeam/FiltersCompiler/issues/169\n case OPTIONS.HLS:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension does not support $hls modifier yet');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Hls, true);\n // TODO: should be properly implemented later\n // https://github.com/AdguardTeam/tsurlfilter/issues/72\n break;\n // $referrerpolicy\n // simple validation of referrerpolicy rules for compiler\n // https://github.com/AdguardTeam/FiltersCompiler/issues/191\n case OPTIONS.REFERRERPOLICY:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension does not support $referrerpolicy modifier');\n }\n // do nothing as $referrerpolicy is supported by CoreLibs-based apps only.\n // it is needed for proper rule conversion performed by FiltersCompiler\n // so rules with $referrerpolicy modifier is not marked as invalid\n break;\n // Dns modifiers\n // $client\n case OPTIONS.CLIENT:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $client modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Client, true);\n this.advancedModifier = new ClientModifier(optionValue);\n break;\n // $dnsrewrite\n case OPTIONS.DNSREWRITE:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $dnsrewrite modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.DnsRewrite, true);\n this.advancedModifier = new DnsRewriteModifier(optionValue);\n break;\n // $dnstype\n case OPTIONS.DNSTYPE:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $dnstype modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.DnsType, true);\n this.advancedModifier = new DnsTypeModifier(optionValue);\n break;\n // $ctag\n case OPTIONS.CTAG:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $ctag modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Ctag, true);\n this.advancedModifier = new CtagModifier(optionValue);\n break;\n // $app\n case OPTIONS.APP:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $app modifier');\n }\n this.appModifier = new AppModifier(optionValue);\n break;\n // $network\n case OPTIONS.NETWORK:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $network modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Network, true);\n break;\n // $extension\n case OPTIONS.EXTENSION:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $extension modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Extension, true);\n break;\n // $~extension\n case NOT_MARK + OPTIONS.EXTENSION:\n if (isCompatibleWith(exports.CompatibilityTypes.Extension)) {\n throw new SyntaxError('Extension doesn\\'t support $extension modifier');\n }\n this.setOptionEnabled(exports.NetworkRuleOption.Extension, false);\n break;\n // $all\n case OPTIONS.ALL:\n if (this.isAllowlist()) {\n throw new SyntaxError('Rule with $all modifier can not be allowlist rule');\n }\n // Set all request types\n Object.values(RequestType).forEach(function (type) {\n _this.setRequestType(type, true);\n });\n this.setOptionEnabled(exports.NetworkRuleOption.Popup, true);\n break;\n // $empty and $mp4\n // Deprecated in favor of $redirect\n case OPTIONS.EMPTY:\n case OPTIONS.MP4:\n // Do nothing.\n break;\n default: {\n // clear empty values\n var modifierView = [optionName, optionValue]\n .filter(function (i) { return i; })\n .join('=');\n throw new SyntaxError(\"Unknown modifier: \".concat(modifierView));\n }\n }\n };\n /**\n * To calculate priority, we've categorized modifiers into different groups.\n * These groups are ranked based on their priority, from lowest to highest.\n * A modifier that significantly narrows the scope of a rule adds more\n * weight to its total priority. Conversely, if a rule applies to a broader\n * range of requests, its priority decreases.\n *\n * It's worth noting that there are cases where a single-parameter modifier\n * has a higher priority than multi-parameter ones. For instance, in\n * the case of `$domain=example.com|example.org`, a rule that includes two\n * domains has a slightly broader effective area than a rule with one\n * specified domain, therefore its priority is lower.\n *\n * The base priority weight of any rule is 1. If the calculated priority\n * is a floating-point number, it will be **rounded up** to the smallest\n * integer greater than or equal to the calculated weight.\n *\n * @see {@link NetworkRule.PermittedRequestTypeWeight}\n * @see {@link NetworkRule.PermittedDomainWeight}\n * @see {@link NetworkRule.SpecificExceptionsWeight}\n * @see {@link NetworkRule.AllowlistRuleWeight}\n * @see {@link NetworkRule.RedirectRuleWeight}\n * @see {@link NetworkRule.ImportantRuleWeight}\n *\n * @see {@link https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-counting}\n */\n NetworkRule.prototype.calculatePriorityWeight = function () {\n var _a, _b;\n // Base modifiers, category 1.\n this.priorityWeight += countEnabledBits(this.enabledOptions, NetworkRule.CATEGORY_1_OPTIONS_MASK);\n this.priorityWeight += countEnabledBits(this.disabledOptions, NetworkRule.CATEGORY_1_OPTIONS_MASK);\n /**\n * When dealing with a negated domain, app, method, or content-type,\n * we add a point for the existence of the modifier itself, regardless\n * of the quantity of negated domains or content-types. This is because\n * the rule's scope is already infinitely broad. Put simply,\n * by prohibiting multiple domains, content-types, methods or apps,\n * the scope of the rule becomes only minimally smaller.\n */\n if (this.denyAllowDomains && this.denyAllowDomains.length > 0) {\n this.priorityWeight += 1;\n }\n if (this.restrictedDomains && this.restrictedDomains.length > 0) {\n this.priorityWeight += 1;\n }\n if (((_a = this.methodModifier) === null || _a === void 0 ? void 0 : _a.restrictedValues) && this.methodModifier.restrictedValues.length > 0) {\n this.priorityWeight += 1;\n }\n if (this.restrictedRequestTypes !== RequestType.NotSet) {\n this.priorityWeight += 1;\n }\n // $to modifier is basically a replacement for a regular expression\n // See https://github.com/AdguardTeam/KnowledgeBase/pull/196#discussion_r1221401215\n if (this.toModifier) {\n this.priorityWeight += 1;\n }\n /**\n * Category 2: permitted request types and methods.\n * Specified content-types add `50 + 50 / number_of_content_types`,\n * for example: `||example.com^$image,script` will add\n * `50 + 50 / 2 = 50 + 25 = 75` to the total weight of the rule.\n * The `$popup` also belongs to this category, because it implicitly\n * adds the modifier `$document`.\n * Similarly, specific exceptions add `$document,subdocument`.\n */\n if (this.permittedRequestTypes !== RequestType.NotSet) {\n var numberOfPermittedRequestTypes = getBitCount(this.permittedRequestTypes);\n // More permitted request types mean less priority weight.\n var relativeWeight = NetworkRule.CategoryTwoWeight / numberOfPermittedRequestTypes;\n this.priorityWeight += NetworkRule.CategoryTwoWeight + relativeWeight;\n }\n if (((_b = this.methodModifier) === null || _b === void 0 ? void 0 : _b.permittedValues) && this.methodModifier.permittedValues.length > 0) {\n // More permitted request methods mean less priority weight.\n var relativeWeight = NetworkRule.CategoryTwoWeight / this.methodModifier.permittedValues.length;\n this.priorityWeight += NetworkRule.CategoryTwoWeight + relativeWeight;\n }\n /**\n * Category 3: permitted domains.\n * Specified domains through `$domain` and specified applications\n * through `$app` add `100 + 100 / number_domains (or number_applications)`,\n * for example:\n * `||example.com^$domain=example.com|example.org|example.net`\n * will add `100 + 100 / 3 = 134.3 = 134` or\n * `||example.com^$app=org.example.app1|org.example.app2`\n * will add `100 + 100 / 2 = 151`.\n */\n if (this.permittedDomains && this.permittedDomains.length > 0) {\n // More permitted domains mean less priority weight.\n var relativeWeight = NetworkRule.CategoryThreeWeight / this.permittedDomains.length;\n this.priorityWeight += NetworkRule.CategoryThreeWeight + relativeWeight;\n }\n // Category 4: redirect rules.\n if (this.isOptionEnabled(exports.NetworkRuleOption.Redirect)) {\n this.priorityWeight += NetworkRule.CategoryFourWeight;\n }\n // Category 5: specific exceptions.\n this.priorityWeight += NetworkRule.CategoryFiveWeight * countEnabledBits(this.enabledOptions, NetworkRule.SPECIFIC_EXCLUSIONS_MASK);\n // Category 6: allowlist rules.\n if (this.isAllowlist()) {\n this.priorityWeight += NetworkRule.CategorySixWeight;\n }\n // Category 7: important rules.\n if (this.isOptionEnabled(exports.NetworkRuleOption.Important)) {\n this.priorityWeight += NetworkRule.CategorySevenWeight;\n }\n // Round up to avoid overlap between different categories of rules.\n this.priorityWeight = Math.ceil(this.priorityWeight);\n };\n /**\n * Validates rule options\n */\n NetworkRule.prototype.validateOptions = function () {\n if (this.advancedModifier instanceof RemoveParamModifier) {\n this.validateRemoveParamRule();\n }\n else if (this.advancedModifier instanceof RemoveHeaderModifier) {\n this.validateRemoveHeaderRule();\n }\n else if (this.toModifier !== null) {\n this.validateToRule();\n }\n else if (this.denyAllowDomains !== null) {\n this.validateDenyallowRule();\n }\n };\n /**\n * $removeparam rules are not compatible with any other modifiers except $domain,\n * $third-party, $app, $important, $match-case and permitted content type modifiers ($script, $stylesheet, etc).\n * The rules with any other modifiers are considered invalid and will be discarded.\n */\n NetworkRule.prototype.validateRemoveParamRule = function () {\n if ((this.enabledOptions | exports.NetworkRuleGroupOptions.RemoveParamCompatibleOptions)\n !== exports.NetworkRuleGroupOptions.RemoveParamCompatibleOptions) {\n throw new SyntaxError('$removeparam rules are not compatible with some other modifiers');\n }\n };\n /**\n * $removeheader rules are not compatible with any other modifiers except $domain,\n * $third-party, $app, $important, $match-case and permitted content type modifiers ($script, $stylesheet, etc).\n * The rules with any other modifiers are considered invalid and will be discarded.\n */\n NetworkRule.prototype.validateRemoveHeaderRule = function () {\n if ((this.enabledOptions | exports.NetworkRuleGroupOptions.RemoveHeaderCompatibleOptions)\n !== exports.NetworkRuleGroupOptions.RemoveHeaderCompatibleOptions) {\n throw new SyntaxError('$removeheader rules are not compatible with some other modifiers');\n }\n };\n /**\n * $to rules are not compatible $denyallow - these rules considered invalid\n * and will be discarded.\n */\n NetworkRule.prototype.validateToRule = function () {\n if (this.denyAllowDomains) {\n throw new SyntaxError('modifier $to is not compatible with $denyallow modifier');\n }\n };\n /**\n * $denyallow rules are not compatible $to - these rules considered invalid\n * and will be discarded.\n */\n NetworkRule.prototype.validateDenyallowRule = function () {\n if (this.toModifier) {\n throw new SyntaxError('modifier $to is not compatible with $denyallow modifier');\n }\n };\n /**\n * parseRuleText splits the rule text into multiple parts.\n * @param ruleText - original rule text\n * @returns basic rule parts\n *\n * @throws error if the rule is empty (for instance, empty string or `@@`)\n */\n NetworkRule.parseRuleText = function (ruleText) {\n var ruleParts = new BasicRuleParts();\n ruleParts.allowlist = false;\n var startIndex = 0;\n if (ruleText.startsWith(NetworkRule.MASK_ALLOWLIST)) {\n ruleParts.allowlist = true;\n startIndex = NetworkRule.MASK_ALLOWLIST.length;\n }\n if (ruleText.length <= startIndex) {\n throw new SyntaxError('Rule is too short');\n }\n // Setting pattern to rule text (for the case of empty options)\n ruleParts.pattern = ruleText.substring(startIndex);\n // Avoid parsing options inside of a regex rule\n if (ruleParts.pattern.startsWith(SimpleRegex.MASK_REGEX_RULE)\n && ruleParts.pattern.endsWith(SimpleRegex.MASK_REGEX_RULE)\n && !ruleParts.pattern.includes(\"\".concat(NetworkRule.OPTIONS.REPLACE, \"=\"))) {\n return ruleParts;\n }\n var removeParamIndex = ruleText.lastIndexOf(\"\".concat(NetworkRule.OPTIONS.REMOVEPARAM, \"=\"));\n var endIndex = removeParamIndex >= 0 ? removeParamIndex : ruleText.length - 2;\n var foundEscaped = false;\n for (var i = endIndex; i >= startIndex; i -= 1) {\n var c = ruleText.charAt(i);\n if (c === NetworkRule.OPTIONS_DELIMITER) {\n if (i > startIndex && ruleText.charAt(i - 1) === NetworkRule.ESCAPE_CHARACTER) {\n foundEscaped = true;\n }\n else {\n ruleParts.pattern = ruleText.substring(startIndex, i);\n ruleParts.options = ruleText.substring(i + 1);\n if (foundEscaped) {\n // Find and replace escaped options delimiter\n ruleParts.options = ruleParts.options.replace(NetworkRule.RE_ESCAPED_OPTIONS_DELIMITER, NetworkRule.OPTIONS_DELIMITER);\n // Reset the regexp state\n NetworkRule.RE_ESCAPED_OPTIONS_DELIMITER.lastIndex = 0;\n }\n // Options delimiter was found, exiting loop\n break;\n }\n }\n }\n return ruleParts;\n };\n /**\n * Rules with base modifiers, from category 1, each of them adds 1\n * to the weight of the rule.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-1\n */\n NetworkRule.CATEGORY_1_OPTIONS_MASK = exports.NetworkRuleOption.ThirdParty\n | exports.NetworkRuleOption.MatchCase\n | exports.NetworkRuleOption.DnsRewrite;\n /**\n * The priority weight used in {@link calculatePriorityWeight} for rules\n * with permitted request types and methods.\n * The value 50 is chosen in order to cover (with a margin) all possible\n * combinations and variations of rules from categories with a lower\n * priority (each of them adds 1 to the rule priority).\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-2\n */\n NetworkRule.CategoryTwoWeight = 50;\n /**\n * The priority weight used in {@link calculatePriorityWeight} for rules\n * with allowed domains.\n * The value 100 is chosen to cover all possible combinations and variations\n * of rules from categories with a lower priority, for example a rule with\n * one allowed query type will get priority 100 (50 + 50/1), but for allowed\n * domains with any number of domains we will get at least 101 (for 100\n * domains: 100 + 100/100; for 200 100 + 100/200; or even for 10000:\n * 100 + 100/10000) because the resulting weight is rounded up.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-3\n */\n NetworkRule.CategoryThreeWeight = 100;\n /**\n * The priority weight used in {@link calculatePriorityWeight}\n * for $redirect rules.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-6\n */\n NetworkRule.CategoryFourWeight = Math.pow(10, 3);\n /**\n * The priority weight used in {@link calculatePriorityWeight} for rules\n * with specific exceptions.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-4\n */\n NetworkRule.CategoryFiveWeight = Math.pow(10, 4);\n /**\n * Rules with specific exclusions, from category 4, each of them adds\n * {@link SpecificExceptionsWeight} to the weight of the rule.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-4\n */\n NetworkRule.SPECIFIC_EXCLUSIONS_MASK = exports.NetworkRuleOption.Elemhide\n | exports.NetworkRuleOption.Generichide\n | exports.NetworkRuleOption.Specifichide\n | exports.NetworkRuleOption.Content\n | exports.NetworkRuleOption.Urlblock\n | exports.NetworkRuleOption.Genericblock\n | exports.NetworkRuleOption.Jsinject\n | exports.NetworkRuleOption.Extension;\n /**\n * The priority weight used in {@link calculatePriorityWeight} for rules\n * with allowlist mark '@@'.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-5\n */\n NetworkRule.CategorySixWeight = Math.pow(10, 5);\n /**\n * The priority weight used in {@link calculatePriorityWeight}\n * for $important rules.\n *\n * @see https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-7\n */\n NetworkRule.CategorySevenWeight = Math.pow(10, 6);\n /**\n * Separates the rule pattern from the list of modifiers.\n *\n * ```\n * rule = [\"@@\"] pattern [ \"$\" modifiers ]\n * modifiers = [modifier0, modifier1[, ...[, modifierN]]]\n * ```\n */\n NetworkRule.OPTIONS_DELIMITER = OPTIONS_DELIMITER;\n /**\n * This character is used to escape special characters in modifiers values\n */\n NetworkRule.ESCAPE_CHARACTER = ESCAPE_CHARACTER;\n // eslint-disable-next-line max-len\n NetworkRule.RE_ESCAPED_OPTIONS_DELIMITER = new RegExp(\"\".concat(NetworkRule.ESCAPE_CHARACTER).concat(NetworkRule.OPTIONS_DELIMITER), 'g');\n /**\n * A marker that is used in rules of exception.\n * To turn off filtering for a request, start your rule with this marker.\n */\n NetworkRule.MASK_ALLOWLIST = MASK_ALLOWLIST;\n /**\n * Mark that negates options\n */\n NetworkRule.NOT_MARK = NOT_MARK;\n /**\n * Rule options\n */\n NetworkRule.OPTIONS = NETWORK_RULE_OPTIONS;\n return NetworkRule;\n }());\n\n /**\n * MatchingResult contains all the rules matching a web request, and provides methods\n * that define how a web request should be processed\n */\n var MatchingResult = /** @class */ (function () {\n /**\n * Creates an instance of the MatchingResult struct and fills it with the rules.\n *\n * @param rules A list of network rules that match the request.\n * @param sourceRule A rule that matches the document that is a source\n * of the request, i.e. document-level exclusions.\n */\n function MatchingResult(rules, sourceRule) {\n var _a;\n this.basicRule = null;\n this.documentRule = null;\n this.cspRules = null;\n this.cookieRules = null;\n this.replaceRules = null;\n this.removeParamRules = null;\n this.removeHeaderRules = null;\n this.redirectRules = null;\n this.stealthRule = null;\n this.popupRule = null;\n // eslint-disable-next-line no-param-reassign\n rules = MatchingResult.removeBadfilterRules(rules);\n if (sourceRule) {\n this.documentRule = sourceRule;\n }\n // Second - check if blocking rules (generic or all of them) are allowed\n // generic blocking rules are allowed by default\n var genericAllowed = true;\n // basic blocking rules are allowed by default\n var basicAllowed = true;\n if (this.documentRule) {\n if (this.documentRule.isOptionEnabled(exports.NetworkRuleOption.Urlblock)) {\n basicAllowed = false;\n }\n else if (this.documentRule.isOptionEnabled(exports.NetworkRuleOption.Genericblock)) {\n genericAllowed = false;\n }\n }\n // Iterate through the list of rules and fill the MatchingResult\n for (var _i = 0, rules_1 = rules; _i < rules_1.length; _i++) {\n var rule = rules_1[_i];\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Cookie)) {\n if (!this.cookieRules) {\n this.cookieRules = [];\n }\n this.cookieRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Replace)) {\n if (!this.replaceRules) {\n this.replaceRules = [];\n }\n this.replaceRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.RemoveParam)) {\n if (!this.removeParamRules) {\n this.removeParamRules = [];\n }\n this.removeParamRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.RemoveHeader)) {\n if (!this.removeHeaderRules) {\n this.removeHeaderRules = [];\n }\n this.removeHeaderRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Redirect)) {\n if (!this.redirectRules) {\n this.redirectRules = [];\n }\n this.redirectRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Csp)) {\n if (!this.cspRules) {\n this.cspRules = [];\n }\n this.cspRules.push(rule);\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Stealth)) {\n this.stealthRule = rule;\n continue;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Popup)\n // This check needed to split $all rules from $popup rules\n && (rule.getPermittedRequestTypes() & RequestType.Document) !== RequestType.Document) {\n this.popupRule = rule;\n continue;\n }\n // Check blocking rules against $genericblock / $urlblock\n if (!rule.isAllowlist() && ((_a = this.documentRule) === null || _a === void 0 ? void 0 : _a.isHigherPriority(rule))) {\n if (!basicAllowed) {\n continue;\n }\n if (!genericAllowed && rule.isGeneric()) {\n continue;\n }\n }\n if (!this.basicRule || rule.isHigherPriority(this.basicRule)) {\n this.basicRule = rule;\n }\n }\n }\n /**\n * Returns popup rule\n */\n MatchingResult.prototype.getPopupRule = function () {\n return this.popupRule;\n };\n /**\n * GetBasicResult returns a rule that should be applied to the web request.\n * Possible outcomes are:\n * returns nil -- allow the request.\n * returns an allowlist rule -- allow the request.\n * returns a blocking rule -- block the request.\n * returns a redirect rule -- redirect the request.\n *\n * @return {NetworkRule | null} basic result rule\n */\n MatchingResult.prototype.getBasicResult = function () {\n var basic = this.basicRule;\n if (!basic) {\n // Only document-level frame rule would be returned as a basic result,\n // cause only those rules could block or modify page subrequests.\n // Other frame rules (generichide, elemhide etc) will be used in getCosmeticOption function.\n if (this.documentRule && this.documentRule.isDocumentLevelAllowlistRule()) {\n basic = this.documentRule;\n }\n }\n // https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#replace-modifier\n // https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-extra\n // $replace rules have a higher priority than other basic rules (including exception rules).\n // So if a request corresponds to two different rules one of which has the $replace modifier,\n // this rule will be applied.\n if (this.replaceRules) {\n var isReplaceOrContent = (basic === null || basic === void 0 ? void 0 : basic.isOptionEnabled(exports.NetworkRuleOption.Replace))\n || (basic === null || basic === void 0 ? void 0 : basic.isOptionEnabled(exports.NetworkRuleOption.Content));\n // If basic rule is an exception with $replace or $content modifier,\n // then basic rule will disable $replace rules.\n if ((basic === null || basic === void 0 ? void 0 : basic.isAllowlist()) && isReplaceOrContent) {\n return basic;\n }\n // Otherwise null is returned to allow the request, because we need\n // to get response first to then apply the $replace rules to\n // the response.\n return null;\n }\n // Redirect rules have a high priority\n // https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#redirect-modifier\n // https://adguard.com/kb/general/ad-filtering/create-own-filters/#priority-category-6\n var redirectRule = this.getRedirectRule();\n if (redirectRule && (!basic || !basic.isHigherPriority(redirectRule))) {\n return redirectRule;\n }\n if (!basic) {\n return this.popupRule;\n }\n return basic;\n };\n /**\n * Returns a bit-flag with the list of cosmetic options\n *\n * @return {CosmeticOption} mask\n */\n MatchingResult.prototype.getCosmeticOption = function () {\n var _a = this, basicRule = _a.basicRule, documentRule = _a.documentRule;\n var rule = basicRule;\n // We choose a non-empty rule and the one of the two with the higher\n // priority in order to accurately calculate cosmetic options.\n if ((!rule && documentRule) || (rule && (documentRule === null || documentRule === void 0 ? void 0 : documentRule.isHigherPriority(rule)))) {\n rule = documentRule;\n }\n if (!rule || !rule.isAllowlist()) {\n return exports.CosmeticOption.CosmeticOptionAll;\n }\n var option = exports.CosmeticOption.CosmeticOptionAll;\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Elemhide)) {\n option ^= exports.CosmeticOption.CosmeticOptionGenericCSS;\n option ^= exports.CosmeticOption.CosmeticOptionSpecificCSS;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Generichide)) {\n option ^= exports.CosmeticOption.CosmeticOptionGenericCSS;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Specifichide)) {\n option ^= exports.CosmeticOption.CosmeticOptionSpecificCSS;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Jsinject)) {\n option ^= exports.CosmeticOption.CosmeticOptionJS;\n }\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Content)) {\n option ^= exports.CosmeticOption.CosmeticOptionHtml;\n }\n return option;\n };\n /**\n * Return an array of replace rules\n */\n MatchingResult.prototype.getReplaceRules = function () {\n if (!this.replaceRules) {\n return [];\n }\n // TODO: Look up for allowlist $content rule\n return MatchingResult.filterAdvancedModifierRules(this.replaceRules, function (rule) { return (function (x) { return x.getAdvancedModifierValue() === rule.getAdvancedModifierValue(); }); });\n };\n /**\n * Filters array of rules according to allowlist rules contained.\n * Empty advanced modifier allowlists everything.\n *\n * @param rules\n * @param allowlistPredicate allowlist criteria\n * This function result will be called for testing if rule `x` allowlists rule `r`\n */\n MatchingResult.filterAdvancedModifierRules = function (rules, allowlistPredicate) {\n var _this = this;\n var blockingRules = [];\n var allowlistRules = [];\n for (var _i = 0, rules_2 = rules; _i < rules_2.length; _i++) {\n var rule = rules_2[_i];\n if (rule.isAllowlist()) {\n allowlistRules.push(rule);\n }\n else {\n blockingRules.push(rule);\n }\n }\n if (blockingRules.length === 0) {\n return [];\n }\n if (allowlistRules.length === 0) {\n return blockingRules;\n }\n if (allowlistRules.length > 0) {\n var allowlistRuleWithEmptyOption_1 = allowlistRules\n .find(function (allowlistRule) { return allowlistRule.getAdvancedModifierValue() === ''; });\n var result_1 = [];\n blockingRules.forEach(function (blockRule) {\n if (allowlistRuleWithEmptyOption_1\n && !blockRule.isHigherPriority(allowlistRuleWithEmptyOption_1)) {\n result_1.push(allowlistRuleWithEmptyOption_1);\n return;\n }\n var allowlistingRule = allowlistRules.find(function (a) {\n return !blockRule.isHigherPriority(a) && allowlistPredicate.call(_this, blockRule)(a);\n });\n if (allowlistingRule) {\n result_1.push(allowlistingRule);\n }\n else {\n result_1.push(blockRule);\n }\n });\n return result_1.filter(function (item, pos) { return result_1.indexOf(item) === pos; });\n }\n return blockingRules;\n };\n /**\n * Returns an array of csp rules\n */\n MatchingResult.prototype.getCspRules = function () {\n if (!this.cspRules) {\n return [];\n }\n var blockingRules = [];\n var allowlistedRulesByDirective = new Map();\n for (var _i = 0, _a = this.cspRules; _i < _a.length; _i++) {\n var rule = _a[_i];\n if (rule.isAllowlist()) {\n if (!rule.getAdvancedModifierValue()) { // Global allowlist rule\n return [rule];\n }\n MatchingResult.putWithPriority(rule, undefined, allowlistedRulesByDirective);\n }\n else {\n blockingRules.push(rule);\n }\n }\n var rulesByDirective = new Map();\n // Collect allowlist and blocking CSP rules in one array\n blockingRules.forEach(function (rule) {\n if (rule.getAdvancedModifierValue()) {\n var allowlistRule = allowlistedRulesByDirective.get(rule.getAdvancedModifierValue());\n MatchingResult.putWithPriority(rule, allowlistRule, rulesByDirective);\n }\n });\n return Array.from(rulesByDirective.values());\n };\n /**\n * Returns a redirect rule or null if redirect rules are empty.\n * $redirect-rule is only returned if there's a blocking rule also matching\n * this request.\n */\n MatchingResult.prototype.getRedirectRule = function () {\n if (!this.redirectRules) {\n return null;\n }\n // Apply allowlist $redirect rules.\n var result = MatchingResult.filterAdvancedModifierRules(this.redirectRules, function (rule) { return (function (x) { return x.getAdvancedModifierValue() === rule.getAdvancedModifierValue(); }); });\n // Filters only not allowlist rules.\n result = result.filter(function (r) { return !r.isAllowlist(); });\n // Splits $redirect and $redirect-rule into separate arrays.\n var conditionalRedirectRules = [];\n var allWeatherRedirectRules = [];\n result.forEach(function (rule) {\n var redirectModifier = rule.getAdvancedModifier();\n if (redirectModifier.isRedirectingOnlyBlocked) {\n conditionalRedirectRules.push(rule);\n }\n else {\n allWeatherRedirectRules.push(rule);\n }\n });\n if (allWeatherRedirectRules.length > 0) {\n return allWeatherRedirectRules\n .sort(function (a, b) { return (b.isHigherPriority(a) ? 1 : -1); })[0];\n }\n if (conditionalRedirectRules.length > 0 && this.basicRule && !this.basicRule.isAllowlist()) {\n return conditionalRedirectRules\n .sort(function (a, b) { return (b.isHigherPriority(a) ? 1 : -1); })[0];\n }\n return null;\n };\n /**\n * Returns an array of cookie rules\n */\n MatchingResult.prototype.getCookieRules = function () {\n if (!this.cookieRules) {\n return [];\n }\n var basic = this.getBasicResult();\n if ((basic === null || basic === void 0 ? void 0 : basic.isAllowlist()) && basic.isOptionEnabled(exports.NetworkRuleOption.Urlblock)) {\n return [];\n }\n var allowlistPredicate = function (rule) { return (function (allowlistRule) {\n var allowlistRuleCookieModifier = allowlistRule.getAdvancedModifier();\n var ruleCookieModifier = rule.getAdvancedModifier();\n if (allowlistRule.getAdvancedModifierValue() === rule.getAdvancedModifierValue()) {\n return true;\n }\n // Matches by cookie name\n if (allowlistRuleCookieModifier.matches(ruleCookieModifier.getCookieName())) {\n return true;\n }\n return false;\n }); };\n var filtered = MatchingResult.filterAdvancedModifierRules(this.cookieRules, allowlistPredicate);\n return filtered.concat(__spreadArray([], this.cookieRules.filter(function (r) { return r.isAllowlist(); }), true));\n };\n /**\n * Returns an array of removeparam rules\n */\n MatchingResult.prototype.getRemoveParamRules = function () {\n if (!this.removeParamRules) {\n return [];\n }\n return MatchingResult.filterAdvancedModifierRules(this.removeParamRules, \n // eslint-disable-next-line arrow-body-style\n function (rule) { return (function (x) {\n return x.isHigherPriority(rule) && x.getAdvancedModifierValue() === rule.getAdvancedModifierValue();\n }); });\n };\n /**\n * Returns an array of removeheader rules\n */\n MatchingResult.prototype.getRemoveHeaderRules = function () {\n if (!this.removeHeaderRules) {\n return [];\n }\n if (this.basicRule\n && this.basicRule.isAllowlist()\n && this.basicRule.isOptionEnabled(exports.NetworkRuleOption.Urlblock)) {\n return [];\n }\n return MatchingResult.filterAdvancedModifierRules(this.removeHeaderRules, function (rule) { return (function (x) { return x.getAdvancedModifierValue() === rule.getAdvancedModifierValue(); }); });\n };\n /**\n * Decides which rule should be put into the given map.\n * Compares priorities of the two given rules with the equal CSP directive and the rule that may already in the map.\n *\n * @param rule CSP rule (not null)\n * @param allowlistRule CSP allowlist rule (may be null)\n * @param map Rules mapped by csp directive\n */\n // eslint-disable-next-line max-len\n MatchingResult.putWithPriority = function (rule, allowlistRule, map) {\n var cspDirective = rule.getAdvancedModifierValue();\n var currentRule = cspDirective ? map.get(cspDirective) : null;\n var newRule = rule;\n if (currentRule && !rule.isHigherPriority(currentRule)) {\n newRule = currentRule;\n }\n if (allowlistRule && allowlistRule.isHigherPriority(newRule)) {\n newRule = allowlistRule;\n }\n map.set(cspDirective, newRule);\n };\n /**\n * Looks if there are any matching $badfilter rules and removes\n * matching bad filters from the array (see the $badfilter description for more info)\n *\n * @param rules to filter\n * @return filtered rules\n */\n MatchingResult.removeBadfilterRules = function (rules) {\n var badfilterRules = [];\n for (var _i = 0, rules_3 = rules; _i < rules_3.length; _i++) {\n var rule = rules_3[_i];\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Badfilter)) {\n badfilterRules.push(rule);\n }\n }\n if (badfilterRules.length > 0) {\n return rules.filter(function (rule) {\n if (rule.isOptionEnabled(exports.NetworkRuleOption.Badfilter)) {\n return false;\n }\n var isRuleNegated = badfilterRules.some(function (badfilter) { return badfilter.negatesBadfilter(rule); });\n return !isRuleNegated;\n });\n }\n return rules;\n };\n return MatchingResult;\n }());\n\n /**\n * Prefix tree implementation\n */\n var TrieNode = /** @class */ (function () {\n /**\n * Creates an instance of a TrieNode with the specified char code.\n *\n * @param code\n */\n function TrieNode(code) {\n this.code = code;\n }\n /**\n * Attaches data to this TrieNode.\n *\n * @param data\n */\n TrieNode.prototype.attach = function (data) {\n if (!this.data) {\n this.data = [];\n }\n this.data.push(data);\n };\n /**\n * Adds the specified string to the Trie and attaches data to it.\n *\n * @param str string to add.\n * @param data data to attach to the leaf node.\n */\n TrieNode.prototype.add = function (str, data) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var root = this;\n for (var i = 0; i < str.length; i += 1) {\n var c = str.charCodeAt(i);\n var next = root.getChild(c);\n if (!next) {\n next = root.addChild(c);\n }\n root = next;\n }\n root.attach(data);\n };\n /**\n * Traverses this TrieNode and it's children using the specified search string.\n * This method collects all the data that's attached on the way and returns as\n * a result.\n *\n * @param str string to check.\n * @param start index in str where to start traversing from.\n */\n TrieNode.prototype.traverse = function (str, start) {\n var result = [];\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n var current = this;\n for (var i = start; i < str.length; i += 1) {\n var c = str.charCodeAt(i);\n var next = current.getChild(c);\n if (!next) {\n break;\n }\n if (next.data) {\n result.push.apply(result, next.data);\n }\n current = next;\n }\n return result;\n };\n /**\n * Traverses this TrieNode and it's children using the specified search string and all substrings.\n *\n * @param str string to check\n * @param len max length to check\n */\n TrieNode.prototype.traverseAll = function (str, len) {\n var data = [];\n for (var i = 0; i <= len; i += 1) {\n var result = this.traverse(str, i);\n if (result) {\n data.push.apply(data, result);\n }\n }\n return data;\n };\n /**\n * Returns a child node with the specified character code or\n * undefined if not found.\n *\n * @param code character code\n * @returns child node or undefined.\n */\n TrieNode.prototype.getChild = function (code) {\n var children = this.children;\n if (!children) {\n return undefined;\n }\n if (children instanceof TrieNode) {\n if (children.code === code) {\n return children;\n }\n return undefined;\n }\n return children.get(code);\n };\n /**\n * Adds a new child node with the specified character code.\n *\n * @param code character code.\n * @returns the newly created TrieNode.\n */\n TrieNode.prototype.addChild = function (code) {\n var node = new TrieNode(code);\n if (!this.children) {\n this.children = node;\n }\n else if (this.children instanceof TrieNode) {\n var oldNode = this.children;\n this.children = new Map();\n this.children.set(oldNode.code, oldNode);\n this.children.set(code, node);\n }\n else {\n this.children.set(code, node);\n }\n return node;\n };\n return TrieNode;\n }());\n\n /**\n * Look up table with underlying prefix tree\n */\n var TrieLookupTable = /** @class */ (function () {\n /**\n * Creates a new instance of the TrieLookupTable.\n *\n * @param storage rules storage. We store \"rule indexes\" in the lookup table which\n * can be used to retrieve the full rules from the storage.\n */\n function TrieLookupTable(storage) {\n /**\n * Count of rules added to this lookup table.\n */\n this.rulesCount = 0;\n this.ruleStorage = storage;\n this.trie = new TrieNode(0);\n }\n /**\n * Finds all matching rules from the shortcuts lookup table\n *\n * @param request to check\n * @return array of matching rules\n */\n TrieLookupTable.prototype.matchAll = function (request) {\n var rulesIndexes = this.traverse(request);\n return this.matchRules(request, rulesIndexes);\n };\n /**\n * Tries to add the rule to the lookup table.\n * returns true if it was added\n *\n * @param rule to add\n * @param storageIdx index\n * @return {boolean} true if the rule been added\n */\n TrieLookupTable.prototype.addRule = function (rule, storageIdx) {\n var shortcut = rule.getShortcut();\n if (!shortcut || TrieLookupTable.isAnyURLShortcut(shortcut)\n || shortcut.length < SimpleRegex.MIN_SHORTCUT_LENGTH) {\n return false;\n }\n this.trie.add(shortcut, storageIdx);\n this.rulesCount += 1;\n return true;\n };\n /**\n * @return total rules count\n */\n TrieLookupTable.prototype.getRulesCount = function () {\n return this.rulesCount;\n };\n /**\n * For specified request finds matching rules from rules indexes array\n *\n * @param request\n * @param rulesIndexes\n */\n TrieLookupTable.prototype.matchRules = function (request, rulesIndexes) {\n if (!rulesIndexes) {\n return [];\n }\n var result = [];\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var idx = rulesIndexes[j];\n var rule = this.ruleStorage.retrieveNetworkRule(idx);\n if (rule && rule.match(request, false)) {\n result.push(rule);\n }\n }\n return result;\n };\n /**\n * Traverses trie\n *\n * @param request\n */\n TrieLookupTable.prototype.traverse = function (request) {\n return this.trie.traverseAll(request.urlLowercase, request.urlLowercase.length);\n };\n /**\n * Checks if the rule potentially matches too many URLs.\n * We'd better use another type of lookup table for this kind of rules.\n *\n * @param shortcut to check\n * @return check result\n */\n TrieLookupTable.isAnyURLShortcut = function (shortcut) {\n // The numbers are basically (\"PROTO://\".length + 1)\n if (shortcut.length < 6 && shortcut.indexOf('ws:') === 0) {\n return true;\n }\n if (shortcut.length < 7 && shortcut.indexOf('|ws') === 0) {\n return true;\n }\n if (shortcut.length < 9 && shortcut.indexOf('http') === 0) {\n return true;\n }\n return !!(shortcut.length < 10 && shortcut.indexOf('|http') === 0);\n };\n return TrieLookupTable;\n }());\n\n /**\n * Domain lookup table. Key is the domain name hash.\n */\n var DomainsLookupTable = /** @class */ (function () {\n /**\n * Creates a new instance\n *\n * @param storage rules storage. We store \"rule indexes\" in the lookup table which\n * can be used to retrieve the full rules from the storage.\n */\n function DomainsLookupTable(storage) {\n /**\n * Count of rules added to this lookup table.\n */\n this.rulesCount = 0;\n /**\n * Domain lookup table. Key is the domain name hash.\n */\n this.domainsLookupTable = new Map();\n this.ruleStorage = storage;\n }\n /**\n * addRule implements the ILookupTable interface for DomainsLookupTable.\n * @param rule\n * @param storageIdx\n */\n DomainsLookupTable.prototype.addRule = function (rule, storageIdx) {\n var _this = this;\n var permittedDomains = rule.getPermittedDomains();\n if (!permittedDomains || permittedDomains.length === 0) {\n return false;\n }\n var hasWildcardDomain = permittedDomains.some(function (d) { return DomainModifier.isWildcardDomain(d); });\n if (hasWildcardDomain) {\n return false;\n }\n permittedDomains.forEach(function (domain) {\n var hash = fastHash(domain);\n // Add the rule to the lookup table\n var rulesIndexes = _this.domainsLookupTable.get(hash);\n if (!rulesIndexes) {\n rulesIndexes = [];\n }\n rulesIndexes.push(storageIdx);\n _this.domainsLookupTable.set(hash, rulesIndexes);\n });\n this.rulesCount += 1;\n return true;\n };\n /**\n * Implements the ILookupTable interface method.\n */\n DomainsLookupTable.prototype.getRulesCount = function () {\n return this.rulesCount;\n };\n /**\n * Implements the ILookupTable interface method.\n * @param request\n */\n DomainsLookupTable.prototype.matchAll = function (request) {\n var result = [];\n if (!request.sourceHostname) {\n return result;\n }\n var domains = request.subdomains;\n if (request.hostname !== request.sourceHostname) {\n domains.push.apply(domains, request.sourceSubdomains);\n }\n for (var i = 0; i < domains.length; i += 1) {\n var hash = fastHash(domains[i]);\n var rulesIndexes = this.domainsLookupTable.get(hash);\n if (rulesIndexes) {\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var rule = this.ruleStorage.retrieveNetworkRule(rulesIndexes[j]);\n if (rule && rule.match(request)) {\n result.push(rule);\n }\n }\n }\n }\n return result;\n };\n return DomainsLookupTable;\n }());\n\n /**\n * Hostname lookup table.\n * For specific kind of rules like '||hostname^' and '||hostname/path' more simple algorithm with hashes is faster.\n */\n var HostnameLookupTable = /** @class */ (function () {\n /**\n * Creates a new instance\n *\n * @param storage rules storage. We store \"rule indexes\" in the lookup table which\n * can be used to retrieve the full rules from the storage.\n */\n function HostnameLookupTable(storage) {\n /**\n * Count of rules added to this lookup table.\n */\n this.rulesCount = 0;\n /**\n * Domain lookup table. Key is the domain name hash.\n */\n this.hostnameLookupTable = new Map();\n this.ruleStorage = storage;\n }\n /**\n * addRule implements the ILookupTable interface for DomainsLookupTable.\n * @param rule\n * @param storageIdx\n */\n HostnameLookupTable.prototype.addRule = function (rule, storageIdx) {\n var pattern = rule.getPattern();\n var hostname = '';\n // Pattern: '||example.org^'\n if (pattern.startsWith(SimpleRegex.MASK_START_URL) && pattern.endsWith(SimpleRegex.MASK_SEPARATOR)) {\n hostname = pattern.slice(SimpleRegex.MASK_START_URL.length, pattern.length - SimpleRegex.MASK_SEPARATOR.length);\n }\n // Pattern: '||example.org/path'\n if (pattern.startsWith(SimpleRegex.MASK_START_URL) && pattern.indexOf(SimpleRegex.MASK_BACKSLASH) !== -1) {\n var end = pattern.indexOf(SimpleRegex.MASK_BACKSLASH);\n hostname = pattern.slice(SimpleRegex.MASK_START_URL.length, end);\n }\n if (!HostnameLookupTable.isValidHostname(hostname)) {\n return false;\n }\n var hash = fastHash(hostname);\n var rulesIndexes = this.hostnameLookupTable.get(hash);\n if (!rulesIndexes) {\n rulesIndexes = new Array();\n this.hostnameLookupTable.set(hash, rulesIndexes);\n }\n rulesIndexes.push(storageIdx);\n this.rulesCount += 1;\n return true;\n };\n /**\n * Implements the ILookupTable interface method.\n */\n HostnameLookupTable.prototype.getRulesCount = function () {\n return this.rulesCount;\n };\n /**\n * Implements the ILookupTable interface method.\n * @param request\n */\n HostnameLookupTable.prototype.matchAll = function (request) {\n var result = [];\n var domains = request.subdomains;\n for (var i = 0; i < domains.length; i += 1) {\n var hash = fastHash(domains[i]);\n var rulesIndexes = this.hostnameLookupTable.get(hash);\n if (rulesIndexes) {\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var rule = this.ruleStorage.retrieveNetworkRule(rulesIndexes[j]);\n if (rule && rule.match(request)) {\n result.push(rule);\n }\n }\n }\n }\n return result;\n };\n /**\n * Checks if this hostname string is valid\n *\n * @param hostname\n */\n HostnameLookupTable.isValidHostname = function (hostname) {\n if (!hostname) {\n return false;\n }\n if (hostname.indexOf(SimpleRegex.MASK_ANY_CHARACTER) !== -1) {\n return false;\n }\n if (hostname.indexOf('.') < 0 || hostname.endsWith('.')) {\n return false;\n }\n return true;\n };\n return HostnameLookupTable;\n }());\n\n /**\n * Sequence scan lookup table of rules for which we could not find a shortcut\n * and could not place it to the shortcuts lookup table.\n * In common case of rule there is always a way to just check a rule.match().\n */\n var SeqScanLookupTable = /** @class */ (function () {\n function SeqScanLookupTable() {\n /**\n * Count of rules added to this lookup table.\n */\n this.rulesCount = 0;\n /**\n * Rules for which we could not find a shortcut and could not place it to the shortcuts lookup table.\n */\n this.rules = [];\n }\n /**\n * addRule implements the ILookupTable interface for SeqScanLookupTable.\n * @param rule\n */\n SeqScanLookupTable.prototype.addRule = function (rule) {\n if (!this.rules.includes(rule)) {\n this.rules.push(rule);\n this.rulesCount += 1;\n return true;\n }\n return false;\n };\n /**\n * Implements the ILookupTable interface method.\n */\n SeqScanLookupTable.prototype.getRulesCount = function () {\n return this.rulesCount;\n };\n /**\n * Implements the ILookupTable interface method.\n * @param request\n */\n SeqScanLookupTable.prototype.matchAll = function (request) {\n var result = [];\n for (var i = 0; i < this.rules.length; i += 1) {\n var r = this.rules[i];\n if (r.match(request)) {\n result.push(r);\n }\n }\n return result;\n };\n return SeqScanLookupTable;\n }());\n\n /**\n * NetworkEngine is the engine that supports quick search over network rules\n */\n var NetworkEngine = /** @class */ (function () {\n /**\n * Builds an instance of the network engine\n *\n * @param storage an object for a rules storage.\n * @param skipStorageScan create an instance without storage scanning.\n */\n function NetworkEngine(storage, skipStorageScan) {\n if (skipStorageScan === void 0) { skipStorageScan = false; }\n this.ruleStorage = storage;\n this.rulesCount = 0;\n this.domainsLookupTable = new DomainsLookupTable(storage);\n this.hostnameLookupTable = new HostnameLookupTable(storage);\n this.shortcutsLookupTable = new TrieLookupTable(storage);\n this.seqScanLookupTable = new SeqScanLookupTable();\n if (skipStorageScan) {\n return;\n }\n var scanner = this.ruleStorage.createRuleStorageScanner(ScannerType.NetworkRules);\n while (scanner.scan()) {\n var indexedRule = scanner.getRule();\n if (indexedRule\n && indexedRule.rule instanceof NetworkRule) {\n this.addRule(indexedRule.rule, indexedRule.index);\n }\n }\n }\n /**\n * Match searches over all filtering rules loaded to the engine\n * It returns rule if a match was found alongside the matching rule\n *\n * @param request to check\n * @return rule matching request or null\n */\n NetworkEngine.prototype.match = function (request) {\n var networkRules = this.matchAll(request);\n if (networkRules.length === 0) {\n return null;\n }\n var result = new MatchingResult(networkRules, null);\n return result.getBasicResult();\n };\n /**\n * Finds all rules matching the specified request regardless of the rule types\n * It will find both allowlist and blacklist rules\n *\n * @param request to check\n * @return array of matching rules\n */\n NetworkEngine.prototype.matchAll = function (request) {\n // First check by shortcuts\n var result = this.hostnameLookupTable.matchAll(request);\n result.push.apply(result, (this.shortcutsLookupTable.matchAll(request)));\n result.push.apply(result, (this.domainsLookupTable.matchAll(request)));\n result.push.apply(result, (this.seqScanLookupTable.matchAll(request)));\n return result;\n };\n /**\n * Adds rule to the network engine\n *\n * @param rule\n * @param storageIdx\n */\n NetworkEngine.prototype.addRule = function (rule, storageIdx) {\n if (!this.hostnameLookupTable.addRule(rule, storageIdx)) {\n if (!this.shortcutsLookupTable.addRule(rule, storageIdx)) {\n if (!this.domainsLookupTable.addRule(rule, storageIdx)) {\n this.seqScanLookupTable.addRule(rule, storageIdx);\n }\n }\n }\n this.rulesCount += 1;\n };\n return NetworkEngine;\n }());\n\n /**\n * Implements a host rule.\n *\n * HostRule is a structure for simple host-level rules (i.e. /etc/hosts syntax).\n * http://man7.org/linux/man-pages/man5/hosts.5.html\n * It also supports \"just domain\" syntax. In this case, the IP will be set to 0.0.0.0.\n *\n * Rules syntax looks like this:\n * ```\n * IP_address canonical_hostname [aliases...]\n * ```\n *\n * Examples:\n * * `192.168.1.13 bar.mydomain.org bar` -- ipv4\n * * `ff02::1 ip6-allnodes` -- ipv6\n * * `::1 localhost ip6-localhost ip6-loopback` -- ipv6 aliases\n * * `example.org` -- \"just domain\" syntax\n */\n var HostRule = /** @class */ (function () {\n /**\n * Constructor\n *\n * Parses the rule and creates a new HostRule instance\n *\n * @param ruleText - original rule text.\n * @param filterListId - ID of the filter list this rule belongs to.\n *\n * @throws error if it fails to parse the rule.\n */\n function HostRule(ruleText, filterListId) {\n this.hostnames = [];\n this.ip = '';\n this.invalid = false;\n this.ruleText = ruleText;\n this.filterListId = filterListId;\n var commentIndex = ruleText.indexOf('#');\n var stripped = commentIndex >= 0 ? ruleText.substring(0, commentIndex) : ruleText;\n var parts = stripped.trim().split(' ');\n if (parts.length >= 2) {\n if (!isIp_1(parts[0])) {\n this.invalid = true;\n return;\n }\n // eslint-disable-next-line prefer-destructuring\n this.ip = parts[0];\n this.hostnames = parts.slice(1).filter(function (x) { return !!x; });\n }\n else if (parts.length === 1 && isDomainName(parts[0])) {\n this.hostnames = [parts[0]];\n this.ip = '0.0.0.0';\n }\n else {\n this.invalid = true;\n }\n }\n /**\n * Match returns true if this rule can be used on the specified hostname.\n *\n * @param hostname - hostname to check\n */\n HostRule.prototype.match = function (hostname) {\n return this.hostnames.includes(hostname);\n };\n /**\n * Returns list id\n */\n HostRule.prototype.getFilterListId = function () {\n return this.filterListId;\n };\n /**\n * Return rule text\n */\n HostRule.prototype.getText = function () {\n return this.ruleText;\n };\n /**\n * Returns ip address\n */\n HostRule.prototype.getIp = function () {\n return this.ip;\n };\n /**\n * Returns hostnames\n */\n HostRule.prototype.getHostnames = function () {\n return this.hostnames;\n };\n /**\n * Is invalid rule\n */\n HostRule.prototype.isInvalid = function () {\n return this.invalid;\n };\n return HostRule;\n }());\n\n /**\n * Request represents a web request with all it's necessary properties\n */\n var Request$1 = /** @class */ (function () {\n /**\n * Creates an instance of a Request\n *\n * @param url - request URL\n * @param sourceUrl - source URL\n * @param requestType - request type\n * @param method - request method\n *\n * @throws\n */\n function Request(url, sourceUrl, requestType, method) {\n /**\n * the request is for a given Hostname, and not for a URL, and we don't really know what protocol it is.\n * This can be true for DNS requests, or for HTTP CONNECT, or SNI matching.\n */\n this.isHostnameRequest = false;\n if (typeof url !== 'string') {\n throw new TypeError(\"Invalid request url: \".concat(url));\n }\n this.url = url;\n this.requestType = requestType;\n this.method = method;\n this.urlLowercase = Request.compactUrl(url).toLowerCase();\n this.sourceUrl = Request.compactUrl(sourceUrl);\n var tldResult = parse$1(url);\n this.hostname = tldResult.hostname;\n this.domain = tldResult.domain;\n this.subdomains = Request.getSubdomains(tldResult);\n var sourceTldResult;\n if (sourceUrl) {\n sourceTldResult = parse$1(sourceUrl);\n this.sourceHostname = sourceTldResult.hostname;\n this.sourceDomain = sourceTldResult.domain;\n this.sourceSubdomains = Request.getSubdomains(sourceTldResult);\n }\n else {\n this.sourceHostname = null;\n this.sourceDomain = null;\n this.sourceSubdomains = [];\n }\n if (this.sourceDomain) {\n this.thirdParty = this.domain !== this.sourceDomain;\n }\n else if (sourceTldResult && sourceTldResult.isIp) {\n this.thirdParty = this.hostname !== this.sourceHostname;\n }\n else {\n this.thirdParty = null;\n }\n }\n /**\n * We cut the url in performance purposes\n * @param url\n */\n Request.compactUrl = function (url) {\n var compacted = url;\n if (compacted && compacted.length > Request.MAX_URL_MATCH_LENGTH) {\n compacted = compacted.substring(0, Request.MAX_URL_MATCH_LENGTH);\n }\n return compacted;\n };\n /**\n * Splits subdomains and returns all subdomains (including the hostname itself)\n *\n * @param tldResult\n * @returns array of subdomains\n */\n Request.getSubdomains = function (tldResult) {\n var domain = tldResult.domain, hostname = tldResult.hostname, subdomain = tldResult.subdomain, publicSuffix = tldResult.publicSuffix;\n var subdomainsResult = [];\n if (!domain) {\n if (hostname) {\n subdomainsResult.push(hostname);\n return subdomainsResult;\n }\n return [];\n }\n if (publicSuffix) {\n subdomainsResult.push(publicSuffix);\n // Extract subdomains from complex suffixes\n // https://github.com/AdguardTeam/AdguardBrowserExtension/issues/2037\n // https://github.com/AdguardTeam/tsurlfilter/issues/57\n for (var i = 0; i < publicSuffix.length; i += 1) {\n if (publicSuffix[i] === '.') {\n subdomainsResult.push(publicSuffix.slice(i + 1));\n }\n }\n }\n subdomainsResult.push(domain);\n if (!subdomain) {\n return subdomainsResult;\n }\n var parts = subdomain.split('.');\n var incrementDomain = domain;\n for (var i = parts.length - 1; i >= 0; i -= 1) {\n incrementDomain = \"\".concat(parts[i], \".\").concat(incrementDomain);\n subdomainsResult.push(incrementDomain);\n }\n return subdomainsResult;\n };\n /**\n * Max url length for matching\n * Some urls are really long and slow down matching, so we cut them to this length.\n */\n Request.MAX_URL_MATCH_LENGTH = 2000;\n return Request;\n }());\n\n /**\n * DnsResult contains a network rule and host rules matching request\n */\n var DnsResult = /** @class */ (function () {\n function DnsResult() {\n /**\n * BasicRule - a network rule matching the request.\n */\n this.basicRule = null;\n /**\n * Host rules\n */\n this.hostRules = [];\n }\n return DnsResult;\n }());\n\n /**\n * DNSEngine combines host rules and network rules and is supposed to quickly find\n * matching rules for hostnames.\n * First, it looks over network rules and returns first rule found.\n * Then, if nothing found, it looks up the host rules.\n */\n var DnsEngine = /** @class */ (function () {\n /**\n * Builds an instance of dns engine\n *\n * @param storage\n */\n function DnsEngine(storage) {\n this.ruleStorage = storage;\n this.rulesCount = 0;\n this.lookupTable = new Map();\n this.networkEngine = new NetworkEngine(storage, true);\n var scanner = this.ruleStorage.createRuleStorageScanner(ScannerType.HostRules);\n while (scanner.scan()) {\n var indexedRule = scanner.getRule();\n if (indexedRule) {\n if (indexedRule.rule instanceof HostRule) {\n this.addRule(indexedRule.rule, indexedRule.index);\n }\n else if (indexedRule.rule instanceof NetworkRule\n && indexedRule.rule.isHostLevelNetworkRule()) {\n this.networkEngine.addRule(indexedRule.rule, indexedRule.index);\n }\n }\n }\n }\n /**\n * Match searches over all filtering and host rules loaded to the engine\n *\n * @param hostname to check\n * @return dns result object\n */\n DnsEngine.prototype.match = function (hostname) {\n var result = new DnsResult();\n if (!hostname) {\n return result;\n }\n var url = \"http://\".concat(hostname, \"/\");\n var request = new Request$1(url, url, RequestType.Document);\n request.isHostnameRequest = true;\n var networkRule = this.networkEngine.match(request);\n if (networkRule) {\n // Network rules always have higher priority\n result.basicRule = networkRule;\n return result;\n }\n var hash = fastHash(hostname);\n var rulesIndexes = this.lookupTable.get(hash);\n if (rulesIndexes) {\n for (var j = 0; j < rulesIndexes.length; j += 1) {\n var rule = this.ruleStorage.retrieveHostRule(rulesIndexes[j]);\n if (rule && rule.match(hostname)) {\n result.hostRules.push(rule);\n }\n }\n }\n return result;\n };\n /**\n * Adds rule to engine\n *\n * @param rule\n * @param storageIdx\n */\n DnsEngine.prototype.addRule = function (rule, storageIdx) {\n var _this = this;\n rule.getHostnames().forEach(function (hostname) {\n var hash = fastHash(hostname);\n // Add the rule to the lookup table\n var rulesIndexes = _this.lookupTable.get(hash);\n if (!rulesIndexes) {\n rulesIndexes = [];\n }\n rulesIndexes.push(storageIdx);\n _this.lookupTable.set(hash, rulesIndexes);\n });\n this.rulesCount += 1;\n };\n return DnsEngine;\n }());\n\n var lru = {exports: {}};\n\n (function (module, exports) {\n \t!function(g,c){c(exports);}(commonjsGlobal,function(g){const c=Symbol(\"newer\"),e=Symbol(\"older\");class n{constructor(a,b){typeof a!==\"number\"&&(b=a,a=0),this.size=0,this.limit=a,this.oldest=this.newest=void 0,this._keymap=new Map(),b&&(this.assign(b),a<1&&(this.limit=this.size));}_markEntryAsUsed(a){if(a===this.newest)return;a[c]&&(a===this.oldest&&(this.oldest=a[c]),a[c][e]=a[e]),a[e]&&(a[e][c]=a[c]),a[c]=void 0,a[e]=this.newest,this.newest&&(this.newest[c]=a),this.newest=a;}assign(a){let b,d=this.limit||Number.MAX_VALUE;this._keymap.clear();let m=a[Symbol.iterator]();for(let h=m.next();!h.done;h=m.next()){let f=new l(h.value[0],h.value[1]);this._keymap.set(f.key,f),b?(b[c]=f,f[e]=b):this.oldest=f,b=f;if(d--==0)throw new Error(\"overflow\")}this.newest=b,this.size=this._keymap.size;}get(a){var b=this._keymap.get(a);return b?(this._markEntryAsUsed(b),b.value):void 0}set(a,b){var d=this._keymap.get(a);return d?(d.value=b,this._markEntryAsUsed(d),this):(this._keymap.set(a,d=new l(a,b)),this.newest?(this.newest[c]=d,d[e]=this.newest):this.oldest=d,this.newest=d,++this.size,this.size>this.limit&&this.shift(),this)}shift(){var a=this.oldest;if(a)return this.oldest[c]?(this.oldest=this.oldest[c],this.oldest[e]=void 0):(this.oldest=void 0,this.newest=void 0),a[c]=a[e]=void 0,this._keymap.delete(a.key),--this.size,[a.key,a.value]}find(a){let b=this._keymap.get(a);return b?b.value:void 0}has(a){return this._keymap.has(a)}delete(a){var b=this._keymap.get(a);return b?(this._keymap.delete(b.key),b[c]&&b[e]?(b[e][c]=b[c],b[c][e]=b[e]):b[c]?(b[c][e]=void 0,this.oldest=b[c]):b[e]?(b[e][c]=void 0,this.newest=b[e]):this.oldest=this.newest=void 0,this.size--,b.value):void 0}clear(){this.oldest=this.newest=void 0,this.size=0,this._keymap.clear();}keys(){return new j(this.oldest)}values(){return new k(this.oldest)}entries(){return this}[Symbol.iterator](){return new i(this.oldest)}forEach(a,b){typeof b!==\"object\"&&(b=this);let d=this.oldest;for(;d;)a.call(b,d.value,d.key,this),d=d[c];}toJSON(){for(var a=new Array(this.size),b=0,d=this.oldest;d;)a[b++]={key:d.key,value:d.value},d=d[c];return a}toString(){for(var a=\"\",b=this.oldest;b;)a+=String(b.key)+\":\"+b.value,b=b[c],b&&(a+=\" < \");return a}}g.LRUMap=n;function l(a,b){this.key=a,this.value=b,this[c]=void 0,this[e]=void 0;}function i(a){this.entry=a;}i.prototype[Symbol.iterator]=function(){return this},i.prototype.next=function(){let a=this.entry;return a?(this.entry=a[c],{done:!1,value:[a.key,a.value]}):{done:!0,value:void 0}};function j(a){this.entry=a;}j.prototype[Symbol.iterator]=function(){return this},j.prototype.next=function(){let a=this.entry;return a?(this.entry=a[c],{done:!1,value:a.key}):{done:!0,value:void 0}};function k(a){this.entry=a;}k.prototype[Symbol.iterator]=function(){return this},k.prototype.next=function(){let a=this.entry;return a?(this.entry=a[c],{done:!1,value:a.value}):{done:!0,value:void 0}};});\n \t\n } (lru, lru.exports));\n\n /**\n * Engine represents the filtering engine with all the loaded rules\n */\n var Engine = /** @class */ (function () {\n /**\n * Creates an instance of an Engine\n * Parses the filtering rules and creates a filtering engine of them\n *\n * @param ruleStorage storage\n * @param skipStorageScan create an instance without storage scanning\n * @throws\n */\n function Engine(ruleStorage, skipStorageScan) {\n if (skipStorageScan === void 0) { skipStorageScan = false; }\n this.ruleStorage = ruleStorage;\n this.networkEngine = new NetworkEngine(ruleStorage, skipStorageScan);\n this.cosmeticEngine = new CosmeticEngine(ruleStorage, skipStorageScan);\n this.resultCache = new lru.exports.LRUMap(Engine.REQUEST_CACHE_SIZE);\n }\n /**\n * Loads rules to engine\n */\n Engine.prototype.loadRules = function () {\n var scanner = this.ruleStorage.createRuleStorageScanner(ScannerType.NetworkRules | ScannerType.CosmeticRules);\n while (scanner.scan()) {\n this.addRule(scanner.getRule());\n }\n };\n /**\n * Async loads rules to engine\n *\n * @param chunkSize size of rules chunk to load at a time\n */\n Engine.prototype.loadRulesAsync = function (chunkSize) {\n return __awaiter(this, void 0, void 0, function () {\n var scanner, counter;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n scanner = this.ruleStorage.createRuleStorageScanner(ScannerType.NetworkRules | ScannerType.CosmeticRules);\n counter = 0;\n _a.label = 1;\n case 1:\n if (!scanner.scan()) return [3 /*break*/, 4];\n counter += 1;\n if (!(counter >= chunkSize)) return [3 /*break*/, 3];\n counter = 0;\n /**\n * In some cases UI thread becomes blocked while adding rules to engine,\n * that't why we create filter rules using chunks of the specified length\n * Rules creation is rather slow operation so we should\n * use setTimeout calls to give UI thread some time.\n */\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 1); })];\n case 2:\n /**\n * In some cases UI thread becomes blocked while adding rules to engine,\n * that't why we create filter rules using chunks of the specified length\n * Rules creation is rather slow operation so we should\n * use setTimeout calls to give UI thread some time.\n */\n _a.sent();\n _a.label = 3;\n case 3:\n this.addRule(scanner.getRule());\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Matches the specified request against the filtering engine and returns the matching result.\n *\n * @param request - request to check\n * @param frameRule - source document rule or null\n * @return matching result\n */\n Engine.prototype.matchRequest = function (request, frameRule) {\n if (frameRule === void 0) { frameRule = null; }\n var cacheKey = \"\".concat(request.url, \"#\").concat(request.sourceHostname, \"#\").concat(request.requestType);\n if (request.method) {\n cacheKey += \"#\".concat(request.method);\n }\n /**\n * Add frame url text to the key to avoid caching,\n * because allowlist rules are not stored in the engine\n * AG-12694\n */\n if (frameRule) {\n cacheKey += \"#\".concat(frameRule.getText());\n }\n var res = this.resultCache.get(cacheKey);\n if (res) {\n return res;\n }\n var networkRules = this.networkEngine.matchAll(request);\n var result = new MatchingResult(networkRules, frameRule);\n this.resultCache.set(cacheKey, result);\n return result;\n };\n /**\n * Matches current frame and returns document-level allowlist rule if found.\n *\n * @param frameUrl\n */\n Engine.prototype.matchFrame = function (frameUrl) {\n var sourceRequest = new Request$1(frameUrl, '', RequestType.Document);\n var sourceRules = this.networkEngine.matchAll(sourceRequest);\n sourceRules = MatchingResult.removeBadfilterRules(sourceRules);\n var result = null;\n sourceRules.forEach(function (r) {\n if (r.isDocumentLevelAllowlistRule()) {\n if (!result || r.isHigherPriority(result)) {\n result = r;\n }\n }\n });\n return result;\n };\n /**\n * Gets cosmetic result for the specified hostname and cosmetic options\n *\n * @param request host to check\n * @param option mask of enabled cosmetic types\n * @return cosmetic result\n */\n Engine.prototype.getCosmeticResult = function (request, option) {\n return this.cosmeticEngine.match(request, option);\n };\n /**\n * Gets rules count\n */\n Engine.prototype.getRulesCount = function () {\n return this.networkEngine.rulesCount + this.cosmeticEngine.rulesCount;\n };\n /**\n * Adds rules to engines\n *\n * @param indexedRule\n */\n Engine.prototype.addRule = function (indexedRule) {\n if (indexedRule) {\n if (indexedRule.rule instanceof NetworkRule) {\n this.networkEngine.addRule(indexedRule.rule, indexedRule.index);\n }\n else if (indexedRule.rule instanceof CosmeticRule) {\n this.cosmeticEngine.addRule(indexedRule.rule, indexedRule.index);\n }\n }\n };\n /**\n * Request's cache size\n * Used as both source rules and others limit.\n * The value is based on benchmark runs.\n */\n Engine.REQUEST_CACHE_SIZE = 500;\n return Engine;\n }());\n\n /**\n * List identifier max value.\n * We use \"number\" type for storage indexes, so we have some limits for list\n * identifiers.\n * We use line number for rule index, so if we save 11 ranks for rules, then we\n * have 6 ranks left for list ids. Check RuleStorageScanner class for more info.\n */\n var LIST_ID_MAX_VALUE = Math.pow(10, 6);\n\n /**\n * Rule with index\n */\n var IndexedRule = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param rule\n * @param index\n */\n function IndexedRule(rule, index) {\n this.rule = rule;\n this.index = index;\n }\n return IndexedRule;\n }());\n /**\n * Rule with storage index\n */\n var IndexedStorageRule = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param rule\n * @param index\n */\n function IndexedStorageRule(rule, index) {\n this.rule = rule;\n this.index = index;\n }\n return IndexedStorageRule;\n }());\n\n /**\n * RuleStorageScanner scans multiple RuleScanner instances\n * The rule index is built from the rule index in the list + the list ID\n * In the index number we consider decimal part as listId and integer part as ruleId\n */\n var RuleStorageScanner = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param scanners\n */\n function RuleStorageScanner(scanners) {\n /**\n * Current scanner\n */\n this.currentScanner = null;\n /**\n * Index of the current scanner\n */\n this.currentScannerIdx = -1;\n this.scanners = scanners;\n }\n /**\n * Scan advances the RuleStorageScanner to the next rule, which will then be available\n * through the Rule method. It returns false when the scan stops, either by\n * reaching the end of the input or an error.\n *\n * @return true if there is some result\n */\n RuleStorageScanner.prototype.scan = function () {\n if (this.scanners.length === 0) {\n return false;\n }\n if (!this.currentScanner) {\n this.currentScannerIdx = 0;\n this.currentScanner = this.scanners[this.currentScannerIdx];\n }\n while (true) {\n if (this.currentScanner.scan()) {\n return true;\n }\n // Take the next scanner or just return false if there's nothing more\n if (this.currentScannerIdx === (this.scanners.length - 1)) {\n return false;\n }\n this.currentScannerIdx += 1;\n this.currentScanner = this.scanners[this.currentScannerIdx];\n }\n };\n /**\n * Rule returns the most recent rule generated by a call to Scan, and the index of this rule.\n * See ruleListIdxToStorageIdx for more information on what this index is.\n */\n RuleStorageScanner.prototype.getRule = function () {\n if (!this.currentScanner) {\n return null;\n }\n var rule = this.currentScanner.getRule();\n if (!rule) {\n return null;\n }\n var index = RuleStorageScanner.ruleListIdxToStorageIdx(rule.rule.getFilterListId(), rule.index);\n return new IndexedStorageRule(rule.rule, index);\n };\n /**\n * ruleListIdxToStorageIdx converts pair of listID and rule list index\n * to \"storage index\" number\n *\n * @param listId\n * @param ruleIdx\n */\n RuleStorageScanner.ruleListIdxToStorageIdx = function (listId, ruleIdx) {\n return listId / LIST_ID_MAX_VALUE + ruleIdx;\n };\n /**\n * Converts the \"storage index\" to two integers:\n * listID -- rule list identifier\n * ruleIdx -- index of the rule in the list\n *\n * @param storageIdx\n * @return [listId, ruleIdx]\n */\n RuleStorageScanner.storageIdxToRuleListIdx = function (storageIdx) {\n var listId = Math.round((storageIdx % 1) * LIST_ID_MAX_VALUE);\n var ruleIdx = Math.trunc(storageIdx);\n return [listId, ruleIdx];\n };\n return RuleStorageScanner;\n }());\n\n /**\n * Export logger implementation\n */\n exports.logger = console;\n /**\n * Set logger implementation\n *\n * @param loggerImpl\n */\n function setLogger(loggerImpl) {\n exports.logger = loggerImpl;\n }\n\n /**\n * Rule builder class\n */\n var RuleFactory = /** @class */ (function () {\n function RuleFactory() {\n }\n /**\n * Creates rule of suitable class from text string\n * It returns null if the line is empty or if it is a comment\n *\n * TODO: Pack `ignore*` parameters and `silent` into one object with flags.\n *\n * @param text rule string\n * @param filterListId list id\n * @param ignoreNetwork do not create network rules\n * @param ignoreCosmetic do not create cosmetic rules\n * @param ignoreHost do not create host rules\n * @param silent Log the error for `true`, otherwise throw an exception on\n * a rule creation\n *\n * @throws Error when `silent` flag is passed as false on rule creation error.\n *\n * @return IRule object or null\n */\n RuleFactory.createRule = function (text, filterListId, ignoreNetwork, ignoreCosmetic, ignoreHost, silent) {\n if (ignoreNetwork === void 0) { ignoreNetwork = false; }\n if (ignoreCosmetic === void 0) { ignoreCosmetic = false; }\n if (ignoreHost === void 0) { ignoreHost = true; }\n if (silent === void 0) { silent = true; }\n if (!text || RuleFactory.isComment(text)) {\n return null;\n }\n if (RuleFactory.isShort(text)) {\n exports.logger.info(\"The rule is too short: \".concat(text));\n }\n var line = text.trim();\n try {\n if (RuleFactory.isCosmetic(line)) {\n if (ignoreCosmetic) {\n return null;\n }\n return new CosmeticRule(line, filterListId);\n }\n if (!ignoreHost) {\n var hostRule = RuleFactory.createHostRule(line, filterListId);\n if (hostRule) {\n return hostRule;\n }\n }\n if (!ignoreNetwork) {\n return new NetworkRule(line, filterListId);\n }\n }\n catch (e) {\n var msg = \"\\\"\".concat(getErrorMessage(e), \"\\\" in the rule: \\\"\").concat(line, \"\\\"\");\n if (silent) {\n exports.logger.info(\"Error: \".concat(msg));\n }\n else {\n throw new Error(msg);\n }\n }\n return null;\n };\n /**\n * Creates host rule from text\n *\n * @param ruleText\n * @param filterListId\n */\n RuleFactory.createHostRule = function (ruleText, filterListId) {\n var rule = new HostRule(ruleText, filterListId);\n return rule.isInvalid() ? null : rule;\n };\n /**\n * Checks if rule is short\n */\n RuleFactory.isShort = function (rule) {\n if (!rule) {\n return true;\n }\n return !!(rule && rule.length <= 3);\n };\n /**\n * Checks if the rule is cosmetic or not.\n * @param ruleText - rule text to check.\n */\n RuleFactory.isCosmetic = function (ruleText) {\n var marker = findCosmeticRuleMarker(ruleText);\n return marker[0] !== -1;\n };\n /**\n * If text is comment\n *\n * @param text\n */\n RuleFactory.isComment = function (text) {\n if (text.charAt(0) === '!') {\n return true;\n }\n if (text.charAt(0) === '#') {\n if (text.length === 1) {\n return true;\n }\n // Now we should check that this is not a cosmetic rule\n return !RuleFactory.isCosmetic(text);\n }\n return false;\n };\n return RuleFactory;\n }());\n\n /**\n * Cache of an individual filter list.\n */\n var ListCache = /** @class */ (function () {\n /**\n * ListCache constructor.\n */\n function ListCache() {\n this.cache = new Map();\n }\n /**\n * @param key - Cache key.\n * @return - Rule found for specified key or undefined if nothing found.\n */\n ListCache.prototype.get = function (key) {\n return this.cache.get(key);\n };\n /**\n * Stores the rule for the specified key in the cache.\n *\n * @param key - Cache key.\n * @param rule - Cached value.\n */\n ListCache.prototype.set = function (key, rule) {\n this.cache.set(key, rule);\n };\n /**\n * @returns - The list cache size.\n */\n ListCache.prototype.getSize = function () {\n return this.cache.size;\n };\n return ListCache;\n }());\n\n /**\n * RuleStorage is an abstraction that combines several rule lists\n * It can be scanned using RuleStorageScanner, and also it allows\n * retrieving rules by its index\n\n * The idea is to keep rules in a serialized format (even original format in the case of FileRuleList)\n * and create them in a lazy manner only when we really need them. When the filtering engine is\n * being initialized, we need to scan the rule lists once in order to fill up the lookup tables.\n * We use rule indexes as a unique rule identifier instead of the rule itself.\n * The rule is created (see RetrieveRule) only when there's a chance that it's needed.\n\n * Rule index is an int64 value that actually consists of two int32 values:\n * One is the rule list identifier, and the second is the index of the rule inside of that list.\n */\n var RuleStorage = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param lists rule lists array\n *\n * @throws on duplicate lists\n */\n function RuleStorage(lists) {\n var _this = this;\n this.lists = lists;\n this.listsMap = new Map();\n this.cache = new Map();\n this.lists.forEach(function (list) {\n var filterListId = list.getId();\n if (_this.listsMap.get(filterListId)) {\n throw new Error(\"Duplicate list ID: \".concat(filterListId));\n }\n _this.listsMap.set(filterListId, list);\n });\n }\n /**\n * Creates a new instance of RuleStorageScanner.\n * It can be used to read and parse all the storage contents.\n *\n * @return scanner instance\n */\n RuleStorage.prototype.createRuleStorageScanner = function (scannerType) {\n var scanners = this.lists.map(function (list) { return list.newScanner(scannerType); });\n return new RuleStorageScanner(scanners);\n };\n /**\n * Looks for the filtering rule in this storage\n *\n * @param storageIdx the lookup index that you can get from the rule storage scanner\n * @param ignoreHost rules could be retrieved as host rules\n */\n RuleStorage.prototype.retrieveRule = function (storageIdx, ignoreHost) {\n if (ignoreHost === void 0) { ignoreHost = true; }\n var _a = RuleStorageScanner.storageIdxToRuleListIdx(storageIdx), listId = _a[0], ruleIdx = _a[1];\n var rule = this.getFromCache(listId, ruleIdx);\n if (rule) {\n return rule;\n }\n var list = this.listsMap.get(listId);\n if (!list) {\n exports.logger.warn(\"Failed to retrieve list \".concat(listId, \", should not happen in normal operation\"));\n return null;\n }\n var ruleText = list.retrieveRuleText(ruleIdx);\n if (!ruleText) {\n exports.logger.warn(\"Failed to retrieve rule \".concat(ruleIdx, \", should not happen in normal operation\"));\n return null;\n }\n var result = RuleFactory.createRule(ruleText, listId, false, false, ignoreHost);\n if (result) {\n this.saveToCache(listId, ruleIdx, result);\n }\n return result;\n };\n /**\n * RetrieveNetworkRule is a helper method that retrieves a network rule from the storage\n *\n * @param storageIdx\n * @return the rule or nil in any other case (not found or error)\n */\n RuleStorage.prototype.retrieveNetworkRule = function (storageIdx) {\n var rule = this.retrieveRule(storageIdx);\n if (!rule) {\n return null;\n }\n if (rule instanceof NetworkRule) {\n return rule;\n }\n return null;\n };\n /**\n * RetrieveHostRule is a helper method that retrieves a host rule from the storage\n *\n * @param storageIdx\n * @return the rule or nil in any other case (not found or error)\n */\n RuleStorage.prototype.retrieveHostRule = function (storageIdx) {\n var rule = this.retrieveRule(storageIdx, false);\n if (!rule) {\n return null;\n }\n if (rule instanceof HostRule) {\n return rule;\n }\n return null;\n };\n /**\n * Returns the size of the cache.\n */\n RuleStorage.prototype.getCacheSize = function () {\n return Array.from(this.cache.values())\n .reduce(function (acc, listCache) { return acc + listCache.getSize(); }, 0);\n };\n /**\n * Saves rule to cache\n *\n * @param listId\n * @param ruleIdx\n * @param rule\n */\n RuleStorage.prototype.saveToCache = function (listId, ruleIdx, rule) {\n var listCache = this.cache.get(listId);\n if (!listCache) {\n listCache = new ListCache();\n this.cache.set(listId, listCache);\n }\n listCache.set(ruleIdx, rule);\n };\n /**\n * Retrieves rule form cache\n *\n * @param listId\n * @param ruleIdx\n */\n RuleStorage.prototype.getFromCache = function (listId, ruleIdx) {\n var listCache = this.cache.get(listId);\n if (!listCache) {\n return undefined;\n }\n return listCache.get(ruleIdx);\n };\n return RuleStorage;\n }());\n\n /**\n * StringLineReader is a class responsible for reading content line by line\n * from a string.\n */\n var StringLineReader = /** @class */ (function () {\n /**\n * Constructor of the StringLineReader.\n *\n * @param text - Text to read line by line.\n */\n function StringLineReader(text) {\n /**\n * Current position of the line reader.\n */\n this.currentIndex = 0;\n this.text = text;\n }\n /**\n * Reads next line in the reader.\n *\n * @return - Text or null if there's nothing to read left.\n */\n StringLineReader.prototype.readLine = function () {\n if (this.currentIndex === -1) {\n return null;\n }\n var startIndex = this.currentIndex;\n this.currentIndex = this.text.indexOf('\\n', startIndex);\n if (this.currentIndex === -1) {\n return this.text.substring(startIndex);\n }\n // Increment to not include the EOL character.\n var line = this.text.substring(startIndex, this.currentIndex);\n this.currentIndex += 1;\n return line;\n };\n /**\n * Returns the current position of this reader or -1 if there's nothing to\n * read.\n *\n * @returns - The current position or -1.\n */\n StringLineReader.prototype.getCurrentPos = function () {\n return this.currentIndex;\n };\n return StringLineReader;\n }());\n\n /**\n * Rule scanner provides the functionality for reading rules from a filter list.\n */\n var RuleScanner = /** @class */ (function () {\n /**\n * Constructor of a RuleScanner object.\n *\n * @param reader - Source of the filtering rules\n * @param listId - Filter list ID\n * @param configuration - Scanner configuration object\n */\n function RuleScanner(reader, listId, configuration) {\n /**\n * Current rule.\n */\n this.currentRule = null;\n /**\n * Index of the beginning of the current rule (basically, a line number).\n */\n this.currentRuleIndex = 0;\n this.reader = reader;\n this.listId = listId;\n this.ignoreCosmetic = !!configuration.ignoreCosmetic\n || ((configuration.scannerType & ScannerType.CosmeticRules) !== ScannerType.CosmeticRules);\n this.ignoreNetwork = (configuration.scannerType & ScannerType.NetworkRules) !== ScannerType.NetworkRules;\n this.ignoreHost = (configuration.scannerType & ScannerType.HostRules) !== ScannerType.HostRules;\n this.ignoreJS = !!configuration.ignoreJS;\n this.ignoreUnsafe = !!configuration.ignoreUnsafe;\n }\n /**\n * Scan advances the RuleScanner to the next rule, which will then be\n * available through the getRule() method.\n *\n * @return - False when the scan stops, either by reaching the end of the\n * input or an error. If there's a rule available, returns true.\n */\n RuleScanner.prototype.scan = function () {\n while (true) {\n var lineIndex = this.reader.getCurrentPos();\n var line = this.readNextLine();\n if (line === null) {\n return false;\n }\n if (line) {\n var rule = RuleFactory.createRule(line, this.listId, this.ignoreNetwork, this.ignoreCosmetic, this.ignoreHost);\n if (rule && !this.isIgnored(rule)) {\n this.currentRule = rule;\n this.currentRuleIndex = lineIndex;\n return true;\n }\n }\n }\n };\n /**\n * @return - The most recent rule generated by a call to scan(), and the\n * index of this rule's text.\n */\n RuleScanner.prototype.getRule = function () {\n if (this.currentRule) {\n return new IndexedRule(this.currentRule, this.currentRuleIndex);\n }\n return null;\n };\n /**\n * Reads the next line and returns it.\n *\n * @return - Next line string or null.\n */\n RuleScanner.prototype.readNextLine = function () {\n var line = this.reader.readLine();\n if (line != null) {\n return line.trim();\n }\n return null;\n };\n /**\n * Checks if the rule should be ignored by this scanner.\n *\n * @param rule - Rule to check.\n * @return - True if the rule should be ignored.\n */\n RuleScanner.prototype.isIgnored = function (rule) {\n if (!this.ignoreCosmetic && !this.ignoreJS && !this.ignoreUnsafe) {\n return false;\n }\n if (rule instanceof CosmeticRule) {\n if (this.ignoreCosmetic) {\n return true;\n }\n // Ignore JS type rules.\n // TODO: in the future we may allow CSS rules and Scriptlets (except\n // for \"trusted\" scriptlets).\n return (this.ignoreJS && rule.getType() === exports.CosmeticRuleType.Js);\n }\n if (this.ignoreUnsafe) {\n if (rule instanceof NetworkRule) {\n if (rule.getAdvancedModifier() && (rule.getAdvancedModifier() instanceof RemoveHeaderModifier)) {\n return true;\n }\n }\n }\n return false;\n };\n return RuleScanner;\n }());\n\n /**\n * StringRuleList represents a string-based rule list. Consider it a reference\n * implementation of an IRuleList that shows how to supply a custom storage\n * implementation.\n */\n var StringRuleList = /** @class */ (function () {\n /**\n * Constructor\n *\n * @param listId\n * @param ruleText\n * @param ignoreCosmetic (Optional) default false\n * @param ignoreJS (Optional) default false\n * @param ignoreUnsafe (Optional) default false\n */\n function StringRuleList(listId, ruleText, ignoreCosmetic, ignoreJS, ignoreUnsafe) {\n if (listId >= LIST_ID_MAX_VALUE) {\n throw new Error(\"Invalid list identifier, it must be less than \".concat(LIST_ID_MAX_VALUE));\n }\n this.id = listId;\n this.rulesText = ruleText;\n this.ignoreCosmetic = !!ignoreCosmetic;\n this.ignoreJS = !!ignoreJS;\n this.ignoreUnsafe = !!ignoreUnsafe;\n }\n /**\n * Close does nothing as here's nothing to close in the StringRuleList\n */\n // eslint-disable-next-line class-methods-use-this\n StringRuleList.prototype.close = function () {\n // Empty\n };\n /**\n * @return the rule list identifier\n */\n StringRuleList.prototype.getId = function () {\n return this.id;\n };\n /**\n * Creates a new rules scanner that reads the list contents\n * @return scanner object\n */\n StringRuleList.prototype.newScanner = function (scannerType) {\n var reader = new StringLineReader(this.rulesText);\n return new RuleScanner(reader, this.id, {\n scannerType: scannerType,\n ignoreCosmetic: this.ignoreCosmetic,\n ignoreJS: this.ignoreJS,\n ignoreUnsafe: this.ignoreUnsafe,\n });\n };\n /**\n * Finds rule text by its index.\n * If there's no rule by that index or rule is invalid, it will return null\n *\n * @param ruleIdx\n * @return rule text or null\n */\n StringRuleList.prototype.retrieveRuleText = function (ruleIdx) {\n if (ruleIdx < 0 || ruleIdx >= this.rulesText.length) {\n return null;\n }\n var endOfLine = this.rulesText.indexOf('\\n', ruleIdx);\n if (endOfLine === -1) {\n endOfLine = this.rulesText.length;\n }\n var line = this.rulesText.substring(ruleIdx, endOfLine).trim();\n if (!line) {\n return null;\n }\n return line;\n };\n return StringRuleList;\n }());\n\n /**\n * BufferLineReader is a class responsible for reading content line by line\n * from a bytes buffer with a UTF-8 encoded string.\n */\n var BufferLineReader = /** @class */ (function () {\n /**\n * Constructor of a BufferLineReader.\n *\n * @param buffer - Uint8Array that contains a UTF-8 encoded string.\n */\n function BufferLineReader(buffer) {\n /**\n * Current position of the reader.\n */\n this.currentIndex = 0;\n this.buffer = buffer;\n }\n /**\n * Reads the next line in the buffer\n *\n * @return text or null on end\n */\n BufferLineReader.prototype.readLine = function () {\n if (this.currentIndex === -1) {\n return null;\n }\n var startIndex = this.currentIndex;\n this.currentIndex = this.buffer.indexOf(BufferLineReader.EOL, startIndex);\n if (this.currentIndex === -1) {\n return BufferLineReader.decoder.decode(this.buffer.subarray(startIndex));\n }\n var lineBytes = this.buffer.subarray(startIndex, this.currentIndex);\n var line = BufferLineReader.decoder.decode(lineBytes);\n // Increment to not include the EOL character.\n this.currentIndex += 1;\n return line;\n };\n /**\n * Returns the current position of this reader or -1 if there's nothing to\n * read.\n *\n * @returns - The current position or -1 if there's nothing to read.\n */\n BufferLineReader.prototype.getCurrentPos = function () {\n return this.currentIndex;\n };\n /**\n * EOL is a new line character that is used to detect line endings. We only\n * rely on \\n and not \\r so the lines need to be trimmed after processing.\n */\n BufferLineReader.EOL = '\\n'.charCodeAt(0);\n /**\n * Text decoder that is used to read strings from the internal buffer of\n * UTF-8 encoded characters.\n */\n BufferLineReader.decoder = new TextDecoder('utf-8');\n return BufferLineReader;\n }());\n\n /**\n * BufferRuleList represents a string-based rule list. It keeps the original\n * rule list as a byte array with UTF-8 encoded characters. This approach\n * allows saving on the memory used by tsurlfilter compared to StringRuleList.\n */\n var BufferRuleList = /** @class */ (function () {\n /**\n * Constructor of BufferRuleList.\n *\n * @param listId - List identifier.\n * @param rulesText - String with filtering rules (one per line).\n * @param ignoreCosmetic - (Optional) True to ignore cosmetic rules.\n * @param ignoreJS - (Optional) True to ignore JS rules.\n * @param ignoreUnsafe - (Optional) True to ignore unsafe rules.\n */\n function BufferRuleList(listId, rulesText, ignoreCosmetic, ignoreJS, ignoreUnsafe) {\n if (listId >= LIST_ID_MAX_VALUE) {\n throw new Error(\"Invalid list identifier, it must be less than \".concat(LIST_ID_MAX_VALUE));\n }\n this.id = listId;\n var encoder = new TextEncoder();\n this.rulesBuffer = encoder.encode(rulesText);\n this.ignoreCosmetic = !!ignoreCosmetic;\n this.ignoreJS = !!ignoreJS;\n this.ignoreUnsafe = !!ignoreUnsafe;\n }\n /**\n * Close does nothing as here's nothing to close in the BufferRuleList.\n */\n // eslint-disable-next-line class-methods-use-this\n BufferRuleList.prototype.close = function () {\n // Empty\n };\n /**\n * @return - The rule list identifier\n */\n BufferRuleList.prototype.getId = function () {\n return this.id;\n };\n /**\n * Creates a new rules scanner that reads the list contents.\n *\n * @return - Scanner object.\n */\n BufferRuleList.prototype.newScanner = function (scannerType) {\n var reader = new BufferLineReader(this.rulesBuffer);\n return new RuleScanner(reader, this.id, {\n scannerType: scannerType,\n ignoreCosmetic: this.ignoreCosmetic,\n ignoreJS: this.ignoreJS,\n ignoreUnsafe: this.ignoreUnsafe,\n });\n };\n /**\n * Finds rule text by its index.\n *\n * If there's no rule by that index or the rule is invalid, it will return\n * null.\n *\n * @param ruleIdx - rule index.\n * @return - rule text or null.\n */\n BufferRuleList.prototype.retrieveRuleText = function (ruleIdx) {\n if (ruleIdx < 0 || ruleIdx >= this.rulesBuffer.length) {\n return null;\n }\n var endOfLine = this.rulesBuffer.indexOf(BufferLineReader.EOL, ruleIdx);\n if (endOfLine === -1) {\n endOfLine = this.rulesBuffer.length;\n }\n var lineBuffer = this.rulesBuffer.subarray(ruleIdx, endOfLine);\n var line = BufferRuleList.decoder.decode(lineBuffer).trim();\n if (!line) {\n return null;\n }\n return line;\n };\n /**\n * Text decoder that is used to read strings from the internal buffer of\n * UTF-8 encoded characters.\n */\n BufferRuleList.decoder = new TextDecoder('utf-8');\n return BufferRuleList;\n }());\n\n /**\n * Rule converter class\n */\n var RuleConverter = /** @class */ (function () {\n function RuleConverter() {\n }\n /**\n * Converts rules text\n *\n * @param rulesText\n */\n RuleConverter.convertRules = function (rulesText) {\n var result = [];\n var lines = rulesText.split(/\\r?\\n/);\n for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) {\n var line = lines_1[_i];\n try {\n result.push.apply(result, RuleConverter.convertRule(line));\n }\n catch (e) {\n exports.logger.warn(e.message);\n }\n }\n return result.join('\\n');\n };\n /**\n * TODO for more efficient conversion build AST. And then use the modified AST for creating a\n * rule object.\n * Convert external scriptlet rule to AdGuard scriptlet syntax\n *\n * @param rawRule\n */\n RuleConverter.convertRule = function (rawRule) {\n var rule = rawRule.trim();\n if (rule.startsWith(SimpleRegex.MASK_COMMENT) || rule === '') {\n return [rule];\n }\n var comment = RuleConverter.convertUboComments(rule);\n if (comment) {\n return [comment];\n }\n var converted = rule;\n if (RuleFactory.isCosmetic(rule)) {\n converted = RuleConverter.convertCssInjection(converted);\n converted = RuleConverter.convertPseudoElements(converted);\n converted = RuleConverter.convertRemoveRule(converted);\n converted = RuleConverter.convertScriptHasTextToScriptTagContent(converted);\n converted = RuleConverter.convertUboMatchesPathRule(converted);\n // special case for ubo response header rule, it looks like cosmetic rule, but is converted to network rule\n var removeHeaderRule = RuleConverter.convertUboResponseHeaderRule(converted);\n if (removeHeaderRule) {\n return [removeHeaderRule];\n }\n }\n else {\n var domainAndOptions = RuleConverter.splitIntoDomainAndOptions(converted);\n var domain = domainAndOptions[0];\n var optionsParts = domainAndOptions[1];\n if (optionsParts) {\n optionsParts = RuleConverter.replaceOptions(optionsParts);\n var ruleWithConvertedOptions = RuleConverter.convertOptions(domain, optionsParts);\n if (ruleWithConvertedOptions) {\n return ruleWithConvertedOptions;\n }\n converted = \"\".concat(domain, \"$\").concat(optionsParts.join(','));\n }\n }\n var scriptletRules = scriptlets_umd.exports.convertScriptletToAdg(converted);\n // TODO Check if isValidScriptletRule call is needed here, looks like convertScriptletToAdg\n // should already return a valid scriptlet.\n if (scriptletRules && scriptletRules.every(function (x) { return RuleConverter.isValidScriptletRule(x); })) {\n return scriptletRules;\n }\n var adgRedirectRule = RuleConverter.convertUboAndAbpRedirectsToAdg(converted);\n if (adgRedirectRule) {\n return [adgRedirectRule];\n }\n if (converted.includes(RuleConverter.UBO_HTML_RULE_MASK)) {\n throw new SyntaxError(\"Invalid UBO script rule: \".concat(converted));\n }\n return [converted];\n };\n /**\n * Validates AdGuard syntax scriptlet rule.\n *\n * @param ruleText AdGuard scriptlet rule.\n */\n RuleConverter.isValidScriptletRule = function (ruleText) {\n try {\n // checks whether the ADG scriptlet rule name is valid\n return scriptlets_umd.exports.isValidScriptletRule(ruleText);\n }\n catch (e) {\n return false;\n }\n };\n /**\n * Converts UBO Script rule\n *\n * @param {string} ruleText rule text\n * @returns {string} converted rule\n */\n RuleConverter.convertScriptHasTextToScriptTagContent = function (ruleText) {\n if (ruleText.startsWith(SimpleRegex.MASK_COMMENT)\n || !RuleConverter.SCRIPT_HAS_TEXT_REGEX.test(ruleText)\n || RuleConverter.CSS_COMBINATORS_REGEX.test(ruleText)) {\n return ruleText;\n }\n var convertedRuleText = ruleText;\n var attributeStrings = [];\n // Cut all attributes substrings from rule text into array\n // https://github.com/AdguardTeam/tsurlfilter/issues/55\n if (RuleConverter.ATTRIBUTE_REGEX.test(ruleText)) {\n var globalAttributeRegExp = new RegExp(RuleConverter.ATTRIBUTE_REGEX, 'gi');\n attributeStrings = ruleText.match(globalAttributeRegExp);\n attributeStrings === null || attributeStrings === void 0 ? void 0 : attributeStrings.forEach(function (attrStr) {\n convertedRuleText = convertedRuleText.replace(attrStr, '');\n });\n }\n // Convert base of the rule ##^script:has-text(text) to $$script[tag-content='text']\n convertedRuleText = \"\".concat(convertedRuleText\n .replace(RuleConverter.SCRIPT_HAS_TEXT_REGEX_SHORT, RuleConverter.SCRIPT_HAS_TEXT_REPLACEMENT)\n .slice(0, -1), \"\\\"][max-length=\\\"262144\\\"]\");\n // Escape double quotes inside tag-content, like it is required by AdGuard syntax\n // https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters#tag-content\n convertedRuleText = convertedRuleText.replace(RuleConverter.TAG_CONTENT_VALUE_REGEX, function (match, group) {\n return \"[tag-content=\\\"\".concat(group.replace(/\"/g, '\"\"'), \"\\\"]\");\n });\n // Return attributes if there were any\n attributeStrings === null || attributeStrings === void 0 ? void 0 : attributeStrings.forEach(function (attrStr) {\n convertedRuleText += attrStr;\n });\n return convertedRuleText;\n };\n /**\n * Converts UBO and ABP redirect rules to AdGuard redirect rules\n * @param rule\n * @return {string} convertedRule\n */\n RuleConverter.convertUboAndAbpRedirectsToAdg = function (rule) {\n var redirects = scriptlets_umd.exports.redirects;\n if (redirects.isUboRedirectCompatibleWithAdg(rule) || redirects.isAbpRedirectCompatibleWithAdg(rule)) {\n return redirects.convertRedirectToAdg(rule);\n }\n return null;\n };\n /**\n * Converts the rule options according to the conversion map and handles special cases.\n * @param domainPart - The domain part of the rule.\n * @param optionsParts - The options part of the rule as an array of strings.\n * @private\n */\n RuleConverter.convertOptions = function (domainPart, optionsParts) {\n var NAME_VALUE_SPLITTER = '=';\n var areOptionsConverted = false;\n var updatedOptionsParts = optionsParts.map(function (optionsPart) {\n var convertedOptionsPart = RuleConverter.OPTIONS_CONVERSION_MAP.get(optionsPart);\n // If option is $mp4, then it should go with $media option together\n if (optionsPart === 'mp4') {\n // Check if media is not already among options\n if (!optionsParts.some(function (option) { return option === 'media'; })) {\n convertedOptionsPart = \"\".concat(convertedOptionsPart, \",media\");\n }\n }\n if (convertedOptionsPart) {\n areOptionsConverted = true;\n return convertedOptionsPart;\n }\n return optionsPart;\n });\n // If options have more than one csp modifiers, we merge them into one;\n var cspParts = updatedOptionsParts.filter(function (optionsPart) { return optionsPart.startsWith('csp'); });\n if (cspParts.length > 1) {\n var allButCsp = updatedOptionsParts.filter(function (optionsPart) { return !optionsPart.startsWith('csp'); });\n var cspValues = cspParts.map(function (cspPart) { return cspPart.split(NAME_VALUE_SPLITTER)[1]; });\n var updatedCspOption = \"csp\".concat(NAME_VALUE_SPLITTER).concat(cspValues.join('; '));\n updatedOptionsParts = allButCsp.concat(updatedCspOption);\n }\n if (areOptionsConverted) {\n var updatedOptions = updatedOptionsParts.join(',');\n return [\"\".concat(domainPart, \"$\").concat(updatedOptions)];\n }\n return null;\n };\n /**\n * Converts ubo syntax comments (rules starting with #)\n * Note: It's not possible to detect 100% cause rules starting with ## are valid elemhide rules\n *\n * @param rule\n * @return {string}\n */\n RuleConverter.convertUboComments = function (rule) {\n if (rule.startsWith('# ') || rule.startsWith('####')) {\n return \"! \".concat(rule);\n }\n return null;\n };\n /**\n * Executes rule css conversion\n *\n * @param rule\n * @param parts\n * @param ruleMark\n */\n RuleConverter.executeConversion = function (rule, parts, ruleMark) {\n var result = rule;\n var domain = parts[0];\n if (domain) {\n var rulePart = parts[1];\n if (rulePart.match(RuleConverter.CSS_RULE_REPLACE_PATTERN)) {\n var groups = RuleConverter.CSS_RULE_REPLACE_PATTERN.exec(rulePart);\n if (groups != null) {\n if (groups.length === 3) {\n result = domain + ruleMark;\n result += \"\".concat(groups[1], \" { \").concat(groups[2], \" }\");\n }\n }\n }\n }\n return result;\n };\n /**\n * Adds colon to the pseudo elements written with one colon (:before, :after);\n * e.g.\n * \"hotline.ua##.reset-scroll:before\" -> \"hotline.ua##.reset-scroll::before\"\n * @param rule\n * @private\n */\n RuleConverter.convertPseudoElements = function (rule) {\n var BEFORE = 'before';\n var AFTER = 'after';\n var SINGLE_COLON = ':';\n // does not have parts to convert\n if (!(rule.includes(SINGLE_COLON + BEFORE) || rule.includes(SINGLE_COLON + AFTER))) {\n return rule;\n }\n // not an css rule\n if (!(rule.includes(RuleConverter.MASK_ELEMENT_HIDING)\n || rule.includes(RuleConverter.MASK_ELEMENT_HIDING_EXCEPTION)\n || rule.includes(RuleConverter.MASK_CSS)\n || rule.includes(RuleConverter.MASK_CSS_EXCEPTION))) {\n return rule;\n }\n var modifiedRule = '';\n for (var i = 0; i < rule.length; i += 1) {\n if (rule[i] !== SINGLE_COLON) {\n modifiedRule += rule[i];\n continue;\n }\n if ((rule.indexOf(BEFORE, i) === i + 1\n || rule.indexOf(AFTER, i) === i + 1)\n && rule[i - 1] !== SINGLE_COLON) {\n modifiedRule += SINGLE_COLON;\n modifiedRule += rule[i];\n continue;\n }\n modifiedRule += rule[i];\n }\n return modifiedRule;\n };\n /**\n * Converts CSS injection\n * example.com##h1:style(background-color: blue !important)\n * into\n * example.com#$#h1 { background-color: blue !important }\n *

\n * OR (for exceptions):\n * example.com#@#h1:style(background-color: blue !important)\n * into\n * example.com#@$#h1 { background-color: blue !important }\n *\n * @param {string} rule\n * @return {string} convertedRule\n */\n RuleConverter.convertCssInjection = function (rule) {\n if (rule.includes(':style')) {\n var parts = void 0;\n var resultMask = void 0;\n var resultRule = rule;\n var isExtendedCss = false;\n for (var i = 0; i < EXT_CSS_PSEUDO_INDICATORS.length; i += 1) {\n isExtendedCss = rule.indexOf(EXT_CSS_PSEUDO_INDICATORS[i]) !== -1;\n if (isExtendedCss) {\n break;\n }\n }\n if (rule.includes(RuleConverter.MASK_CSS_EXTENDED_CSS_RULE)) {\n parts = rule.split(RuleConverter.MASK_CSS_EXTENDED_CSS_RULE, 2);\n resultMask = RuleConverter.MASK_CSS_INJECT_EXTENDED_CSS_RULE;\n }\n else if (rule.includes(RuleConverter.MASK_CSS_EXCEPTION_EXTENDED_CSS_RULE)) {\n parts = rule.split(RuleConverter.MASK_CSS_EXCEPTION_EXTENDED_CSS_RULE, 2);\n resultMask = RuleConverter.MASK_CSS_EXCEPTION_INJECT_EXTENDED_CSS_RULE;\n // firstly we check for exception rule in order not to confuse with id selectors\n // e.g. yourconroenews.com#@##siteNav:style(transform: none !important;)\n }\n else if (rule.includes(RuleConverter.MASK_ELEMENT_HIDING_EXCEPTION)) {\n parts = rule.split(RuleConverter.MASK_ELEMENT_HIDING_EXCEPTION, 2);\n if (isExtendedCss) {\n resultMask = RuleConverter.MASK_CSS_EXCEPTION_INJECT_EXTENDED_CSS_RULE;\n }\n else {\n resultMask = RuleConverter.MASK_CSS_EXCEPTION;\n }\n }\n else if (rule.includes(RuleConverter.MASK_ELEMENT_HIDING)) {\n parts = rule.split(RuleConverter.MASK_ELEMENT_HIDING, 2);\n if (isExtendedCss) {\n resultMask = RuleConverter.MASK_CSS_INJECT_EXTENDED_CSS_RULE;\n }\n else {\n resultMask = RuleConverter.MASK_CSS;\n }\n }\n if (parts && resultMask) {\n resultRule = RuleConverter.executeConversion(rule, parts, resultMask);\n }\n return resultRule;\n }\n return rule;\n };\n /**\n * Converts ':remove()' rule to AdGuard extended css rule\n * example.com###banner:remove() -> example.com#$?##banner { remove: true; }\n * @param {string} rule\n * @return {string} rule or converted rule\n */\n RuleConverter.convertRemoveRule = function (rule) {\n // if rule is already extended css, do not convert it\n if (rule.includes(RuleConverter.MASK_CSS_EXTENDED_CSS_RULE)) {\n return rule;\n }\n if (rule.includes(RuleConverter.MASK_ELEMENT_HIDING) && rule.endsWith(RuleConverter.REMOVE_RULE_PATTERN)) {\n return rule\n .replace(RuleConverter.MASK_ELEMENT_HIDING, RuleConverter.MASK_CSS_INJECT_EXTENDED_CSS_RULE)\n .replace(RuleConverter.REMOVE_RULE_PATTERN, RuleConverter.REMOVE_RULE_REPLACER);\n }\n return rule;\n };\n /**\n * Converts '^responseheader()' rule to AdGuard's $removeheader modifier\n * \"ya.ru##^responseheader(header-name)\" -> \"||ya.ru^$removeheader=header-name\"\n *\n * @param {string} ruleText\n * @return {string} ruleText or converted rule\n */\n RuleConverter.convertUboResponseHeaderRule = function (ruleText) {\n if (ruleText.startsWith(SimpleRegex.MASK_COMMENT) || !ruleText.includes(RuleConverter.UBO_RESPONSE_HEADER)) {\n return null;\n }\n if (RuleConverter.UBO_RESPONSE_HEADER_REGEX.test(ruleText)) {\n return \"||\".concat(ruleText.replace(RuleConverter.UBO_RESPONSE_HEADER_REGEX, RuleConverter.UBO_RESPONSE_HEADER_REPLACEMENT)\n .slice(0, -1));\n }\n if (RuleConverter.UBO_RESPONSE_HEADER_EXCEPTION_REGEX.test(ruleText)) {\n return \"@@||\".concat(ruleText.replace(RuleConverter.UBO_RESPONSE_HEADER_EXCEPTION_REGEX, RuleConverter.UBO_RESPONSE_HEADER_REPLACEMENT).slice(0, -1));\n }\n return ruleText;\n };\n /**\n * Converts cosmetic 'matches-path()' rule to AdGuard's $path modifier\n * \"ya.ru##:matches-path(/page) p\" -> \"[$path=/page]ya.ru##p\"\n *\n * @param {string} ruleText\n * @return {string} ruleText or converted rule\n */\n RuleConverter.convertUboMatchesPathRule = function (ruleText) {\n if (ruleText.startsWith(SimpleRegex.MASK_COMMENT)) {\n return ruleText;\n }\n var _b = findCosmeticRuleMarker(ruleText), markerIndex = _b[0], marker = _b[1];\n if (!marker) {\n return ruleText;\n }\n var expressionStartIndex = markerIndex + marker.length;\n var matchesPathStartIndex = ruleText.indexOf(RuleConverter.UBO_MATCHES_PATH, expressionStartIndex);\n if (matchesPathStartIndex === -1) {\n return ruleText;\n }\n var reversedMatchesPathStartIndex = ruleText.indexOf(RuleConverter.UBO_REVERSED_MATCHES_PATH, expressionStartIndex);\n var isReversed = reversedMatchesPathStartIndex !== -1;\n var pathStartIndex = isReversed\n ? reversedMatchesPathStartIndex + RuleConverter.UBO_REVERSED_MATCHES_PATH.length\n : matchesPathStartIndex + RuleConverter.UBO_MATCHES_PATH.length;\n var matchPathOperatorCloseBracketIndex;\n var openBracketCounter = 1;\n var closeBracketCounter = 0;\n for (var i = pathStartIndex; i < ruleText.length; i += 1) {\n if (ruleText[i - 1] !== '\\\\') {\n if (ruleText[i] === '(') {\n openBracketCounter += 1;\n }\n else if (ruleText[i] === ')') {\n closeBracketCounter += 1;\n if (openBracketCounter === closeBracketCounter) {\n matchPathOperatorCloseBracketIndex = i;\n break;\n }\n }\n }\n }\n if (!matchPathOperatorCloseBracketIndex) {\n return ruleText;\n }\n var domains = ruleText.slice(0, markerIndex);\n var expressionMiddle = ruleText.slice(expressionStartIndex, isReversed ? reversedMatchesPathStartIndex : matchesPathStartIndex);\n var expressionTail = ruleText\n .slice(matchPathOperatorCloseBracketIndex + (isReversed ? 2 : 1))\n .trim();\n var path = ruleText.slice(pathStartIndex, matchPathOperatorCloseBracketIndex);\n var isRegex = SimpleRegex.isRegexPattern(path);\n if (isReversed) {\n path = \"/^((?!\".concat(isRegex ? path.slice(1, path.length - 1) : SimpleRegex.patternToRegexp(path), \").)*$/\");\n }\n if (isRegex) {\n path = SimpleRegex.escapeRegexSpecials(path, SimpleRegex.reModifierPatternSpecialCharacters);\n }\n return \"[$path=\".concat(path, \"]\").concat(domains).concat(marker).concat(expressionMiddle).concat(expressionTail);\n };\n /**\n * Substitutes option aliases in the provided options array with their corresponding aliases.\n *\n * @param optionsParts - An array of options to replace aliases in.\n * @returns - An array of options with aliases replaced.\n */\n RuleConverter.replaceOptions = function (optionsParts) {\n var resultOptions = optionsParts.map(function (option) {\n var _b = option.split('=', 2), optionNameRaw = _b[0], optionValue = _b[1];\n var isNegated = optionNameRaw.startsWith('~');\n var optionName = isNegated ? optionNameRaw.slice(1) : optionNameRaw;\n var convertedOptionName = RuleConverter.OPTIONS_ALIASES[optionName];\n if (!convertedOptionName) {\n return option;\n }\n var negationPrefix = isNegated ? '~' : '';\n return optionValue\n ? \"\".concat(negationPrefix).concat(convertedOptionName, \"=\").concat(optionValue)\n : \"\".concat(negationPrefix).concat(convertedOptionName);\n });\n return resultOptions;\n };\n var _a;\n _a = RuleConverter;\n RuleConverter.CSS_RULE_REPLACE_PATTERN = /(.*):style\\((.*)\\)/g;\n // eslint-disable-next-line max-len\n RuleConverter.SCRIPT_HAS_TEXT_REGEX = /##\\^(script(\\[[{a-z0-9-_.:}]*(=\"[{a-z0-9-_.:}]*\")*\\])*:(has-text|contains))\\((?!\\/.+\\/\\))/i;\n RuleConverter.SCRIPT_HAS_TEXT_REGEX_SHORT = /(##\\^script:(has-text|contains))\\((?!\\/.+\\/\\))/i;\n RuleConverter.TAG_CONTENT_VALUE_REGEX = /\\[tag-content=\"(.*?)\"]/g;\n RuleConverter.ATTRIBUTE_REGEX = /(\\[[{a-z0-9-_.:}]*(=\"[{a-z0-9-_.:}]*\")*\\])/i;\n RuleConverter.CSS_COMBINATORS_REGEX = />|\\+|~/;\n RuleConverter.SCRIPT_HAS_TEXT_REPLACEMENT = '$$$$script[tag-content=\"';\n RuleConverter.UBO_RESPONSE_HEADER = '#^responseheader(';\n RuleConverter.UBO_RESPONSE_HEADER_REGEX = /##\\^responseheader\\((?!\\/.+\\/\\))/i;\n RuleConverter.UBO_RESPONSE_HEADER_EXCEPTION_REGEX = /#@#\\^responseheader\\((?!\\/.+\\/\\))/i;\n RuleConverter.UBO_RESPONSE_HEADER_REPLACEMENT = '^$removeheader=';\n RuleConverter.UBO_MATCHES_PATH = ':matches-path(';\n RuleConverter.UBO_REVERSED_MATCHES_PATH = ':not(:matches-path(';\n /**\n * Rule masks\n */\n RuleConverter.MASK_ELEMENT_HIDING = '##';\n RuleConverter.UBO_HTML_RULE_MASK = '##^';\n RuleConverter.MASK_ELEMENT_HIDING_EXCEPTION = '#@#';\n RuleConverter.MASK_CSS = '#$#';\n RuleConverter.MASK_CSS_EXCEPTION = '#@$#';\n RuleConverter.MASK_CSS_EXTENDED_CSS_RULE = '#?#';\n RuleConverter.MASK_CSS_EXCEPTION_EXTENDED_CSS_RULE = '#@?#';\n RuleConverter.MASK_CSS_INJECT_EXTENDED_CSS_RULE = '#$?#';\n RuleConverter.MASK_CSS_EXCEPTION_INJECT_EXTENDED_CSS_RULE = '#@$?#';\n RuleConverter.REMOVE_RULE_PATTERN = ':remove()';\n RuleConverter.REMOVE_RULE_REPLACER = ' { remove: true; }';\n /**\n * Special characters\n */\n RuleConverter.REGEXP_DELIMITER = '/';\n RuleConverter.ESCAPING_SLASH = '\\\\';\n /**\n * Splits the given rule text into domain and options parts using the options delimiter ($).\n * Returns the domain part and an array of options, or null if no options are present.\n *\n * @param ruleText - The rule text to be split.\n * @returns [domain, options] or [domain, null] if no options are present.\n */\n RuleConverter.splitIntoDomainAndOptions = function (ruleText) {\n var optionsDelimiterIdx = -1;\n var inRegExp = false;\n for (var i = ruleText.length - 1; i >= 0; i -= 1) {\n if (!inRegExp && ruleText[i] === OPTIONS_DELIMITER) {\n optionsDelimiterIdx = i;\n break;\n }\n if (ruleText[i] === _a.REGEXP_DELIMITER\n && (i === 0 || ruleText[i - 1] !== _a.ESCAPING_SLASH)) {\n inRegExp = !inRegExp;\n }\n }\n if (optionsDelimiterIdx === -1) {\n return [ruleText, null];\n }\n var domainPart = ruleText.slice(0, optionsDelimiterIdx);\n var optionsPart = ruleText.slice(optionsDelimiterIdx + 1);\n // do not remove escape characters from regexp modifiers values\n var optionsParts = parseOptionsString(optionsPart, false);\n return [domainPart, optionsParts];\n };\n /**\n * These option shortcuts will be converted to a more wordy AdGuard options.\n * @private\n */\n RuleConverter.OPTIONS_CONVERSION_MAP = new Map([\n // See https://adguard.com/kb/general/ad-filtering/create-own-filters/#empty-modifier\n ['empty', 'redirect=nooptext'],\n // See https://adguard.com/kb/general/ad-filtering/create-own-filters/#mp4-modifier\n ['mp4', 'redirect=noopmp4-1s'],\n ['inline-script', \"csp=script-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\"],\n ['inline-font', \"csp=font-src 'self' 'unsafe-eval' http: https: data: blob: mediastream: filesystem:\"],\n ]);\n /**\n * Options aliases, used to convert non-AdGuard options to AdGuard options\n */\n RuleConverter.OPTIONS_ALIASES = {\n 'first-party': '~third-party',\n xhr: 'xmlhttprequest',\n css: 'stylesheet',\n frame: 'subdocument',\n queryprune: 'removeparam',\n doc: 'document',\n '1p': '~third-party',\n '3p': 'third-party',\n ghide: 'generichide',\n ehide: 'elemhide',\n shide: 'specifichide',\n };\n return RuleConverter;\n }());\n\n /**\n * Module, which can be used to validate filter rules in other libraries\n */\n var RuleValidator = /** @class */ (function () {\n function RuleValidator() {\n }\n /**\n * Creates validation result\n * @param valid\n * @param error\n * @private\n */\n RuleValidator.createValidationResult = function (valid, error) {\n if (error) {\n return { valid: valid, error: error };\n }\n return { valid: valid, error: null };\n };\n RuleValidator.validateRegexp = function (pattern, ruleText) {\n if (pattern.startsWith(SimpleRegex.MASK_REGEX_RULE)\n && pattern.endsWith(SimpleRegex.MASK_REGEX_RULE)) {\n try {\n new RegExp(pattern.slice(1, -1));\n }\n catch (e) {\n throw new SyntaxError(\"Rule has invalid regex pattern: \\\"\".concat(ruleText, \"\\\"\"));\n }\n }\n };\n /**\n * Validates raw rule string\n * @param rawRule\n */\n RuleValidator.validate = function (rawRule) {\n var ruleText = rawRule.trim();\n if (!ruleText || RuleFactory.isComment(ruleText)) {\n return RuleValidator.createValidationResult(true);\n }\n if (RuleFactory.isShort(ruleText)) {\n return RuleValidator.createValidationResult(false, \"Rule is too short: \".concat(ruleText));\n }\n try {\n // Validate cosmetic rules\n if (RuleFactory.isCosmetic(ruleText)) {\n new CosmeticRule(ruleText, 0);\n return RuleValidator.createValidationResult(true);\n }\n // Validate network rules\n var rule = new NetworkRule(ruleText, 0);\n RuleValidator.validateRegexp(rule.getPattern(), rule.getText());\n }\n catch (e) {\n var errorMessage = \"Error: \\\"\".concat(e.message, \"\\\" in the rule: \\\"\").concat(ruleText, \"\\\"\");\n return RuleValidator.createValidationResult(false, errorMessage);\n }\n return RuleValidator.createValidationResult(true);\n // TODO validate host rules\n };\n return RuleValidator;\n }());\n\n /**\n * Module with miscellaneous syntax utils exposed in API\n */\n var RuleSyntaxUtils = /** @class */ (function () {\n function RuleSyntaxUtils() {\n }\n /**\n * Checks if rule can be matched by domain\n * @param ruleText\n * @param domain\n */\n RuleSyntaxUtils.isRuleForDomain = function (ruleText, domain) {\n var rule = RuleFactory.createRule(ruleText, this.DUMMY_FILTER_ID);\n if (!rule) {\n return false;\n }\n return rule.matchesPermittedDomains(domain);\n };\n /**\n * Checks if rule can be matched by url\n * @param ruleText\n * @param url\n */\n RuleSyntaxUtils.isRuleForUrl = function (ruleText, url) {\n var domain = getHostname(url);\n if (!domain) {\n return false;\n }\n return this.isRuleForDomain(ruleText, domain);\n };\n RuleSyntaxUtils.DUMMY_FILTER_ID = 0;\n return RuleSyntaxUtils;\n }());\n\n exports.BufferRuleList = BufferRuleList;\n exports.CookieModifier = CookieModifier;\n exports.CosmeticEngine = CosmeticEngine;\n exports.CosmeticResult = CosmeticResult;\n exports.CosmeticRule = CosmeticRule;\n exports.CosmeticRuleParser = CosmeticRuleParser;\n exports.DnsEngine = DnsEngine;\n exports.DnsResult = DnsResult;\n exports.EXT_CSS_PSEUDO_INDICATORS = EXT_CSS_PSEUDO_INDICATORS;\n exports.Engine = Engine;\n exports.HostRule = HostRule;\n exports.IndexedRule = IndexedRule;\n exports.IndexedStorageRule = IndexedStorageRule;\n exports.LIST_ID_MAX_VALUE = LIST_ID_MAX_VALUE;\n exports.MatchingResult = MatchingResult;\n exports.NETWORK_RULE_OPTIONS = NETWORK_RULE_OPTIONS;\n exports.NetworkEngine = NetworkEngine;\n exports.NetworkRule = NetworkRule;\n exports.OPTIONS_DELIMITER = OPTIONS_DELIMITER;\n exports.RemoveHeaderModifier = RemoveHeaderModifier;\n exports.RemoveParamModifier = RemoveParamModifier;\n exports.ReplaceModifier = ReplaceModifier;\n exports.Request = Request$1;\n exports.RequestType = RequestType;\n exports.RuleConverter = RuleConverter;\n exports.RuleFactory = RuleFactory;\n exports.RuleStorage = RuleStorage;\n exports.RuleSyntaxUtils = RuleSyntaxUtils;\n exports.RuleValidator = RuleValidator;\n exports.SimpleRegex = SimpleRegex;\n exports.StringRuleList = StringRuleList;\n exports.TSURLFILTER_VERSION = TSURLFILTER_VERSION;\n exports.cleanUrlParamByRegExp = cleanUrlParamByRegExp;\n exports.countEnabledBits = countEnabledBits;\n exports.fastHash = fastHash;\n exports.getBitCount = getBitCount;\n exports.getRelativeUrl = getRelativeUrl;\n exports.hasUnquotedSubstring = hasUnquotedSubstring;\n exports.indexOfAny = indexOfAny;\n exports.isCompatibleWith = isCompatibleWith;\n exports.isDomainName = isDomainName;\n exports.replaceAll = replaceAll;\n exports.setConfiguration = setConfiguration;\n exports.setLogger = setLogger;\n exports.splitByDelimiterWithEscapeCharacter = splitByDelimiterWithEscapeCharacter;\n exports.startsAtIndexWith = startsAtIndexWith;\n exports.stringArraysEquals = stringArraysEquals;\n exports.stringArraysHaveIntersection = stringArraysHaveIntersection;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n}));\n", "const { setConfiguration, Engine, RuleStorage, StringRuleList, Request } = require(\"@adguard/tsurlfilter\");\n\nasync function start() {\n const easylist = await (await fetch(\"https://raw.githubusercontent.com/easylist/easylist/master/easylist/easylist_adservers.txt\")).text();\n const list = new StringRuleList(0, easylist, false, false);\n const ruleStorage = new RuleStorage([list]);\n\n const config = {\n engine: \"extension\",\n version: \"1.0.0\",\n verbose: true\n }\n\n setConfiguration(config);\n\n const engine = new Engine(ruleStorage);\n console.log(engine.matchRequest(new Request(\"https://googleapi.club\")));\n}\nstart();"], + "mappings": "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", + "names": ["require_tsurlfilter_umd", "__commonJSMin", "exports", "module", "global", "factory", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "t", "s", "i", "n", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__generator", "body", "_", "f", "y", "g", "verb", "v", "op", "__spreadArray", "to", "from", "pack", "l", "ar", "version", "TSURLFILTER_VERSION", "CompatibilityTypes", "Configuration", "inputConfig", "config", "isCompatibleWith", "compatibilityLevel", "setConfiguration", "outerConfig", "shareSameDomainSuffix", "hostname", "vhost", "extractDomainWithSuffix", "publicSuffix", "publicSuffixIndex", "lastDotBeforeSuffixIndex", "getDomain", "suffix", "options", "validHosts", "getDomainWithoutSuffix", "domain", "extractHostname", "url", "urlIsValidHostname", "start", "end", "hasUpper", "indexOfProtocol", "protocolSize", "c0", "c1", "c2", "c3", "c4", "lowerCaseCode", "indexOfIdentifier", "indexOfClosingBracket", "indexOfPort", "code", "isProbablyIpv4", "numberOfDots", "isProbablyIpv6", "hasColon", "isIp$1", "isValidAscii", "isValidHostname", "lastDotIndex", "lastCharCode", "len", "setDefaultsImpl", "allowIcannDomains", "allowPrivateDomains", "detectIp", "mixedInputs", "validateHostname", "DEFAULT_OPTIONS", "setDefaults", "getSubdomain", "getEmptyResult", "resetResult", "parseImpl", "suffixLookup", "partialOptions", "fastPathLookup", "out", "last", "exceptions", "_0", "_1", "rules", "_2", "_3", "_4", "_5", "_6", "_7", "_8", "_9", "_10", "_11", "_12", "_13", "_14", "_15", "_16", "_17", "_18", "_19", "_20", "_21", "_22", "_23", "_24", "_25", "_26", "_27", "_28", "_29", "_30", "_31", "lookupInTrie", "parts", "trie", "index", "allowedMask", "node", "succ", "hostnameParts", "exceptionMatch", "rulesMatch", "RESULT", "parse$1", "getHostname", "getPublicSuffix", "DomainModifier", "domainsStr", "separator", "permittedDomains", "restrictedDomains", "restricted", "domains", "wildcard", "domainNameToCheck", "wildcardedDomainToCheck", "domainName", "tld", "COMMA_SEPARATOR", "PIPE_SEPARATOR", "splitByDelimiterWithEscapeCharacter", "string", "delimiter", "escapeCharacter", "preserveEmptyTokens", "shouldUnescape", "words", "word", "chars", "makeWord", "char", "isLastChar", "isEscapedChar", "startsAtIndexWith", "str", "startIndex", "substr", "hasUnquotedSubstring", "quotes", "indexOfAny", "stack", "cursor", "fastHash", "hash", "c", "replaceAll", "find", "replace", "stringArraysEquals", "left", "right", "stringArraysHaveIntersection", "CosmeticLookupTable", "storage", "rule", "storageIdx", "key", "existingRules", "hasWildcardDomain", "_i", "domains_1", "tldResult", "parsedDomain", "request", "subdomains", "_loop_1", "subdomain", "rulesIndexes", "this_1", "j", "r", "commonjsGlobal", "scriptlets_umd", "attachDependencies", "scriptlet", "_scriptlet$injections", "injections", "accum", "dep", "addCall", "passSourceAndProps", "source", "redirect", "sourceString", "argsString", "arg", "params", "wrapInNonameFunc", "isEmptyObject", "obj", "safeGetDescriptor", "prop", "descriptor", "setPropertyAccess", "object", "property", "currentDescriptor", "isArbitraryObject", "nativeIsNaN", "num", "native", "nativeIsFinite", "getNumberFromString", "rawString", "parsedDelay", "validDelay", "getRandomIntInclusive", "min", "max", "input", "newSubstr", "escapeRegExp", "toRegExp", "DEFAULT_VALUE", "FORWARD_SLASH", "delimiterIndex", "flagsPart", "regExpPart", "isValidRegExpFlag", "flag", "getRegExpFlags", "regExpStr", "flagsStr", "flags", "regExpInput", "escaped", "isValidStrPattern", "isValid", "getBeforeRegExp", "rx", "substringAfter$1", "substringBefore", "wrapInSingleQuotes", "getStringInBraces", "firstIndex", "lastIndex", "convertRtcConfigToString", "UNDEF_STR", "SERVERS_PROP_NAME", "URLS_PROP_NAME", "isValidMatchStr", "match", "INVERT_MARKER", "isValidMatchNumber", "parseMatchArg", "isInvertedMatch", "matchValue", "matchRegexp", "parseDelayArg", "delay", "isInvertedDelayMatch", "delayValue", "delayMatch", "objectToString$1", "objectToString", "pair", "recordValueStr", "convertTypeToString", "output", "getRandomStrByLength", "length", "characters", "charactersLength", "generateRandomResponse", "customResponseText", "customResponse", "rangeRegex", "rangeMin", "rangeMax", "temp", "LENGTH_RANGE_LIMIT", "inferValue", "MAX_ALLOWED_NUM", "numVal", "errorMessage", "parsableVal", "iterateWithTransitions", "iterable", "transitions", "init", "args", "state", "ADG_SCRIPTLET_MASK", "wordSaver", "strings", "saveSymb", "saveStr", "getAll", "substringAfter", "parseRule", "ruleText", "opened", "_ref", "sep", "transition", "param", "_ref2", "saver", "preIndex", "before", "validateType", "type", "validateListener", "listener", "listenerToString", "shouldMatchAnyDelay", "getMatchDelay", "DEFAULT_DELAY", "isDelayMatched", "inputDelay", "realDelay", "getBoostMultiplier", "boost", "DEFAULT_MULTIPLIER", "MIN_MULTIPLIER", "MAX_MULTIPLIER", "parsedBoost", "boostMultiplier", "flatten", "el", "res", "next", "isExisting", "item", "nodeListToArray", "nodeList", "nodes", "logMessage", "message", "forced", "convertMessageToString", "name", "verbose", "nativeConsole", "hit", "log", "trace", "prefix", "AG_SCRIPTLET_MARKER", "UBO_SCRIPTLET_MARKER", "ruleStartIndex", "rulePart", "defaultAttributeSetter", "elem", "attribute", "setAttributeBySelector", "selector", "attributeSetter", "elements", "parseAttributePairs", "NAME_VALUE_SEPARATOR", "PAIRS_SEPARATOR", "SINGLE_QUOTE", "DOUBLE_QUOTE", "BACKSLASH", "pairs", "quote", "isValidCookiePath", "rawPath", "getCookiePath", "serializeCookie", "rawValue", "domainValue", "shouldEncodeValue", "COOKIE_BREAKER", "resultCookie", "path", "getLimitedCookieValue", "allowedCookieValues", "validValue", "parseCookieString", "cookieString", "COOKIE_DELIMITER", "COOKIE_PAIRS_DELIMITER", "cookieChunks", "cookieData", "singleCookie", "cookieKey", "cookieValue", "isCookieSetWithValue", "cookieStr", "pos", "cookieName", "getTrustedCookieOffsetMs", "offsetExpiresSec", "ONE_YEAR_EXPIRATION_KEYWORD", "ONE_DAY_EXPIRATION_KEYWORD", "MS_IN_SEC", "SECONDS_IN_YEAR", "SECONDS_IN_DAY", "parsedSec", "noopFunc", "noopCallbackFunc", "noopNull", "trueFunc", "falseFunc", "noopThis", "noopStr", "noopArray", "noopObject", "throwFunc", "noopResolveVoid", "noopResolveNull", "noopPromiseReject", "noopPromiseResolve", "responseBody", "responseUrl", "responseType", "response", "shouldAbortInlineOrInjectedScript", "stackMatch", "stackTrace", "INLINE_SCRIPT_STRING", "INJECTED_SCRIPT_STRING", "INJECTED_SCRIPT_MARKER", "isInlineScript", "isInjectedScript", "documentURL", "stackSteps", "line", "stackLines", "getStackTraceURL", "_stackURL", "_stackURL2", "stackURL", "_stackFunction", "stackFunction", "findHostElements", "rootElement", "hosts", "domElems", "pierceShadowDom", "hostElements", "targets", "innerHostsAcc", "host", "simpleElems", "shadowRootElem", "shadowChildren", "innerHosts", "queryShadowSelector", "context", "SHADOW_COMBINATOR", "shadowHostSelector", "shadowRootSelector", "isValidCallback", "callback", "parseRawDelay", "isPreventionNeeded", "matchCallback", "matchDelay", "_parseMatchArg", "_parseDelayArg", "shouldPrevent", "callbackStr", "handleOldReplacement", "replacement", "isProp", "propertyPart", "propertyName", "propertyValue", "createDecoy", "UrlPropNameOf", "tag", "decoy", "getPreventGetter", "nativeGetter", "preventGetter", "target", "getWildcardPropertyInChain", "base", "chain", "lookThrough", "shouldLookThrough", "nextProp", "baseKeys", "nextBase", "getNativeRegexpTest", "nativeRegexTest", "matchStackTrace", "stackRegexp", "refinedStackTrace", "isPruningNeeded", "root", "prunePaths", "requiredPaths", "nativeObjects", "nativeStringify", "shouldProcess", "rootString", "matchRegex", "shouldLog", "wildcardSymbols", "_loop", "requiredPath", "lastNestedPropName", "hasWildcard", "symbol", "details", "hasRequiredProp", "_ret", "jsonPruner", "ownerObjArr", "ownerObj", "getPrunePath", "props", "validPropsString", "modifyResponse", "origResponse", "_origResponse$headers", "headers", "modifiedResponse", "forgeResponse", "textContent", "bodyUsed", "ok", "redirected", "status", "statusText", "forgedResponse", "getRequestProps", "getRequestData", "requestInitOptions", "entries", "getFetchData", "nativeRequestClone", "fetchPropsObj", "resource", "fetchUrl", "fetchInit", "realData", "requestData", "getXhrData", "method", "async", "user", "password", "parseMatchProps", "propsToMatchStr", "PROPS_DIVIDER", "PAIRS_MARKER", "isRequestProp", "propsObj", "dividerInd", "isValidParsedData", "data", "getMatchPropsData", "matchData", "dataKeys", "setStorageItem", "removeStorageItem", "regExpKey", "storageKeys", "storageKey", "getLimitedStorageItemValue", "allowedStorageValues", "randomId", "createOnErrorHandler", "rid", "nativeOnError", "error", "_len", "_key", "getAbortFunc", "isErrorHandlerSet", "getDescriptorAddon", "cb", "getErrorMessage", "isErrorWithMessage", "getPropertyInChain", "matchRequestProps", "propsToMatch", "isMatched", "parsedData", "matchKeys", "matchKey", "dataValue", "throttle", "wait", "savedArgs", "wrapper", "observeDOMChanges", "observeAttrs", "attrsToObserve", "THROTTLE_DELAY_MS", "observer", "callbackWrapper", "connect", "disconnect", "getAddedNodes", "mutations", "addedNodes", "observeDocumentWithTimeout", "timeout", "documentObserver", "parseFlags", "FLAGS_DIVIDER", "ASAP_FLAG", "COMPLETE_FLAG", "STAY_FLAG", "VALID_FLAGS", "passedFlags", "parseKeywordValue", "NOW_VALUE_KEYWORD", "CURRENT_DATE_KEYWORD", "parsedValue", "hijackAttachShadow", "hostSelector", "handlerWrapper", "shadowRoot", "attachShadowHandler", "handleExistingNodes", "handler", "handleMutations", "isTargetNode", "nodeNameMatch", "textContentMatch", "nodeName", "nodeNameLowerCase", "replaceNodeText", "pattern", "parseNodeTextParams", "textMatch", "REGEXP_START_MARKER", "isStringNameMatch", "patternMatch", "isValueMatched", "matcher", "isStringMatched", "isArrayMatched", "isObjectMatched", "matcherKeys", "array", "matcherValue", "isMatching", "arrItem", "trustedClickElement$1", "selectors", "extraMatch", "OBSERVER_TIMEOUT_MS", "STATIC_CLICK_DELAY_MS", "COOKIE_MATCH_MARKER", "LOCAL_STORAGE_MATCH_MARKER", "SELECTORS_DELIMITER", "COOKIE_STRING_DELIMITER", "EXTRA_MATCH_DELIMITER", "sleep", "delayMs", "isValidDelay", "canClick", "cookieMatches", "localStorageMatches", "isInvertedMatchCookie", "isInvertedMatchLocalStorage", "parsedExtraMatch", "matchStr", "cookieMatch", "_parseMatchArg2", "_isInvertedMatch", "_matchValue", "localStorageMatch", "parsedCookieMatches", "parsedCookies", "cookieKeys", "cookiesMatched", "valueMatch", "keyMatch", "keysMatched", "shouldRun", "localStorageMatched", "itemValue", "_shouldRun", "selectorsSequence", "createElementObj", "element", "elementsSequence", "clickElementsBySequence", "elementObj", "allElementsClicked", "handleElement", "findElements", "fulfilledSelectors", "allSelectorsFulfilled", "abortOnPropertyRead$1", "abort", "setChainPropAccess", "owner", "chainInfo", "setter", "abortOnPropertyWrite$1", "preventSetTimeout$1", "setTimeoutHandler", "preventSetInterval$1", "setIntervalHandler", "preventWindowOpen$1", "nativeOpen", "isNewSyntax", "oldOpenWrapper", "searchRegexp", "newOpenWrapper", "_len2", "_key2", "argsStr", "decoyArgs", "popup", "abortCurrentInlineScript$1", "search", "SRC_DATA_MARKER", "getCurrentScript", "scripts", "ourScript", "_scriptEl$src", "scriptEl", "content", "textContentGetter", "encodedContent", "propIndex", "baseName", "a", "currentValue", "origDescriptor", "descriptorWrapper", "newValue", "setConstant$1", "valueWrapper", "setProxyTrap", "uboAliases", "isProxyTrapSet", "emptyArr", "emptyObj", "constantValue", "valueWrapperNames", "valueWrappersMap", "canceled", "mustCancel", "trapProp", "configurable", "prevSetter", "propertiesToCheck", "propertyKey", "val", "currentProp", "currentObj", "inChainPropHandler", "endPropHandler", "isTrapped", "propValue", "removeCookie$1", "removeCookieFromHost", "hostName", "cookieSpec", "domain1", "domain2", "expiration", "rmCookie", "hostParts", "preventAddEventListener$1", "typeSearch", "listenerSearch", "typeSearchRegexp", "listenerSearchRegexp", "nativeAddEventListener", "addEventListenerWrapper", "_this$constructor", "preventBab$2", "nativeSetTimeout", "babRegex", "timeoutWrapper", "signatures", "check", "tokens", "token", "found", "nativeEval", "evalWrapper", "bodyEl", "nowebrtc$1", "rtcReplacement", "rtc", "logAddEventListener$1", "_message", "logEval$1", "nativeFunction", "FunctionWrapper", "log$1", "noeval$1", "preventEvalIf$1", "payload", "preventFab$1", "Fab", "fab", "getSetFab", "getsetfab", "setPopadsDummy$1", "preventPopadsNet$1", "throwError", "preventAdfly$1", "isDigit", "encodedURL", "evenChars", "oddChars", "ii", "decodedURL", "applyHandler", "debugOnPropertyRead$1", "debugOnPropertyWrite$1", "debugCurrentInlineScript$1", "removeAttr$1", "attrs", "applying", "rmattr", "removed", "attr", "run", "setAttr$1", "allowedValues", "shouldCopyValue", "isValidValue", "attributeHandler", "valueToCopy", "removeClass$1", "classNames", "className", "removeClassHandler", "foundNodes", "CLASS_ATTR_NAME", "disableNewtabLinks$1", "ev", "adjustSetInterval$1", "nativeSetInterval", "intervalWrapper", "adjustSetTimeout$1", "dirString$1", "times", "_console", "dir", "dirWrapper", "jsonPrune$1", "propsToRemove", "requiredInitialProps", "nativeJSONParse", "jsonParseWrapper", "nativeResponseJson", "responseJsonWrapper", "promise", "preventRequestAnimationFrame$1", "nativeRequestAnimationFrame", "rafWrapper", "setCookie$1", "cookieToSet", "setCookieReload$1", "hideInShadowDom$1", "baseSelector", "hideElement", "targetElement", "DISPLAY_NONE_CSS", "hideHandler", "isHidden", "_pierceShadowDom", "targetEl", "removeInShadowDom$1", "removeElement", "removeHandler", "isRemoved", "preventFetch$1", "strResponseBody", "isResponseTypeSpecified", "isResponseTypeSupported", "SUPPORTED_TYPES", "getResponseType", "mode", "fetchURL", "fetchData", "finalResponseType", "fetchHandler", "setLocalStorageItem$1", "_window", "localStorage", "setSessionStorageItem$1", "sessionStorage", "abortOnStackTrace$1", "logOnStacktrace$1", "refineStackTrace", "stackString", "logInfoArray", "funcName", "funcFullPath", "reg", "regFirefox", "logInfoObject", "preventXHR$1", "nativeSend", "nativeGetResponseHeader", "nativeGetAllResponseHeaders", "xhrData", "modifiedResponseText", "openWrapper", "setRequestHeaderWrapper", "setRequestHeaderHandler", "sendWrapper", "randomText", "forgedRequest", "readyState", "responseURL", "responseXML", "stateEvent", "loadEvent", "loadEndEvent", "header", "getHeaderWrapper", "searchHeaderName", "matchedHeader", "headerName", "getAllHeadersWrapper", "allHeadersStr", "headerValue", "openHandler", "sendHandler", "getHeaderHandler", "getAllHeadersHandler", "forceWindowClose$1", "closeImmediately", "closeByExtension", "extCall", "shouldClose", "pathRegexp", "currentPath", "preventRefresh$1", "delaySec", "getMetaElements", "metaNodes", "getMetaContentDelay", "metaElements", "delays", "meta", "contentString", "contentDelay", "limiterIndex", "delaySubstring", "minDelay", "stop", "secondsToRun", "preventElementSrcLoading$1", "tagName", "srcMockData", "instance", "hasTrustedTypes", "policy", "SOURCE_PROPERTY_NAME", "ONERROR_PROPERTY_NAME", "setMatchedAttribute", "setAttributeWrapper", "attrName", "attrValue", "setAttributeHandler", "origSrcDescriptor", "urlValue", "trustedSrc", "origOnerrorDescriptor", "eventName", "addEventListenerHandler", "preventInlineOnerror", "src", "event", "noTopics$1", "TOPICS_PROPERTY_NAME", "trustedReplaceXhrResponse$1", "responseText", "patternRegexp", "modifiedContent", "xmlPrune$1", "optionalProp", "urlToMatch", "shouldPruneResponse", "urlMatchRegexp", "XPATH_MARKER", "isXpath", "getXPathElements", "contextNode", "matchedElements", "elementsToRemove", "xpathResult", "ex", "xPathPruning", "xPathElements", "isXML", "text", "trimmedText", "createXMLDocument", "xmlParser", "xmlDocument", "docXML", "pruneXML", "xmlDoc", "errorNode", "serializer", "allowedResponseTypeValues", "responseContent", "nativeFetch", "fetchWrapper", "clonedResponse", "prunedText", "m3uPrune$1", "SEGMENT_MARKER", "AD_MARKER", "COMCAST_AD_MARKER", "TAGS_ALLOWLIST", "isAllowedTag", "pruneExtinfFromVmapBlock", "lines", "prunedExtinf", "pruneVmapBlock", "pruneSpliceoutBlock", "removeM3ULineRegexp", "pruneInfBlock", "pruneSegments", "_lines$i", "segmentName", "isM3U", "regexp", "pruneM3U", "trustedSetCookie$1", "parsedOffsetMs", "expires", "trustedSetCookieReload$1", "cookieValueToCheck", "trustedReplaceFetchResponse$1", "shouldReplace", "bodyText", "modifiedTextContent", "fetchDataStr", "trustedSetLocalStorageItem$1", "trustedSetConstant$1", "injectCssInShadowDom$1", "cssRule", "stylesheet", "styleTag", "removeNodeText$1", "_parseNodeTextParams", "handleNodes", "ALL_TEXT_PATTERN", "REPLACEMENT", "trustedReplaceNodeText$1", "extraArgs", "evalDataPrune$1", "evalHandler", "trustedPruneInboundObject$1", "functionName", "_getPropertyInChain", "objectWrapper", "objectHandler", "trustedSetAttr$1", "spoofCSS$1", "cssPropertyName", "cssPropertyValue", "convertToCamelCase", "cssProperty", "splittedProperty", "firstPart", "secondPart", "shouldDebug", "propToValueMap", "arrayOfProperties", "isDebug", "spoofStyle", "realCssValue", "setRectValue", "rect", "getter", "receiver", "getComputedStyleWrapper", "style", "proxiedStyle", "CSSStyleProp", "getPropertyValueFunc", "cssName", "cssValue", "getComputedStyleHandler", "getBoundingClientRectWrapper", "top", "bottom", "height", "width", "newDOMRect", "getBoundingClientRectHandler", "callNoThrow$1", "trustedCreateElement$1", "parentSelector", "attributePairs", "cleanupDelayMs", "IFRAME_WINDOW_NAME", "logError", "attributes", "timerId", "findParentAndAppendEl", "parentElSelector", "removeElDelayMs", "parentEl", "hrefSanitizer$1", "regexpNotValidAtStart", "regexpNotValidAtEnd", "extractNewHref", "anchor", "getValidURL", "_URL", "href", "protocol", "isSanitizableAnchor", "sanitize", "elementSelector", "newHref", "newValidHref", "oldHref", "jsonPruneFetchResponse$1", "obligatoryProps", "nativeResponseClone", "fetchHandlerWrapper", "originalResponse", "json", "modifiedJson", "noProtectedAudience$1", "protectedAudienceMethods", "_Object$keys", "methodName", "prototype", "trustedSuppressNativeMethod$1", "methodPath", "signatureStr", "how", "IGNORE_ARG_SYMBOL", "suppress", "signatureMatcher", "getPathParts", "_getPathParts", "nativeMethod", "matchMethodCall", "nativeArguments", "matchArguments", "argument", "isMatchingSuspended", "apply", "argumentsList", "jsonPruneXhrResponse$1", "nativeParse", "setRequestHeader", "thisArgument", "argsList", "jsonContent", "AmazonApstag$1", "apstagWrapper", "DidomiLoader$1", "UserConsentStatusForVendorSubscribe", "UserConsentStatusForVendor", "DidomiWrapper", "didomiStateWrapper", "tcData", "__tcfapiWrapper", "command", "didomiEventListenersWrapper", "didomiOnReadyWrapper", "Fingerprintjs2$1", "browserId", "Fingerprint2", "Fingerprintjs3$1", "visitorId", "id", "FingerprintJS", "Gemius$1", "GemiusPlayer", "GoogleAnalytics$1", "_window$googleAnalyti", "Tracker", "proto", "googleAnalyticsName", "queue", "ga", "lastArg", "replacer", "push", "dataLayer", "google_optimize", "handleCallback", "dataObj", "googleOptimizeWrapper", "GoogleAnalyticsGa$1", "Gaq", "gaq", "asyncTrackers", "Gat", "api", "tracker", "gat", "GoogleIma3$1", "_window$google$ima", "VERSION", "ima", "AdDisplayContainer", "containerElement", "divElement", "ImaSdkSettings", "EventHandler", "listeners", "_Array$from", "types", "_this$listeners$get", "AdsManager", "currentAd", "_i2", "_arr", "AdEvent", "manager", "AdsManagerLoadedEvent", "adsRequest", "userRequestContext", "AdsLoader", "_this", "ADS_MANAGER_LOADED", "AdsRenderingSettings", "AdsRequest", "AdPodInfo", "UniversalAdIdInfo", "Ad", "CompanionAd", "AdError", "vast", "isEngadget", "_i3", "_Object$values", "_ctx$getPlayer", "_ctx$getPlayer$div", "ctx", "AdErrorEvent", "_this$error", "CustomContentLoadedEvent", "CompanionAdSelectionSettings", "AdCuePoints", "AdProgressData", "GoogleSyndicationAdsByGoogle$1", "adElems", "css", "statusAttrName", "ASWIFT_IFRAME_MARKER", "GOOGLE_ADS_IFRAME_MARKER", "executed", "adElemChildNodes", "childNodesQuantity", "areIframesDefined", "aswiftIframe", "innerAswiftIframe", "googleadsIframe", "innerGoogleadsIframe", "GoogleTagServicesGpt$1", "slots", "slotsById", "slotsPerPath", "slotCreatives", "eventCallbacks", "gTargeting", "addEventListener", "removeEventListener", "fireSlotEvent", "slot", "size", "callbacksSet", "callbackArray", "emptySlotElement", "recreateIframeForSlot", "_document$getElementB", "eid", "displaySlot", "parent", "companionAdsService", "contentService", "PassbackSlot", "SizeMappingBuilder", "getTargetingValue", "updateTargeting", "targeting", "map", "defineSlot", "adUnitPath", "creatives", "optDiv", "_document$getElementB2", "exclusions", "sizes", "clickUrl", "collapseEmptyDiv", "services", "k", "mapping", "u", "pubAdsService", "_window$googletag", "googletag", "_googletag$cmd", "cmd", "Matomo$1", "AsyncTracker", "matomoWrapper", "metrikaYandexTag$1", "asyncCallbackFromOptions", "addFileExtension", "extLink", "file", "getClientID", "hitFunc", "notBounce", "reachGoal", "setUserID", "userParams", "destruct", "ym", "metrikaYandexWatch$1", "cbName", "Metrika", "func", "NaverWcslog$1", "Pardot$1", "piTracker", "Prebid$1", "pushFunction", "pbjsWrapper", "ScoreCardResearchBeacon$1", "scriptletListRaw", "redirects$1", "JS_RULE_MARKER", "COMMENT_MARKER", "UBO_REDIRECT_PRIORITY_MARKER", "isComment", "UBO_SCRIPTLET_MASK_REG", "UBO_SCRIPTLET_MASK_1", "UBO_SCRIPTLET_MASK_2", "UBO_SCRIPTLET_EXCEPTION_MASK_1", "UBO_SCRIPTLET_EXCEPTION_MASK_2", "ABP_SCRIPTLET_MASK", "ABP_SCRIPTLET_EXCEPTION_MASK", "ADG_CSS_MASK_REG", "isAdgScriptletRule", "isUboScriptletRule", "isAbpSnippetRule", "getScriptletsObjList", "getScriptletByName", "scriptlets", "allScriptletsFns", "scriptletObjects", "isValidScriptletNameNotCached", "scriptletNameValidationCache", "isValidScriptletName", "ADG_UBO_REDIRECT_MARKER", "ADG_UBO_REDIRECT_RULE_MARKER", "ABP_REDIRECT_MARKER", "EMPTY_REDIRECT_MARKER", "VALID_SOURCE_TYPES", "ABSENT_SOURCE_TYPE_REPLACEMENT", "validAdgRedirects", "uboToAdgCompatibility", "abpToAdgCompatibility", "adgToUboCompatibility", "validAdgCompatibility", "RedirectRuleType", "REDIRECT_RULE_TYPES", "parseModifiers", "getRedirectName", "ruleModifiers", "marker", "redirectNamePart", "redirectName", "redirectPriorityIndex", "isAdgRedirectRule", "MARKER_IN_BASE_PART_MASK", "_REDIRECT_RULE_TYPES$", "redirectMarker", "redirectRuleMarker", "isRedirectRuleByType", "_REDIRECT_RULE_TYPES$2", "compatibility", "markerIndex", "isValidAdgRedirectRule", "isAdgRedirectCompatibleWithUbo", "isUboRedirectCompatibleWithAdg", "isAbpRedirectCompatibleWithAdg", "hasValidContentType", "sourceTypes", "isSourceTypeSpecified", "isEmptyRedirect", "validator", "_arrayWithHoles", "arr", "_iterableToArray", "iter", "_arrayLikeToArray", "arr2", "_unsupportedIterableToArray", "o", "minLen", "_nonIterableRest", "_toArray", "scriptletList", "ADGUARD_SCRIPTLET_MASK_REG", "ADGUARD_SCRIPTLET_TEMPLATE", "ADGUARD_SCRIPTLET_EXCEPTION_TEMPLATE", "UBO_SCRIPTLET_TEMPLATE", "UBO_SCRIPTLET_EXCEPTION_TEMPLATE", "UBO_ALIAS_NAME_MARKER", "UBO_SCRIPTLET_JS_ENDING", "UBO_XHR_TYPE", "ADG_XHR_TYPE", "ADG_SET_CONSTANT_NAME", "ADG_SET_CONSTANT_EMPTY_STRING", "ADG_SET_CONSTANT_EMPTY_ARRAY", "ADG_SET_CONSTANT_EMPTY_OBJECT", "UBO_SET_CONSTANT_EMPTY_STRING", "UBO_SET_CONSTANT_EMPTY_ARRAY", "UBO_SET_CONSTANT_EMPTY_OBJECT", "ADG_PREVENT_FETCH_NAME", "ADG_PREVENT_FETCH_EMPTY_STRING", "ADG_PREVENT_FETCH_WILDCARD", "UBO_NO_FETCH_IF_WILDCARD", "ESCAPED_COMMA_SEPARATOR", "SPOOF_CSS_METHOD", "REMOVE_ATTR_METHOD", "REMOVE_CLASS_METHOD", "SPOOF_CSS_ALIASES", "REMOVE_ATTR_ALIASES", "REMOVE_CLASS_ALIASES", "REMOVE_ATTR_CLASS_APPLYING", "ABP_RESOURCE_MARKER", "Origin", "originNames", "getAbpSnippetArguments", "sentences", "replacePlaceholders", "acc", "splitArgs", "prevArgStart", "validateRemoveAttrClassArgs", "parsedArgs", "_parsedArgs", "restArgs", "validArgs", "convertSpoofCssArgs", "_parsedArgs2", "convertedArgs", "convertUboScriptletToAdg", "matchResult", "mask", "template", "scriptletName", "possibleName", "_adgRule", "outputArg", "adgRule", "convertAbpSnippetToAdg", "SEMICOLON_DIVIDER", "isValidAdgScriptletRuleSyntax", "adgRuleText", "parsedRule", "OriginValidator", "Converter", "getRuleOrigin", "originName", "convertScriptletToAdg", "convertAdgScriptletToUbo", "_parseRule", "parsedName", "parsedParams", "uboRule", "preparedParams", "scriptletNames", "adgScriptletObject", "_scriptlet$names", "aliases", "uboAlias", "alias", "uboName", "_uboRule", "getAdgScriptletName", "buffer", "nameQuote", "isValidScriptletRule", "rulesArray", "getMarkerData", "modifiers", "redirectsData", "m", "convertUboRedirectToAdg", "firstPartOfRule", "uboModifiers", "uboMarkerData", "adgModifiers", "modifier", "adgName", "adgMarker", "convertAbpRedirectToAdg", "abpModifiers", "abpName", "convertRedirectToAdg", "convertAdgRedirectToUbo", "basePart", "adgMarkerData", "adgRedirectName", "sourceTypesData", "additionModifiers", "uboMarker", "uboRedirectName", "convertRedirectNameToAdg", "nameToCheck", "preventBab$1", "ATInternetSmartTag", "setNoopFuncWrapper", "sendNoopFuncWrapper", "ecommerceWrapper", "smartTagWrapper", "preventBab2", "script", "domainsRegex", "prebidAds", "redirectsList", "_typeof", "_toPrimitive", "hint", "prim", "_toPropertyKey", "_defineProperty", "getDefaultExportFromCjs", "x", "jsYaml$2", "loader$1", "common$6", "isNothing", "subject", "isObject", "toArray", "sequence", "extend", "sourceKeys", "repeat", "count", "cycle", "isNegativeZero", "number", "YAMLException$4", "reason", "mark", "compact", "exception", "common$5", "Mark$1", "position", "column", "indent", "maxLength", "head", "tail", "snippet", "where", "YAMLException$3", "TYPE_CONSTRUCTOR_OPTIONS", "YAML_NODE_KINDS", "compileStyleAliases", "Type$h", "common$4", "YAMLException$2", "Type$g", "compileList", "schema", "exclude", "includedSchema", "currentType", "previousType", "previousIndex", "compileMap", "collectType", "Schema$5", "definition", "schemas", "Type$f", "Type$e", "seq", "Type$d", "Schema$4", "failsafe", "Type$c", "resolveYamlNull", "constructYamlNull", "isNull", "_null", "Type$b", "resolveYamlBoolean", "constructYamlBoolean", "isBoolean", "bool", "common$3", "Type$a", "isHexCode", "isOctCode", "isDecCode", "resolveYamlInteger", "hasDigits", "ch", "constructYamlInteger", "sign", "digits", "isInteger", "int", "common$2", "Type$9", "YAML_FLOAT_PATTERN", "resolveYamlFloat", "constructYamlFloat", "SCIENTIFIC_WITHOUT_DOT", "representYamlFloat", "isFloat", "float", "Schema$3", "Schema$2", "core", "Type$8", "YAML_DATE_REGEXP", "YAML_TIMESTAMP_REGEXP", "resolveYamlTimestamp", "constructYamlTimestamp", "year", "month", "day", "hour", "minute", "second", "fraction", "delta", "tz_hour", "tz_minute", "date", "representYamlTimestamp", "timestamp", "Type$7", "resolveYamlMerge", "merge", "commonjsRequire", "NodeBuffer", "_require$1", "Type$6", "BASE64_MAP", "resolveYamlBinary", "idx", "bitlen", "constructYamlBinary", "tailbits", "bits", "representYamlBinary", "isBinary", "binary", "Type$5", "_hasOwnProperty$3", "_toString$2", "resolveYamlOmap", "objectKeys", "pairKey", "pairHasKey", "constructYamlOmap", "omap", "Type$4", "_toString$1", "resolveYamlPairs", "keys", "constructYamlPairs", "Type$3", "_hasOwnProperty$2", "resolveYamlSet", "constructYamlSet", "set", "Schema$1", "default_safe", "Type$2", "resolveJavascriptUndefined", "constructJavascriptUndefined", "representJavascriptUndefined", "isUndefined", "_undefined", "Type$1", "resolveJavascriptRegExp", "constructJavascriptRegExp", "representJavascriptRegExp", "isRegExp", "esprima", "_require", "Type", "resolveJavascriptFunction", "ast", "constructJavascriptFunction", "representJavascriptFunction", "isFunction", "_function", "Schema", "default_full", "common$1", "YAMLException$1", "Mark", "DEFAULT_SAFE_SCHEMA$1", "DEFAULT_FULL_SCHEMA$1", "_hasOwnProperty$1", "CONTEXT_FLOW_IN", "CONTEXT_FLOW_OUT", "CONTEXT_BLOCK_IN", "CONTEXT_BLOCK_OUT", "CHOMPING_CLIP", "CHOMPING_STRIP", "CHOMPING_KEEP", "PATTERN_NON_PRINTABLE", "PATTERN_NON_ASCII_LINE_BREAKS", "PATTERN_FLOW_INDICATORS", "PATTERN_TAG_HANDLE", "PATTERN_TAG_URI", "_class", "is_EOL", "is_WHITE_SPACE", "is_WS_OR_EOL", "is_FLOW_INDICATOR", "fromHexCode", "lc", "escapedHexLen", "fromDecimalCode", "simpleEscapeSequence", "charFromCodepoint", "simpleEscapeCheck", "simpleEscapeMap", "State$1", "generateError", "throwWarning", "directiveHandlers", "major", "minor", "handle", "captureSegment", "checkJson", "_position", "_length", "_character", "_result", "mergeMappings", "destination", "overridableKeys", "quantity", "storeMappingPair", "keyTag", "keyNode", "valueNode", "startLine", "startPos", "readLineBreak", "skipSeparationSpace", "allowComments", "checkIndent", "lineBreaks", "testDocumentSeparator", "writeFoldedLines", "readPlainScalar", "nodeIndent", "withinFlowCollection", "preceding", "following", "captureStart", "captureEnd", "hasPendingContent", "_line", "_lineStart", "_lineIndent", "_kind", "readSingleQuotedScalar", "readDoubleQuotedScalar", "hexLength", "hexResult", "tmp", "readFlowCollection", "readNext", "_tag", "_anchor", "terminator", "isPair", "isExplicitPair", "isMapping", "composeNode", "readBlockScalar", "folding", "chomping", "didReadContent", "detectedIndent", "textIndent", "emptyLines", "atMoreIndented", "readBlockSequence", "detected", "readBlockMapping", "flowIndent", "allowCompact", "_pos", "atExplicitKey", "readTagProperty", "isVerbatim", "isNamed", "tagHandle", "readAnchorProperty", "readAlias", "parentIndent", "nodeContext", "allowToSeek", "allowBlockStyles", "allowBlockScalars", "allowBlockCollections", "indentStatus", "atNewLine", "hasContent", "typeIndex", "typeQuantity", "blockIndent", "readDocument", "documentStart", "directiveName", "directiveArgs", "hasDirectives", "loadDocuments", "nullpos", "loadAll", "iterator", "documents", "load", "safeLoadAll", "safeLoad", "dumper$1", "common", "YAMLException", "DEFAULT_FULL_SCHEMA", "DEFAULT_SAFE_SCHEMA", "_toString", "_hasOwnProperty", "CHAR_TAB", "CHAR_LINE_FEED", "CHAR_CARRIAGE_RETURN", "CHAR_SPACE", "CHAR_EXCLAMATION", "CHAR_DOUBLE_QUOTE", "CHAR_SHARP", "CHAR_PERCENT", "CHAR_AMPERSAND", "CHAR_SINGLE_QUOTE", "CHAR_ASTERISK", "CHAR_COMMA", "CHAR_MINUS", "CHAR_COLON", "CHAR_EQUALS", "CHAR_GREATER_THAN", "CHAR_QUESTION", "CHAR_COMMERCIAL_AT", "CHAR_LEFT_SQUARE_BRACKET", "CHAR_RIGHT_SQUARE_BRACKET", "CHAR_GRAVE_ACCENT", "CHAR_LEFT_CURLY_BRACKET", "CHAR_VERTICAL_LINE", "CHAR_RIGHT_CURLY_BRACKET", "ESCAPE_SEQUENCES", "DEPRECATED_BOOLEANS_SYNTAX", "compileStyleMap", "encodeHex", "character", "State", "indentString", "spaces", "ind", "generateNextLine", "level", "testImplicitResolving", "isWhitespace", "isPrintable", "isNsChar", "isPlainSafe", "prev", "isPlainSafeFirst", "needIndentIndicator", "leadingSpaceRe", "STYLE_PLAIN", "STYLE_SINGLE", "STYLE_LITERAL", "STYLE_FOLDED", "STYLE_DOUBLE", "chooseScalarStyle", "singleLineOnly", "indentPerLevel", "lineWidth", "testAmbiguousType", "prev_char", "hasLineBreak", "hasFoldableLine", "shouldTrackWidth", "previousLineBreak", "plain", "writeScalar", "iskey", "testAmbiguity", "blockHeader", "dropEndingNewline", "foldString", "escapeString", "indentIndicator", "clip", "keep", "chomp", "lineRe", "nextLF", "foldLine", "prevMoreIndented", "moreIndented", "breakRe", "curr", "nextChar", "escapeSeq", "writeFlowSequence", "writeNode", "writeBlockSequence", "writeFlowMapping", "objectKeyList", "objectKey", "objectValue", "pairBuffer", "writeBlockMapping", "explicitPair", "detectType", "explicit", "typeList", "block", "objectOrArray", "duplicateIndex", "duplicate", "arrayLevel", "getDuplicateReferences", "objects", "duplicatesIndexes", "inspectNode", "dump", "safeDump", "loader", "dumper", "deprecated", "yaml", "jsYaml", "jsYaml$1", "ownKeys", "enumerableOnly", "symbols", "sym", "_objectSpread", "Redirects", "rawYaml", "arrOfRedirects", "title", "values", "redirectsMap", "getRedirectByName", "redirects", "getRedirectCode", "getRedirectFilename", "AmazonApstag", "updatedArgs", "DidomiLoader", "Fingerprintjs2", "Fingerprintjs3", "Gemius", "GoogleAnalytics", "GoogleAnalyticsGa", "GoogleIma3", "GoogleSyndicationAdsByGoogle", "GoogleTagServicesGpt", "Matomo", "NaverWcslog", "Pardot", "Prebid", "ScoreCardResearchBeacon", "abortCurrentInlineScript", "abortOnPropertyRead", "abortOnPropertyWrite", "abortOnStackTrace", "adjustSetInterval", "adjustSetTimeout", "callNoThrow", "debugCurrentInlineScript", "debugOnPropertyRead", "debugOnPropertyWrite", "dirString", "disableNewtabLinks", "evalDataPrune", "forceWindowClose", "hideInShadowDom", "hrefSanitizer", "injectCssInShadowDom", "jsonPrune", "jsonPruneFetchResponse", "jsonPruneXhrResponse", "logAddEventListener", "logEval", "logOnStacktrace", "m3uPrune", "metrikaYandexTag", "metrikaYandexWatch", "noProtectedAudience", "noTopics", "noeval", "nowebrtc", "preventAddEventListener", "preventAdfly", "preventBab", "preventElementSrcLoading", "preventEvalIf", "preventFab", "preventFetch", "preventPopadsNet", "preventRefresh", "preventRequestAnimationFrame", "preventSetInterval", "preventSetTimeout", "preventWindowOpen", "preventXHR", "removeAttr", "removeClass", "removeCookie", "removeInShadowDom", "removeNodeText", "setAttr", "setConstant", "setCookie", "setCookieReload", "setLocalStorageItem", "setPopadsDummy", "setSessionStorageItem", "spoofCSS", "trustedClickElement", "trustedCreateElement", "trustedPruneInboundObject", "trustedReplaceFetchResponse", "trustedReplaceNodeText", "trustedReplaceXhrResponse", "trustedSetAttr", "trustedSetConstant", "trustedSetCookie", "trustedSetCookieReload", "trustedSetLocalStorageItem", "trustedSuppressNativeMethod", "xmlPrune", "scriptletsMap", "getScriptletFunction", "getScriptletCode", "scriptletFunction", "scriptletFunctionString", "scriptletsObject", "CosmeticRuleMarker", "findCosmeticRuleMarker", "maxIndex", "isExtCssMarker", "EXTENDED_CSS_MARKERS", "splitUrl", "strippedUrl", "hashIndex", "query", "queryIndex", "normalizeQuery", "cleanUrlParamByRegExp", "regExp", "invert", "searchIndex", "split", "modifiedQuery", "test", "DOMAIN_REGEX", "isDomainName", "getRelativeUrl", "specialCharacters", "reSpecialCharacters", "reSpecialCharactersFull", "reEscapedSpecialCharactersFull", "escapeSequence", "SimpleRegex", "longest", "parts_1", "part", "reText", "specialCharacter", "regex", "searchPattern", "group", "_a", "_b", "SpecialModifiers", "isSpecialModifierToken", "modifiersPatterns", "parsePlainValue", "modifierValue", "modifierEndIndex", "isUnescapedChar", "parseRegexpValue", "currentPhase", "nextPhase", "modifierValueParsers", "tokenize", "preprocessedTokens", "unescape", "nestedProcessedTokens", "tokenValue", "makeToken", "isEscaped", "processedTokens", "currentVal", "makeWords", "parseSpecialModifier", "modifierName", "modifierValueStartIndex", "valueType", "parser", "nextIndex", "splitBySpecialModifierTokens", "tokenType", "charsStr", "lastCommaIndex", "parseOptionsString", "CosmeticRuleModifiers", "CosmeticRuleModifiersSyntax", "cosmeticRuleModifiersList", "CosmeticRuleParser", "rulePattern", "OpenBracket", "CloseBracket", "SpecialSymbol", "EscapeCharacter", "closeBracketIndex", "modifiersText", "domainsText", "Assigner", "modifiersTextArray", "modifierText", "assignerIndex", "modifierKey", "domainModifier", "Pattern", "matchcase", "shortcutMatched", "pathIsEmptyString", "regexText", "ScriptletParser", "initState", "ruleContent", "class_1", "CosmeticRuleType", "EXT_CSS_PSEUDO_INDICATORS", "CosmeticRule", "filterListId", "beginIndex", "nameStartIndex", "squareBracketIndex", "squareEndBracketIndex", "nameEndIndex", "_c", "debug", "frameUrl", "scriptData", "pseudoClass", "isExtCss", "scriptletContent", "scriptletParams", "CosmeticStylesResult", "CosmeticScriptsResult", "CosmeticHtmlResult", "CosmeticResult", "CosmeticOption", "ScannerType", "CosmeticEngine", "ruleStorage", "skipStorageScan", "scanner", "indexedRule", "option", "targetOption", "includeGeneric", "includeSpecific", "includeJs", "includeHtml", "cosmeticResult", "lookupTable", "genericRule", "hostnameRules", "hostnameRules_1", "ReplaceModifier", "parsed", "CspModifier", "isAllowlist", "cspDirective", "CookieModifier", "nameValue", "optionName", "optionValue", "NETWORK_RULE_OPTIONS", "OPTIONS_DELIMITER", "MASK_ALLOWLIST", "NOT_MARK", "ESCAPE_CHARACTER", "RedirectModifier", "isRedirectingOnlyBlocked", "redirectTitle", "ruleTextToValidate", "RemoveParamModifier", "sepIndex", "RemoveHeaderModifier", "isRequestHeaders", "ErrorStatusCodes", "SEPARATOR", "AppModifier", "apps", "permittedApps", "restrictedApps", "app", "HTTPMethod", "MethodModifier", "methodsStr", "permittedMethods", "restrictedMethods", "ToModifier", "toErrorWithMessage", "maybeError", "RequestType", "isCidr$1", "cidrRegex$1", "word$1", "v4$2", "v6seg", "v6$2", "v46Exact$1", "v4exact$3", "v6exact$3", "ip", "ipRegex$3", "ipRegex$2", "defaultOpts$1", "v4str$1", "v6str$1", "v4exact$2", "v6exact$2", "v46exact$1", "exact", "v4$1", "v6$1", "re4", "re6", "ipRegex$1", "isIp", "isIp_1", "boundry", "v4", "v6segment", "v6", "v46Exact", "v4exact$1", "v6exact$1", "ipRegex", "defaultOpts", "v4str", "v6str", "v4exact", "v6exact", "v46exact", "cidrRegex", "parseIp", "ipVersion", "exp", "scopeid", "uniq", "isIP", "isCidr", "parse", "cidrVersion", "numBits", "ipBits", "prefixLen", "startBits", "netContains", "contains", "aNets", "bNets", "numExpected", "numFound", "aParsed", "bParsed", "BaseValuesModifier", "permittedValues", "restrictedValues", "NetmasksCollection", "ClientModifier", "_super", "permitted", "clientName", "clientIP", "DnsRewriteModifier", "DnsTypeModifier", "CtagModifier", "tags", "getBitCount", "countEnabledBits", "NetworkRuleOption", "NetworkRuleGroupOptions", "BasicRuleParts", "NetworkRule", "ruleParts", "hasCookieModifier", "hasRemoveParamModifier", "isDnsCompatible", "useShortcut", "isDocumentType", "hasOnlyExcludedDomains", "patternIsRegex", "patternIsDomainSpecific", "matchesTargetByPatternCondition", "isPermittedDomain", "isRestrictedDomain", "clientTags", "advancedModifier", "cTagsModifier", "dnstype", "requestType", "optionParts", "valueIndex", "specifiedRule", "enabled", "skipRestrictions", "OPTIONS", "modifierView", "numberOfPermittedRequestTypes", "relativeWeight", "removeParamIndex", "endIndex", "foundEscaped", "MatchingResult", "sourceRule", "genericAllowed", "basicAllowed", "rules_1", "basic", "isReplaceOrContent", "redirectRule", "basicRule", "documentRule", "allowlistPredicate", "blockingRules", "allowlistRules", "rules_2", "allowlistRuleWithEmptyOption_1", "allowlistRule", "result_1", "blockRule", "allowlistingRule", "allowlistedRulesByDirective", "rulesByDirective", "conditionalRedirectRules", "allWeatherRedirectRules", "redirectModifier", "allowlistRuleCookieModifier", "ruleCookieModifier", "filtered", "currentRule", "newRule", "badfilterRules", "rules_3", "isRuleNegated", "badfilter", "TrieNode", "current", "children", "oldNode", "TrieLookupTable", "shortcut", "DomainsLookupTable", "HostnameLookupTable", "SeqScanLookupTable", "NetworkEngine", "networkRules", "HostRule", "commentIndex", "stripped", "Request$1", "Request", "sourceUrl", "sourceTldResult", "compacted", "subdomainsResult", "incrementDomain", "DnsResult", "DnsEngine", "networkRule", "lru", "h", "Engine", "chunkSize", "counter", "frameRule", "cacheKey", "sourceRequest", "sourceRules", "LIST_ID_MAX_VALUE", "IndexedRule", "IndexedStorageRule", "RuleStorageScanner", "scanners", "listId", "ruleIdx", "setLogger", "loggerImpl", "RuleFactory", "ignoreNetwork", "ignoreCosmetic", "ignoreHost", "silent", "hostRule", "msg", "ListCache", "RuleStorage", "lists", "list", "scannerType", "listCache", "StringLineReader", "RuleScanner", "reader", "configuration", "lineIndex", "StringRuleList", "ignoreJS", "ignoreUnsafe", "endOfLine", "BufferLineReader", "lineBytes", "BufferRuleList", "rulesText", "encoder", "lineBuffer", "RuleConverter", "lines_1", "rawRule", "comment", "converted", "removeHeaderRule", "domainAndOptions", "optionsParts", "ruleWithConvertedOptions", "scriptletRules", "adgRedirectRule", "convertedRuleText", "attributeStrings", "globalAttributeRegExp", "attrStr", "domainPart", "NAME_VALUE_SPLITTER", "areOptionsConverted", "updatedOptionsParts", "optionsPart", "convertedOptionsPart", "cspParts", "allButCsp", "cspValues", "cspPart", "updatedCspOption", "updatedOptions", "ruleMark", "groups", "BEFORE", "AFTER", "SINGLE_COLON", "modifiedRule", "resultMask", "resultRule", "isExtendedCss", "expressionStartIndex", "matchesPathStartIndex", "reversedMatchesPathStartIndex", "isReversed", "pathStartIndex", "matchPathOperatorCloseBracketIndex", "openBracketCounter", "closeBracketCounter", "expressionMiddle", "expressionTail", "isRegex", "resultOptions", "optionNameRaw", "isNegated", "convertedOptionName", "negationPrefix", "optionsDelimiterIdx", "inRegExp", "RuleValidator", "valid", "RuleSyntaxUtils", "setConfiguration", "Engine", "RuleStorage", "StringRuleList", "Request", "start", "easylist", "list", "ruleStorage", "engine"] +} diff --git a/public/sw.js b/public/sw.js index a0c9ed5..61b3665 100644 --- a/public/sw.js +++ b/public/sw.js @@ -5,19 +5,16 @@ importScripts("/uv/uv.bundle.js"); importScripts("/uv.config.js"); importScripts(__uv$config.sw); importScripts("./workerware/workerware.js"); +importScripts("./marketplace/adblock/index.js") const ww = new WorkerWare({ debug: true, }); -function logContext(event) { - console.log("Event:", event); - return undefined; -} - ww.use({ - function: logContext, + function: self.adblockExt.filterRequest, events: ["fetch"], + name: "Adblock" }); const uv = new UVServiceWorker(); @@ -25,7 +22,6 @@ const uv = new UVServiceWorker(); self.addEventListener("fetch", async (event) => { let mwResponse = await ww.run(event)(); if (mwResponse.includes(null)) { - console.log("Aborting Request!"); return; } event.respondWith(