From b31451d663f4f23adc6e6c327c5d64d58a84c111 Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Mon, 14 Sep 2026 14:49:28 -0700 Subject: [PATCH] =?UTF-8?q?release:=20in=C3=98sight=203.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content.js | 49 +++++++++++++++++++++++++---------- dist/chrome/content.js | 8 +++--- dist/chrome/index.html | 4 +-- dist/chrome/manifest.json | 2 +- dist/firefox/content.js | 8 +++--- dist/firefox/index.html | 4 +-- dist/firefox/manifest.json | 2 +- dist/inzerosight-chrome.zip | Bin 166302 -> 166446 bytes dist/inzerosight-firefox.zip | Bin 166407 -> 166551 bytes dist/web/index.html | 4 +-- index.html | 4 +-- package.json | 2 +- vite.config.js | 2 +- 13 files changed, 55 insertions(+), 34 deletions(-) diff --git a/content.js b/content.js index 08d69cb..63f692b 100644 --- a/content.js +++ b/content.js @@ -69,7 +69,7 @@ function initShadow() { (document.body || document.documentElement).appendChild(host); } -function createOverlay(node, parsed, start, end) { +function createOverlay(node, parsed, start, endNode, end) { for (const e of active) if (e.node === node && e.start === start) return; initShadow(); const wrap = document.createElement('div'); @@ -91,7 +91,7 @@ function createOverlay(node, parsed, start, end) { wrap.appendChild(arrow); shadow.appendChild(wrap); - const entry = { wrap, node, start, end }; + const entry = { wrap, node, start, endNode, end }; active.add(entry); btn.onclick = () => onAction(entry, parsed); @@ -99,8 +99,8 @@ function createOverlay(node, parsed, start, end) { } function updatePos(entry) { - const { wrap, node, start, end } = entry; - if (!node.isConnected) { + const { wrap, node, start, endNode, end } = entry; + if (!node.isConnected || !endNode.isConnected) { wrap.remove(); active.delete(entry); return; @@ -114,7 +114,7 @@ function updatePos(entry) { const r = document.createRange(); try { r.setStart(node, start); - r.setEnd(node, Math.min(end, node.nodeValue.length)); + r.setEnd(endNode, Math.min(end, endNode.nodeValue.length)); } catch { wrap.remove(); active.delete(entry); @@ -155,8 +155,11 @@ function updatePos(entry) { } function onAction(entry, parsed) { - const { wrap, node, start, end } = entry; - const rawPayload = node.nodeValue.slice(start + parsed.sigLen, end); + const { wrap, node, start, endNode, end } = entry; + const r = document.createRange(); + r.setStart(node, start); + r.setEnd(endNode, end); + const rawPayload = r.toString().slice(parsed.sigLen); let decoded = ''; if (parsed.cipher === 'PLAIN') { @@ -184,9 +187,6 @@ function onAction(entry, parsed) { } if (decoded) { - const r = document.createRange(); - r.setStart(node, start); - r.setEnd(node, end); r.deleteContents(); const span = document.createElement('span'); span.className = 'inzerosight-decoded'; @@ -199,6 +199,27 @@ function onAction(entry, parsed) { } } +function getPayloadRange(node, base, start) { + let endNode = node; + let end = getPayloadEnd(node.nodeValue, base, start); + + // Gmail inserts elements into long zero-width runs, splitting one payload across text nodes. + while (end === endNode.nodeValue.length) { + let next = endNode.nextSibling; + let hasWbr = false; + while (next?.nodeType === Node.ELEMENT_NODE && next.tagName === 'WBR') { + hasWbr = true; + next = next.nextSibling; + } + if (!hasWbr || next?.nodeType !== Node.TEXT_NODE) break; + const nextEnd = getPayloadEnd(next.nodeValue, base, 0); + if (!nextEnd) break; + endNode = next; + end = nextEnd; + } + return { endNode, end }; +} + function scanNode(node) { if (!node || node.nodeType !== Node.TEXT_NODE) return; const val = node.nodeValue; @@ -210,9 +231,9 @@ function scanNode(node) { const p = parseSig(sub); if (!p) break; const start = idx + p.sigIdx; - const end = getPayloadEnd(val, p.base, start + p.sigLen); - createOverlay(node, p, start, end); - idx = end + 1; + const { endNode, end } = getPayloadRange(node, p.base, start + p.sigLen); + createOverlay(node, p, start, endNode, end); + idx = endNode === node ? end + 1 : val.length; } } @@ -239,7 +260,7 @@ function scheduleUpdate() { const obs = new MutationObserver(muts => { for (const e of [...active]) { - if (!e.node.isConnected || !e.node.nodeValue?.includes(SIG_PREFIX)) { + if (!e.node.isConnected || !e.node.nodeValue?.startsWith(SIG_PREFIX, e.start)) { e.wrap.remove(); active.delete(e); } diff --git a/dist/chrome/content.js b/dist/chrome/content.js index 096fbc0..843b15b 100644 --- a/dist/chrome/content.js +++ b/dist/chrome/content.js @@ -1,6 +1,6 @@ -(function(){"use strict";const I={3:{unifier:"­",0:"᠎",1:"​",2:"‍"},6:{unifier:"‌",0:"‍",1:"‏",2:"­",3:"⁠",4:"​",5:"‎"},8:{unifier:"‌",0:"‍",1:"‏",2:"­",3:"⁠",4:"​",5:"‎",6:"᠎",7:"\uFEFF"},encodeString:(s,e=3)=>Array.from(s,a=>a.codePointAt(0).toString(e).split("").map(d=>I[e][d]).join("")).join(I[e].unifier),encodeNumberArray:(s,e=3)=>s.map(a=>a.toString(e).split("").map(d=>I[e][d]).join("")).join(I[e].unifier),decodeToString:(s,e=3)=>s.split(I[e].unifier).map(a=>String.fromCodePoint(parseInt(Array.from(a).map(d=>Object.keys(I[e]).find(p=>I[e][p]===d)).join(""),e))).join(""),decodeToNumberArray:(s,e=3)=>s.split(I[e].unifier).map(a=>parseInt(Array.from(a).map(d=>Object.keys(I[e]).find(p=>I[e][p]===d)).join(""),e))};function Y(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var U,H;function J(){if(H)return U;H=1;function s(e={}){const a=e.bits||16,d=e.rounds||22,p=e.rightRotations||7,b=e.leftRotations||2,c=2**a,r=c-1,i=(l,n)=>l>>n|l<l<>a-n,w=(l,n,t)=>(l=i(l,p),l=l+n&r,l^=t,n=h(n,b),n^=l,[l,n]),k=(l,n,t)=>(n^=l,n=i(n,b),l^=t,l=l-n&r,l=h(l,p),[l,n]);function E(l,n){let t=l[0],u=l[1],o=n[0],g=n.slice(1);[u,t]=w(u,t,o);for(let m=0;m{const u=l([n/c|0,n&r],t);return u[0]*c+u[1]}}return{encrypt:f(E),decrypt:f(A),encryptRaw:E,decryptRaw:A}}return U=s,U}var Q=J();const L=Y(Q);var D,z;function M(){if(z)return D;z=1;const s="Input must be an string, Buffer or Uint8Array";function e(c){let r;if(c instanceof Uint8Array)r=c;else if(typeof c=="string")r=new TextEncoder().encode(c);else throw new Error(s);return r}function a(c){return Array.prototype.map.call(c,function(r){return(r<16?"0":"")+r.toString(16)}).join("")}function d(c){return(4294967296+c).toString(16).substring(1)}function p(c,r,i){let h=` -`+c+" = ";for(let w=0;w=4294967296&&m++,t[u]=g,t[u+1]=m}function a(t,u,o,g){let m=t[u]+o;o<0&&(m+=4294967296);let y=t[u+1]+g;m>=4294967296&&y++,t[u]=m,t[u+1]=y}function d(t,u){return t[u]^t[u+1]<<8^t[u+2]<<16^t[u+3]<<24}function p(t,u,o,g,m,y){const pe=h[m],be=h[m+1],he=h[y],ge=h[y+1];e(i,t,u),a(i,t,pe,be);let C=i[g]^i[t],S=i[g+1]^i[t+1];i[g]=S,i[g+1]=C,e(i,o,g),C=i[u]^i[o],S=i[u+1]^i[o+1],i[u]=C>>>24^S<<8,i[u+1]=S>>>24^C<<8,e(i,t,u),a(i,t,he,ge),C=i[g]^i[t],S=i[g+1]^i[t+1],i[g]=C>>>16^S<<16,i[g+1]=S>>>16^C<<16,e(i,o,g),C=i[u]^i[o],S=i[u+1]^i[o+1],i[u]=S>>>31^C<<1,i[u+1]=C>>>31^S<<1}const b=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),c=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],r=new Uint8Array(c.map(function(t){return t*2})),i=new Uint32Array(32),h=new Uint32Array(32);function w(t,u){let o=0;for(o=0;o<16;o++)i[o]=t.h[o],i[o+16]=b[o];for(i[24]=i[24]^t.t,i[25]=i[25]^t.t/4294967296,u&&(i[28]=~i[28],i[29]=~i[29]),o=0;o<32;o++)h[o]=d(t.b,4*o);for(o=0;o<12;o++)p(0,8,16,24,r[o*16+0],r[o*16+1]),p(2,10,18,26,r[o*16+2],r[o*16+3]),p(4,12,20,28,r[o*16+4],r[o*16+5]),p(6,14,22,30,r[o*16+6],r[o*16+7]),p(0,10,20,30,r[o*16+8],r[o*16+9]),p(2,12,22,24,r[o*16+10],r[o*16+11]),p(4,14,16,26,r[o*16+12],r[o*16+13]),p(6,8,18,28,r[o*16+14],r[o*16+15]);for(o=0;o<16;o++)t.h[o]=t.h[o]^i[o]^i[o+16]}const k=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function E(t,u,o,g){if(t===0||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(u&&u.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(o&&o.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(g&&g.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const m={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};k.fill(0),k[0]=t,u&&(k[1]=u.length),k[2]=1,k[3]=1,o&&k.set(o,32),g&&k.set(g,48);for(let y=0;y<16;y++)m.h[y]=b[y]^d(k,y*4);return u&&(A(m,u),m.c=128),m}function A(t,u){for(let o=0;o>2]>>8*(o&3);return u}function l(t,u,o,g,m){o=o||64,t=s.normalizeInput(t),g&&(g=s.normalizeInput(g)),m&&(m=s.normalizeInput(m));const y=E(o,u,g,m);return A(y,t),f(y)}function n(t,u,o,g,m){const y=l(t,u,o,g,m);return s.toHex(y)}return B={blake2b:l,blake2bHex:n,blake2bInit:E,blake2bUpdate:A,blake2bFinal:f},B}var N,q;function ee(){if(q)return N;q=1;const s=M();function e(f,l){return f[l]^f[l+1]<<8^f[l+2]<<16^f[l+3]<<24}function a(f,l,n,t,u,o){c[f]=c[f]+c[l]+u,c[t]=d(c[t]^c[f],16),c[n]=c[n]+c[t],c[l]=d(c[l]^c[n],12),c[f]=c[f]+c[l]+o,c[t]=d(c[t]^c[f],8),c[n]=c[n]+c[t],c[l]=d(c[l]^c[n],7)}function d(f,l){return f>>>l^f<<32-l}const p=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),b=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),c=new Uint32Array(16),r=new Uint32Array(16);function i(f,l){let n=0;for(n=0;n<8;n++)c[n]=f.h[n],c[n+8]=p[n];for(c[12]^=f.t,c[13]^=f.t/4294967296,l&&(c[14]=~c[14]),n=0;n<16;n++)r[n]=e(f.b,4*n);for(n=0;n<10;n++)a(0,4,8,12,r[b[n*16+0]],r[b[n*16+1]]),a(1,5,9,13,r[b[n*16+2]],r[b[n*16+3]]),a(2,6,10,14,r[b[n*16+4]],r[b[n*16+5]]),a(3,7,11,15,r[b[n*16+6]],r[b[n*16+7]]),a(0,5,10,15,r[b[n*16+8]],r[b[n*16+9]]),a(1,6,11,12,r[b[n*16+10]],r[b[n*16+11]]),a(2,7,8,13,r[b[n*16+12]],r[b[n*16+13]]),a(3,4,9,14,r[b[n*16+14]],r[b[n*16+15]]);for(n=0;n<8;n++)f.h[n]^=c[n]^c[n+8]}function h(f,l){if(!(f>0&&f<=32))throw new Error("Incorrect output length, should be in [1, 32]");const n=l?l.length:0;if(l&&!(n>0&&n<=32))throw new Error("Incorrect key length, should be in [1, 32]");const t={h:new Uint32Array(p),b:new Uint8Array(64),c:0,t:0,outlen:f};return t.h[0]^=16842752^n<<8^f,n>0&&(w(t,l),t.c=64),t}function w(f,l){for(let n=0;n>2]>>8*(n&3)&255;return l}function E(f,l,n){n=n||32,f=s.normalizeInput(f);const t=h(n,l);return w(t,f),k(t)}function A(f,l,n){const t=E(f,l,n);return s.toHex(t)}return N={blake2s:E,blake2sHex:A,blake2sInit:h,blake2sUpdate:w,blake2sFinal:k},N}var v,V;function te(){if(V)return v;V=1;const s=Z(),e=ee();return v={blake2b:s.blake2b,blake2bHex:s.blake2bHex,blake2bInit:s.blake2bInit,blake2bUpdate:s.blake2bUpdate,blake2bFinal:s.blake2bFinal,blake2s:e.blake2s,blake2sHex:e.blake2sHex,blake2sInit:e.blake2sInit,blake2sUpdate:e.blake2sUpdate,blake2sFinal:e.blake2sFinal},v}var K=te();const ne=L({bits:24,rounds:23,rightRotations:8,leftRotations:3});function re(s){const e=K.blake2bHex(s,null,12);return[parseInt(e.slice(0,6),16),parseInt(e.slice(6,12),16),parseInt(e.slice(12,18),16),parseInt(e.slice(18,24),16)]}function oe(s,e){if(!s||s.length===0)return"";const a=s[0];return s.slice(1).map((p,b)=>{const c=a*16777216+(b&16777215),r=ne.encrypt(c,e),i=(p^r)>>>0;try{return String.fromCodePoint(i)}catch{return""}}).join("")}const ie=L();function se(s){const e=K.blake2bHex(s,null,8);return[parseInt(e.slice(0,4),16),parseInt(e.slice(4,8),16),parseInt(e.slice(8,12),16),parseInt(e.slice(12,16),16)]}function ce(s,e){return s.map(a=>{try{return String.fromCodePoint(ie.decrypt(a,e))}catch{return""}}).join("")}const _="‍​­",x={3:"‍​­᠎‍",6:"‍​­‌‍",8:"‍​­‌‌"},X={1:"SPECK48_96CTR",2:"SPECK32_64ECB (insecure)"};Object.fromEntries(Object.entries(X).map(([s,e])=>[e,+s]));function le(s){if(!s.includes(_))return null;const e=Object.keys(x).find(b=>s.includes(x[b]));if(!e)return null;const a=s.indexOf(x[e]),d=s.slice(a+x[e].length),p=I[e].unifier+I[e][0];if(d.startsWith(p)){const c=Array.from(d.slice(p.length,p.length+3)).map(w=>Object.keys(I[e]).find(k=>I[e][k]===w)).join(""),r=X[parseInt(c,e)],i=d.slice(p.length+3),h=x[e].length+p.length+3;return{base:e,cipher:r,payload:i,sigIdx:a,sigLen:h}}return{base:e,cipher:"PLAIN",payload:d,sigIdx:a,sigLen:x[e].length}}function ae(s,e,a){const d=new Set(Object.values(I[e]));let p=a;for(;pArray.from(s,a=>a.codePointAt(0).toString(e).split("").map(p=>I[e][p]).join("")).join(I[e].unifier),encodeNumberArray:(s,e=3)=>s.map(a=>a.toString(e).split("").map(p=>I[e][p]).join("")).join(I[e].unifier),decodeToString:(s,e=3)=>s.split(I[e].unifier).map(a=>String.fromCodePoint(parseInt(Array.from(a).map(p=>Object.keys(I[e]).find(b=>I[e][b]===p)).join(""),e))).join(""),decodeToNumberArray:(s,e=3)=>s.split(I[e].unifier).map(a=>parseInt(Array.from(a).map(p=>Object.keys(I[e]).find(b=>I[e][b]===p)).join(""),e))};function J(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var N,H;function Q(){if(H)return N;H=1;function s(e={}){const a=e.bits||16,p=e.rounds||22,b=e.rightRotations||7,d=e.leftRotations||2,l=2**a,o=l-1,i=(c,n)=>c>>n|c<c<>a-n,g=(c,n,t)=>(c=i(c,b),c=c+n&o,c^=t,n=h(n,d),n^=c,[c,n]),y=(c,n,t)=>(n^=c,n=i(n,d),c^=t,c=c-n&o,c=h(c,b),[c,n]);function E(c,n){let t=c[0],u=c[1],r=n[0],m=n.slice(1);[u,t]=g(u,t,r);for(let w=0;w{const u=c([n/l|0,n&o],t);return u[0]*l+u[1]}}return{encrypt:f(E),decrypt:f(A),encryptRaw:E,decryptRaw:A}}return N=s,N}var Z=Q();const L=J(Z);var D,M;function z(){if(M)return D;M=1;const s="Input must be an string, Buffer or Uint8Array";function e(l){let o;if(l instanceof Uint8Array)o=l;else if(typeof l=="string")o=new TextEncoder().encode(l);else throw new Error(s);return o}function a(l){return Array.prototype.map.call(l,function(o){return(o<16?"0":"")+o.toString(16)}).join("")}function p(l){return(4294967296+l).toString(16).substring(1)}function b(l,o,i){let h=` +`+l+" = ";for(let g=0;g=4294967296&&w++,t[u]=m,t[u+1]=w}function a(t,u,r,m){let w=t[u]+r;r<0&&(w+=4294967296);let k=t[u+1]+m;w>=4294967296&&k++,t[u]=w,t[u+1]=k}function p(t,u){return t[u]^t[u+1]<<8^t[u+2]<<16^t[u+3]<<24}function b(t,u,r,m,w,k){const be=h[w],he=h[w+1],ge=h[k],me=h[k+1];e(i,t,u),a(i,t,be,he);let S=i[m]^i[t],T=i[m+1]^i[t+1];i[m]=T,i[m+1]=S,e(i,r,m),S=i[u]^i[r],T=i[u+1]^i[r+1],i[u]=S>>>24^T<<8,i[u+1]=T>>>24^S<<8,e(i,t,u),a(i,t,ge,me),S=i[m]^i[t],T=i[m+1]^i[t+1],i[m]=S>>>16^T<<16,i[m+1]=T>>>16^S<<16,e(i,r,m),S=i[u]^i[r],T=i[u+1]^i[r+1],i[u]=T>>>31^S<<1,i[u+1]=S>>>31^T<<1}const d=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),l=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],o=new Uint8Array(l.map(function(t){return t*2})),i=new Uint32Array(32),h=new Uint32Array(32);function g(t,u){let r=0;for(r=0;r<16;r++)i[r]=t.h[r],i[r+16]=d[r];for(i[24]=i[24]^t.t,i[25]=i[25]^t.t/4294967296,u&&(i[28]=~i[28],i[29]=~i[29]),r=0;r<32;r++)h[r]=p(t.b,4*r);for(r=0;r<12;r++)b(0,8,16,24,o[r*16+0],o[r*16+1]),b(2,10,18,26,o[r*16+2],o[r*16+3]),b(4,12,20,28,o[r*16+4],o[r*16+5]),b(6,14,22,30,o[r*16+6],o[r*16+7]),b(0,10,20,30,o[r*16+8],o[r*16+9]),b(2,12,22,24,o[r*16+10],o[r*16+11]),b(4,14,16,26,o[r*16+12],o[r*16+13]),b(6,8,18,28,o[r*16+14],o[r*16+15]);for(r=0;r<16;r++)t.h[r]=t.h[r]^i[r]^i[r+16]}const y=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function E(t,u,r,m){if(t===0||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(u&&u.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(r&&r.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(m&&m.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const w={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};y.fill(0),y[0]=t,u&&(y[1]=u.length),y[2]=1,y[3]=1,r&&y.set(r,32),m&&y.set(m,48);for(let k=0;k<16;k++)w.h[k]=d[k]^p(y,k*4);return u&&(A(w,u),w.c=128),w}function A(t,u){for(let r=0;r>2]>>8*(r&3);return u}function c(t,u,r,m,w){r=r||64,t=s.normalizeInput(t),m&&(m=s.normalizeInput(m)),w&&(w=s.normalizeInput(w));const k=E(r,u,m,w);return A(k,t),f(k)}function n(t,u,r,m,w){const k=c(t,u,r,m,w);return s.toHex(k)}return U={blake2b:c,blake2bHex:n,blake2bInit:E,blake2bUpdate:A,blake2bFinal:f},U}var B,q;function te(){if(q)return B;q=1;const s=z();function e(f,c){return f[c]^f[c+1]<<8^f[c+2]<<16^f[c+3]<<24}function a(f,c,n,t,u,r){l[f]=l[f]+l[c]+u,l[t]=p(l[t]^l[f],16),l[n]=l[n]+l[t],l[c]=p(l[c]^l[n],12),l[f]=l[f]+l[c]+r,l[t]=p(l[t]^l[f],8),l[n]=l[n]+l[t],l[c]=p(l[c]^l[n],7)}function p(f,c){return f>>>c^f<<32-c}const b=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),d=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),l=new Uint32Array(16),o=new Uint32Array(16);function i(f,c){let n=0;for(n=0;n<8;n++)l[n]=f.h[n],l[n+8]=b[n];for(l[12]^=f.t,l[13]^=f.t/4294967296,c&&(l[14]=~l[14]),n=0;n<16;n++)o[n]=e(f.b,4*n);for(n=0;n<10;n++)a(0,4,8,12,o[d[n*16+0]],o[d[n*16+1]]),a(1,5,9,13,o[d[n*16+2]],o[d[n*16+3]]),a(2,6,10,14,o[d[n*16+4]],o[d[n*16+5]]),a(3,7,11,15,o[d[n*16+6]],o[d[n*16+7]]),a(0,5,10,15,o[d[n*16+8]],o[d[n*16+9]]),a(1,6,11,12,o[d[n*16+10]],o[d[n*16+11]]),a(2,7,8,13,o[d[n*16+12]],o[d[n*16+13]]),a(3,4,9,14,o[d[n*16+14]],o[d[n*16+15]]);for(n=0;n<8;n++)f.h[n]^=l[n]^l[n+8]}function h(f,c){if(!(f>0&&f<=32))throw new Error("Incorrect output length, should be in [1, 32]");const n=c?c.length:0;if(c&&!(n>0&&n<=32))throw new Error("Incorrect key length, should be in [1, 32]");const t={h:new Uint32Array(b),b:new Uint8Array(64),c:0,t:0,outlen:f};return t.h[0]^=16842752^n<<8^f,n>0&&(g(t,c),t.c=64),t}function g(f,c){for(let n=0;n>2]>>8*(n&3)&255;return c}function E(f,c,n){n=n||32,f=s.normalizeInput(f);const t=h(n,c);return g(t,f),y(t)}function A(f,c,n){const t=E(f,c,n);return s.toHex(t)}return B={blake2s:E,blake2sHex:A,blake2sInit:h,blake2sUpdate:g,blake2sFinal:y},B}var _,V;function ne(){if(V)return _;V=1;const s=ee(),e=te();return _={blake2b:s.blake2b,blake2bHex:s.blake2bHex,blake2bInit:s.blake2bInit,blake2bUpdate:s.blake2bUpdate,blake2bFinal:s.blake2bFinal,blake2s:e.blake2s,blake2sHex:e.blake2sHex,blake2sInit:e.blake2sInit,blake2sUpdate:e.blake2sUpdate,blake2sFinal:e.blake2sFinal},_}var W=ne();const re=L({bits:24,rounds:23,rightRotations:8,leftRotations:3});function oe(s){const e=W.blake2bHex(s,null,12);return[parseInt(e.slice(0,6),16),parseInt(e.slice(6,12),16),parseInt(e.slice(12,18),16),parseInt(e.slice(18,24),16)]}function ie(s,e){if(!s||s.length===0)return"";const a=s[0];return s.slice(1).map((b,d)=>{const l=a*16777216+(d&16777215),o=re.encrypt(l,e),i=(b^o)>>>0;try{return String.fromCodePoint(i)}catch{return""}}).join("")}const se=L();function le(s){const e=W.blake2bHex(s,null,8);return[parseInt(e.slice(0,4),16),parseInt(e.slice(4,8),16),parseInt(e.slice(8,12),16),parseInt(e.slice(12,16),16)]}function ce(s,e){return s.map(a=>{try{return String.fromCodePoint(se.decrypt(a,e))}catch{return""}}).join("")}const O="‍​­",x={3:"‍​­᠎‍",6:"‍​­‌‍",8:"‍​­‌‌"},X={1:"SPECK48_96CTR",2:"SPECK32_64ECB (insecure)"};Object.fromEntries(Object.entries(X).map(([s,e])=>[e,+s]));function ae(s){if(!s.includes(O))return null;const e=Object.keys(x).find(d=>s.includes(x[d]));if(!e)return null;const a=s.indexOf(x[e]),p=s.slice(a+x[e].length),b=I[e].unifier+I[e][0];if(p.startsWith(b)){const l=Array.from(p.slice(b.length,b.length+3)).map(g=>Object.keys(I[e]).find(y=>I[e][y]===g)).join(""),o=X[parseInt(l,e)],i=p.slice(b.length+3),h=x[e].length+b.length+3;return{base:e,cipher:o,payload:i,sigIdx:a,sigLen:h}}return{base:e,cipher:"PLAIN",payload:p,sigIdx:a,sigLen:x[e].length}}function K(s,e,a){const p=new Set(Object.values(I[e]));let b=a;for(;bde(i,e),W(i)}function W(s){const{wrap:e,node:a,start:d,end:p}=s;if(!a.isConnected){e.remove(),T.delete(s);return}const b=a.parentElement;if(!b||b.checkVisibility&&!b.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})){e.style.display="none";return}const c=document.createRange();try{c.setStart(a,d),c.setEnd(a,Math.min(p,a.nodeValue.length))}catch{e.remove(),T.delete(s);return}let r=c.getBoundingClientRect();if(!r.width&&!r.height&&(r=b.getBoundingClientRect()),!r.width&&!r.height){e.style.display="none";return}if(r.bottom<0||r.top>window.innerHeight||r.right<0||r.left>window.innerWidth){e.style.display="none";return}let i=b;for(;i&&i!==document.body&&i!==document.documentElement;){const k=window.getComputedStyle(i);if(k.overflow!=="visible"||k.overflowX!=="visible"||k.overflowY!=="visible"){const E=i.getBoundingClientRect();if(r.bottomE.bottom||r.rightE.right){e.style.display="none";return}}i=i.parentElement}e.style.display="flex";const h=r.left+(r.width||0)/2,w=r.top;e.style.left=`${h-e.offsetWidth/2}px`,e.style.top=`${w-e.offsetHeight-2}px`}function de(s,e){const{wrap:a,node:d,start:p,end:b}=s,c=d.nodeValue.slice(p+e.sigLen,b);let r="";if(e.cipher==="PLAIN")try{r=I.decodeToString(c,e.base)}catch(i){console.error(i)}else{const i=prompt(`inØsight: enter password (${e.cipher}):`);if(!i)return;try{const h=I.decodeToNumberArray(c,e.base);e.cipher==="SPECK48_96CTR"?r=oe(h,re(i)):e.cipher==="SPECK32_64ECB (insecure)"&&(r=ce(h,se(i)))}catch(h){console.error(h)}if(!r){alert("Decryption failed.");return}}if(r){const i=document.createRange();i.setStart(d,p),i.setEnd(d,b),i.deleteContents();const h=document.createElement("span");h.className="inzerosight-decoded",h.style.color="#00b4d8",h.style.fontWeight="600",h.textContent=` ${r} `,i.insertNode(h),a.remove(),T.delete(s)}}function F(s){if(!s||s.nodeType!==Node.TEXT_NODE)return;const e=s.nodeValue;if(!e||!e.includes(_))return;let a=0;for(;a{var b;return e[(b=p.parentElement)==null?void 0:b.tagName]?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let d;for(;d=a.nextNode();)F(d)}$(document.body);let O;function P(){O||T.size===0||(O=requestAnimationFrame(()=>{O=null,T.forEach(W)}))}new MutationObserver(s=>{var e;for(const a of[...T])(!a.node.isConnected||!((e=a.node.nodeValue)!=null&&e.includes(_)))&&(a.wrap.remove(),T.delete(a));for(const a of s)if(a.type==="characterData")F(a.target);else for(const d of a.addedNodes)d.nodeType===Node.TEXT_NODE?F(d):d.nodeType===Node.ELEMENT_NODE&&d.id!=="in0-host"&&$(d);P()}).observe(document.documentElement,{childList:!0,subtree:!0,characterData:!0}),window.addEventListener("scroll",P,{capture:!0,passive:!0}),window.addEventListener("resize",P,{passive:!0})})(); + `,v.appendChild(s),(document.body||document.documentElement).appendChild(R)}function fe(s,e,a,p,b){for(const g of C)if(g.node===s&&g.start===a)return;ue();const d=document.createElement("div");d.className="in0-wrap";const l=document.createElement("button");l.className="in0-btn",l.textContent=e.cipher==="PLAIN"?"Decode":"Decrypt";const o=document.createElement("span");o.className="in0-badge",o.textContent="Ø",l.appendChild(o);const i=document.createElement("div");i.className="in0-arrow",d.appendChild(l),d.appendChild(i),v.appendChild(d);const h={wrap:d,node:s,start:a,endNode:p,end:b};C.add(h),l.onclick=()=>de(h,e),$(h)}function $(s){const{wrap:e,node:a,start:p,endNode:b,end:d}=s;if(!a.isConnected||!b.isConnected){e.remove(),C.delete(s);return}const l=a.parentElement;if(!l||l.checkVisibility&&!l.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})){e.style.display="none";return}const o=document.createRange();try{o.setStart(a,p),o.setEnd(b,Math.min(d,b.nodeValue.length))}catch{e.remove(),C.delete(s);return}let i=o.getBoundingClientRect();if(!i.width&&!i.height&&(i=l.getBoundingClientRect()),!i.width&&!i.height){e.style.display="none";return}if(i.bottom<0||i.top>window.innerHeight||i.right<0||i.left>window.innerWidth){e.style.display="none";return}let h=l;for(;h&&h!==document.body&&h!==document.documentElement;){const E=window.getComputedStyle(h);if(E.overflow!=="visible"||E.overflowX!=="visible"||E.overflowY!=="visible"){const A=h.getBoundingClientRect();if(i.bottomA.bottom||i.rightA.right){e.style.display="none";return}}h=h.parentElement}e.style.display="flex";const g=i.left+(i.width||0)/2,y=i.top;e.style.left=`${g-e.offsetWidth/2}px`,e.style.top=`${y-e.offsetHeight-2}px`}function de(s,e){const{wrap:a,node:p,start:b,endNode:d,end:l}=s,o=document.createRange();o.setStart(p,b),o.setEnd(d,l);const i=o.toString().slice(e.sigLen);let h="";if(e.cipher==="PLAIN")try{h=I.decodeToString(i,e.base)}catch(g){console.error(g)}else{const g=prompt(`inØsight: enter password (${e.cipher}):`);if(!g)return;try{const y=I.decodeToNumberArray(i,e.base);e.cipher==="SPECK48_96CTR"?h=ie(y,oe(g)):e.cipher==="SPECK32_64ECB (insecure)"&&(h=ce(y,le(g)))}catch(y){console.error(y)}if(!h){alert("Decryption failed.");return}}if(h){o.deleteContents();const g=document.createElement("span");g.className="inzerosight-decoded",g.style.color="#00b4d8",g.style.fontWeight="600",g.textContent=` ${h} `,o.insertNode(g),a.remove(),C.delete(s)}}function pe(s,e,a){let p=s,b=K(s.nodeValue,e,a);for(;b===p.nodeValue.length;){let d=p.nextSibling,l=!1;for(;(d==null?void 0:d.nodeType)===Node.ELEMENT_NODE&&d.tagName==="WBR";)l=!0,d=d.nextSibling;if(!l||(d==null?void 0:d.nodeType)!==Node.TEXT_NODE)break;const o=K(d.nodeValue,e,0);if(!o)break;p=d,b=o}return{endNode:p,end:b}}function j(s){if(!s||s.nodeType!==Node.TEXT_NODE)return;const e=s.nodeValue;if(!e||!e.includes(O))return;let a=0;for(;a{var d;return e[(d=b.parentElement)==null?void 0:d.tagName]?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let p;for(;p=a.nextNode();)j(p)}Y(document.body);let F;function P(){F||C.size===0||(F=requestAnimationFrame(()=>{F=null,C.forEach($)}))}new MutationObserver(s=>{var e;for(const a of[...C])(!a.node.isConnected||!((e=a.node.nodeValue)!=null&&e.startsWith(O,a.start)))&&(a.wrap.remove(),C.delete(a));for(const a of s)if(a.type==="characterData")j(a.target);else for(const p of a.addedNodes)p.nodeType===Node.TEXT_NODE?j(p):p.nodeType===Node.ELEMENT_NODE&&p.id!=="in0-host"&&Y(p);P()}).observe(document.documentElement,{childList:!0,subtree:!0,characterData:!0}),window.addEventListener("scroll",P,{capture:!0,passive:!0}),window.addEventListener("resize",P,{passive:!0})})(); diff --git a/dist/chrome/index.html b/dist/chrome/index.html index 1c0d4b5..474b1b8 100644 --- a/dist/chrome/index.html +++ b/dist/chrome/index.html @@ -7,14 +7,14 @@ -

inØsight 3.0.0source

+

inØsight 3.1.0source

diff --git a/dist/chrome/manifest.json b/dist/chrome/manifest.json index 94b6051..9b4c050 100644 --- a/dist/chrome/manifest.json +++ b/dist/chrome/manifest.json @@ -1 +1 @@ -{"name":"inØsight","version":"3.0.0","author":"planetrenox@pm.me","homepage_url":"https://github.com/inzerosight/inzerosight","description":"Communicate undetected in plain sight.","icons":{"48":"icon_500.png"},"manifest_version":3,"action":{"default_icon":{"48":"icon_500.png"},"default_title":"inØsight","default_popup":"index.html"},"content_scripts":[{"matches":[""],"js":["content.js"],"run_at":"document_idle"}]} \ No newline at end of file +{"name":"inØsight","version":"3.1.0","author":"planetrenox@pm.me","homepage_url":"https://github.com/inzerosight/inzerosight","description":"Communicate undetected in plain sight.","icons":{"48":"icon_500.png"},"manifest_version":3,"action":{"default_icon":{"48":"icon_500.png"},"default_title":"inØsight","default_popup":"index.html"},"content_scripts":[{"matches":[""],"js":["content.js"],"run_at":"document_idle"}]} \ No newline at end of file diff --git a/dist/firefox/content.js b/dist/firefox/content.js index 096fbc0..843b15b 100644 --- a/dist/firefox/content.js +++ b/dist/firefox/content.js @@ -1,6 +1,6 @@ -(function(){"use strict";const I={3:{unifier:"­",0:"᠎",1:"​",2:"‍"},6:{unifier:"‌",0:"‍",1:"‏",2:"­",3:"⁠",4:"​",5:"‎"},8:{unifier:"‌",0:"‍",1:"‏",2:"­",3:"⁠",4:"​",5:"‎",6:"᠎",7:"\uFEFF"},encodeString:(s,e=3)=>Array.from(s,a=>a.codePointAt(0).toString(e).split("").map(d=>I[e][d]).join("")).join(I[e].unifier),encodeNumberArray:(s,e=3)=>s.map(a=>a.toString(e).split("").map(d=>I[e][d]).join("")).join(I[e].unifier),decodeToString:(s,e=3)=>s.split(I[e].unifier).map(a=>String.fromCodePoint(parseInt(Array.from(a).map(d=>Object.keys(I[e]).find(p=>I[e][p]===d)).join(""),e))).join(""),decodeToNumberArray:(s,e=3)=>s.split(I[e].unifier).map(a=>parseInt(Array.from(a).map(d=>Object.keys(I[e]).find(p=>I[e][p]===d)).join(""),e))};function Y(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var U,H;function J(){if(H)return U;H=1;function s(e={}){const a=e.bits||16,d=e.rounds||22,p=e.rightRotations||7,b=e.leftRotations||2,c=2**a,r=c-1,i=(l,n)=>l>>n|l<l<>a-n,w=(l,n,t)=>(l=i(l,p),l=l+n&r,l^=t,n=h(n,b),n^=l,[l,n]),k=(l,n,t)=>(n^=l,n=i(n,b),l^=t,l=l-n&r,l=h(l,p),[l,n]);function E(l,n){let t=l[0],u=l[1],o=n[0],g=n.slice(1);[u,t]=w(u,t,o);for(let m=0;m{const u=l([n/c|0,n&r],t);return u[0]*c+u[1]}}return{encrypt:f(E),decrypt:f(A),encryptRaw:E,decryptRaw:A}}return U=s,U}var Q=J();const L=Y(Q);var D,z;function M(){if(z)return D;z=1;const s="Input must be an string, Buffer or Uint8Array";function e(c){let r;if(c instanceof Uint8Array)r=c;else if(typeof c=="string")r=new TextEncoder().encode(c);else throw new Error(s);return r}function a(c){return Array.prototype.map.call(c,function(r){return(r<16?"0":"")+r.toString(16)}).join("")}function d(c){return(4294967296+c).toString(16).substring(1)}function p(c,r,i){let h=` -`+c+" = ";for(let w=0;w=4294967296&&m++,t[u]=g,t[u+1]=m}function a(t,u,o,g){let m=t[u]+o;o<0&&(m+=4294967296);let y=t[u+1]+g;m>=4294967296&&y++,t[u]=m,t[u+1]=y}function d(t,u){return t[u]^t[u+1]<<8^t[u+2]<<16^t[u+3]<<24}function p(t,u,o,g,m,y){const pe=h[m],be=h[m+1],he=h[y],ge=h[y+1];e(i,t,u),a(i,t,pe,be);let C=i[g]^i[t],S=i[g+1]^i[t+1];i[g]=S,i[g+1]=C,e(i,o,g),C=i[u]^i[o],S=i[u+1]^i[o+1],i[u]=C>>>24^S<<8,i[u+1]=S>>>24^C<<8,e(i,t,u),a(i,t,he,ge),C=i[g]^i[t],S=i[g+1]^i[t+1],i[g]=C>>>16^S<<16,i[g+1]=S>>>16^C<<16,e(i,o,g),C=i[u]^i[o],S=i[u+1]^i[o+1],i[u]=S>>>31^C<<1,i[u+1]=C>>>31^S<<1}const b=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),c=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],r=new Uint8Array(c.map(function(t){return t*2})),i=new Uint32Array(32),h=new Uint32Array(32);function w(t,u){let o=0;for(o=0;o<16;o++)i[o]=t.h[o],i[o+16]=b[o];for(i[24]=i[24]^t.t,i[25]=i[25]^t.t/4294967296,u&&(i[28]=~i[28],i[29]=~i[29]),o=0;o<32;o++)h[o]=d(t.b,4*o);for(o=0;o<12;o++)p(0,8,16,24,r[o*16+0],r[o*16+1]),p(2,10,18,26,r[o*16+2],r[o*16+3]),p(4,12,20,28,r[o*16+4],r[o*16+5]),p(6,14,22,30,r[o*16+6],r[o*16+7]),p(0,10,20,30,r[o*16+8],r[o*16+9]),p(2,12,22,24,r[o*16+10],r[o*16+11]),p(4,14,16,26,r[o*16+12],r[o*16+13]),p(6,8,18,28,r[o*16+14],r[o*16+15]);for(o=0;o<16;o++)t.h[o]=t.h[o]^i[o]^i[o+16]}const k=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function E(t,u,o,g){if(t===0||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(u&&u.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(o&&o.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(g&&g.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const m={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};k.fill(0),k[0]=t,u&&(k[1]=u.length),k[2]=1,k[3]=1,o&&k.set(o,32),g&&k.set(g,48);for(let y=0;y<16;y++)m.h[y]=b[y]^d(k,y*4);return u&&(A(m,u),m.c=128),m}function A(t,u){for(let o=0;o>2]>>8*(o&3);return u}function l(t,u,o,g,m){o=o||64,t=s.normalizeInput(t),g&&(g=s.normalizeInput(g)),m&&(m=s.normalizeInput(m));const y=E(o,u,g,m);return A(y,t),f(y)}function n(t,u,o,g,m){const y=l(t,u,o,g,m);return s.toHex(y)}return B={blake2b:l,blake2bHex:n,blake2bInit:E,blake2bUpdate:A,blake2bFinal:f},B}var N,q;function ee(){if(q)return N;q=1;const s=M();function e(f,l){return f[l]^f[l+1]<<8^f[l+2]<<16^f[l+3]<<24}function a(f,l,n,t,u,o){c[f]=c[f]+c[l]+u,c[t]=d(c[t]^c[f],16),c[n]=c[n]+c[t],c[l]=d(c[l]^c[n],12),c[f]=c[f]+c[l]+o,c[t]=d(c[t]^c[f],8),c[n]=c[n]+c[t],c[l]=d(c[l]^c[n],7)}function d(f,l){return f>>>l^f<<32-l}const p=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),b=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),c=new Uint32Array(16),r=new Uint32Array(16);function i(f,l){let n=0;for(n=0;n<8;n++)c[n]=f.h[n],c[n+8]=p[n];for(c[12]^=f.t,c[13]^=f.t/4294967296,l&&(c[14]=~c[14]),n=0;n<16;n++)r[n]=e(f.b,4*n);for(n=0;n<10;n++)a(0,4,8,12,r[b[n*16+0]],r[b[n*16+1]]),a(1,5,9,13,r[b[n*16+2]],r[b[n*16+3]]),a(2,6,10,14,r[b[n*16+4]],r[b[n*16+5]]),a(3,7,11,15,r[b[n*16+6]],r[b[n*16+7]]),a(0,5,10,15,r[b[n*16+8]],r[b[n*16+9]]),a(1,6,11,12,r[b[n*16+10]],r[b[n*16+11]]),a(2,7,8,13,r[b[n*16+12]],r[b[n*16+13]]),a(3,4,9,14,r[b[n*16+14]],r[b[n*16+15]]);for(n=0;n<8;n++)f.h[n]^=c[n]^c[n+8]}function h(f,l){if(!(f>0&&f<=32))throw new Error("Incorrect output length, should be in [1, 32]");const n=l?l.length:0;if(l&&!(n>0&&n<=32))throw new Error("Incorrect key length, should be in [1, 32]");const t={h:new Uint32Array(p),b:new Uint8Array(64),c:0,t:0,outlen:f};return t.h[0]^=16842752^n<<8^f,n>0&&(w(t,l),t.c=64),t}function w(f,l){for(let n=0;n>2]>>8*(n&3)&255;return l}function E(f,l,n){n=n||32,f=s.normalizeInput(f);const t=h(n,l);return w(t,f),k(t)}function A(f,l,n){const t=E(f,l,n);return s.toHex(t)}return N={blake2s:E,blake2sHex:A,blake2sInit:h,blake2sUpdate:w,blake2sFinal:k},N}var v,V;function te(){if(V)return v;V=1;const s=Z(),e=ee();return v={blake2b:s.blake2b,blake2bHex:s.blake2bHex,blake2bInit:s.blake2bInit,blake2bUpdate:s.blake2bUpdate,blake2bFinal:s.blake2bFinal,blake2s:e.blake2s,blake2sHex:e.blake2sHex,blake2sInit:e.blake2sInit,blake2sUpdate:e.blake2sUpdate,blake2sFinal:e.blake2sFinal},v}var K=te();const ne=L({bits:24,rounds:23,rightRotations:8,leftRotations:3});function re(s){const e=K.blake2bHex(s,null,12);return[parseInt(e.slice(0,6),16),parseInt(e.slice(6,12),16),parseInt(e.slice(12,18),16),parseInt(e.slice(18,24),16)]}function oe(s,e){if(!s||s.length===0)return"";const a=s[0];return s.slice(1).map((p,b)=>{const c=a*16777216+(b&16777215),r=ne.encrypt(c,e),i=(p^r)>>>0;try{return String.fromCodePoint(i)}catch{return""}}).join("")}const ie=L();function se(s){const e=K.blake2bHex(s,null,8);return[parseInt(e.slice(0,4),16),parseInt(e.slice(4,8),16),parseInt(e.slice(8,12),16),parseInt(e.slice(12,16),16)]}function ce(s,e){return s.map(a=>{try{return String.fromCodePoint(ie.decrypt(a,e))}catch{return""}}).join("")}const _="‍​­",x={3:"‍​­᠎‍",6:"‍​­‌‍",8:"‍​­‌‌"},X={1:"SPECK48_96CTR",2:"SPECK32_64ECB (insecure)"};Object.fromEntries(Object.entries(X).map(([s,e])=>[e,+s]));function le(s){if(!s.includes(_))return null;const e=Object.keys(x).find(b=>s.includes(x[b]));if(!e)return null;const a=s.indexOf(x[e]),d=s.slice(a+x[e].length),p=I[e].unifier+I[e][0];if(d.startsWith(p)){const c=Array.from(d.slice(p.length,p.length+3)).map(w=>Object.keys(I[e]).find(k=>I[e][k]===w)).join(""),r=X[parseInt(c,e)],i=d.slice(p.length+3),h=x[e].length+p.length+3;return{base:e,cipher:r,payload:i,sigIdx:a,sigLen:h}}return{base:e,cipher:"PLAIN",payload:d,sigIdx:a,sigLen:x[e].length}}function ae(s,e,a){const d=new Set(Object.values(I[e]));let p=a;for(;pArray.from(s,a=>a.codePointAt(0).toString(e).split("").map(p=>I[e][p]).join("")).join(I[e].unifier),encodeNumberArray:(s,e=3)=>s.map(a=>a.toString(e).split("").map(p=>I[e][p]).join("")).join(I[e].unifier),decodeToString:(s,e=3)=>s.split(I[e].unifier).map(a=>String.fromCodePoint(parseInt(Array.from(a).map(p=>Object.keys(I[e]).find(b=>I[e][b]===p)).join(""),e))).join(""),decodeToNumberArray:(s,e=3)=>s.split(I[e].unifier).map(a=>parseInt(Array.from(a).map(p=>Object.keys(I[e]).find(b=>I[e][b]===p)).join(""),e))};function J(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var N,H;function Q(){if(H)return N;H=1;function s(e={}){const a=e.bits||16,p=e.rounds||22,b=e.rightRotations||7,d=e.leftRotations||2,l=2**a,o=l-1,i=(c,n)=>c>>n|c<c<>a-n,g=(c,n,t)=>(c=i(c,b),c=c+n&o,c^=t,n=h(n,d),n^=c,[c,n]),y=(c,n,t)=>(n^=c,n=i(n,d),c^=t,c=c-n&o,c=h(c,b),[c,n]);function E(c,n){let t=c[0],u=c[1],r=n[0],m=n.slice(1);[u,t]=g(u,t,r);for(let w=0;w{const u=c([n/l|0,n&o],t);return u[0]*l+u[1]}}return{encrypt:f(E),decrypt:f(A),encryptRaw:E,decryptRaw:A}}return N=s,N}var Z=Q();const L=J(Z);var D,M;function z(){if(M)return D;M=1;const s="Input must be an string, Buffer or Uint8Array";function e(l){let o;if(l instanceof Uint8Array)o=l;else if(typeof l=="string")o=new TextEncoder().encode(l);else throw new Error(s);return o}function a(l){return Array.prototype.map.call(l,function(o){return(o<16?"0":"")+o.toString(16)}).join("")}function p(l){return(4294967296+l).toString(16).substring(1)}function b(l,o,i){let h=` +`+l+" = ";for(let g=0;g=4294967296&&w++,t[u]=m,t[u+1]=w}function a(t,u,r,m){let w=t[u]+r;r<0&&(w+=4294967296);let k=t[u+1]+m;w>=4294967296&&k++,t[u]=w,t[u+1]=k}function p(t,u){return t[u]^t[u+1]<<8^t[u+2]<<16^t[u+3]<<24}function b(t,u,r,m,w,k){const be=h[w],he=h[w+1],ge=h[k],me=h[k+1];e(i,t,u),a(i,t,be,he);let S=i[m]^i[t],T=i[m+1]^i[t+1];i[m]=T,i[m+1]=S,e(i,r,m),S=i[u]^i[r],T=i[u+1]^i[r+1],i[u]=S>>>24^T<<8,i[u+1]=T>>>24^S<<8,e(i,t,u),a(i,t,ge,me),S=i[m]^i[t],T=i[m+1]^i[t+1],i[m]=S>>>16^T<<16,i[m+1]=T>>>16^S<<16,e(i,r,m),S=i[u]^i[r],T=i[u+1]^i[r+1],i[u]=T>>>31^S<<1,i[u+1]=S>>>31^T<<1}const d=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),l=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],o=new Uint8Array(l.map(function(t){return t*2})),i=new Uint32Array(32),h=new Uint32Array(32);function g(t,u){let r=0;for(r=0;r<16;r++)i[r]=t.h[r],i[r+16]=d[r];for(i[24]=i[24]^t.t,i[25]=i[25]^t.t/4294967296,u&&(i[28]=~i[28],i[29]=~i[29]),r=0;r<32;r++)h[r]=p(t.b,4*r);for(r=0;r<12;r++)b(0,8,16,24,o[r*16+0],o[r*16+1]),b(2,10,18,26,o[r*16+2],o[r*16+3]),b(4,12,20,28,o[r*16+4],o[r*16+5]),b(6,14,22,30,o[r*16+6],o[r*16+7]),b(0,10,20,30,o[r*16+8],o[r*16+9]),b(2,12,22,24,o[r*16+10],o[r*16+11]),b(4,14,16,26,o[r*16+12],o[r*16+13]),b(6,8,18,28,o[r*16+14],o[r*16+15]);for(r=0;r<16;r++)t.h[r]=t.h[r]^i[r]^i[r+16]}const y=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function E(t,u,r,m){if(t===0||t>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(u&&u.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");if(r&&r.length!==16)throw new Error("Illegal salt, expected Uint8Array with length is 16");if(m&&m.length!==16)throw new Error("Illegal personal, expected Uint8Array with length is 16");const w={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:t};y.fill(0),y[0]=t,u&&(y[1]=u.length),y[2]=1,y[3]=1,r&&y.set(r,32),m&&y.set(m,48);for(let k=0;k<16;k++)w.h[k]=d[k]^p(y,k*4);return u&&(A(w,u),w.c=128),w}function A(t,u){for(let r=0;r>2]>>8*(r&3);return u}function c(t,u,r,m,w){r=r||64,t=s.normalizeInput(t),m&&(m=s.normalizeInput(m)),w&&(w=s.normalizeInput(w));const k=E(r,u,m,w);return A(k,t),f(k)}function n(t,u,r,m,w){const k=c(t,u,r,m,w);return s.toHex(k)}return U={blake2b:c,blake2bHex:n,blake2bInit:E,blake2bUpdate:A,blake2bFinal:f},U}var B,q;function te(){if(q)return B;q=1;const s=z();function e(f,c){return f[c]^f[c+1]<<8^f[c+2]<<16^f[c+3]<<24}function a(f,c,n,t,u,r){l[f]=l[f]+l[c]+u,l[t]=p(l[t]^l[f],16),l[n]=l[n]+l[t],l[c]=p(l[c]^l[n],12),l[f]=l[f]+l[c]+r,l[t]=p(l[t]^l[f],8),l[n]=l[n]+l[t],l[c]=p(l[c]^l[n],7)}function p(f,c){return f>>>c^f<<32-c}const b=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),d=new Uint8Array([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0]),l=new Uint32Array(16),o=new Uint32Array(16);function i(f,c){let n=0;for(n=0;n<8;n++)l[n]=f.h[n],l[n+8]=b[n];for(l[12]^=f.t,l[13]^=f.t/4294967296,c&&(l[14]=~l[14]),n=0;n<16;n++)o[n]=e(f.b,4*n);for(n=0;n<10;n++)a(0,4,8,12,o[d[n*16+0]],o[d[n*16+1]]),a(1,5,9,13,o[d[n*16+2]],o[d[n*16+3]]),a(2,6,10,14,o[d[n*16+4]],o[d[n*16+5]]),a(3,7,11,15,o[d[n*16+6]],o[d[n*16+7]]),a(0,5,10,15,o[d[n*16+8]],o[d[n*16+9]]),a(1,6,11,12,o[d[n*16+10]],o[d[n*16+11]]),a(2,7,8,13,o[d[n*16+12]],o[d[n*16+13]]),a(3,4,9,14,o[d[n*16+14]],o[d[n*16+15]]);for(n=0;n<8;n++)f.h[n]^=l[n]^l[n+8]}function h(f,c){if(!(f>0&&f<=32))throw new Error("Incorrect output length, should be in [1, 32]");const n=c?c.length:0;if(c&&!(n>0&&n<=32))throw new Error("Incorrect key length, should be in [1, 32]");const t={h:new Uint32Array(b),b:new Uint8Array(64),c:0,t:0,outlen:f};return t.h[0]^=16842752^n<<8^f,n>0&&(g(t,c),t.c=64),t}function g(f,c){for(let n=0;n>2]>>8*(n&3)&255;return c}function E(f,c,n){n=n||32,f=s.normalizeInput(f);const t=h(n,c);return g(t,f),y(t)}function A(f,c,n){const t=E(f,c,n);return s.toHex(t)}return B={blake2s:E,blake2sHex:A,blake2sInit:h,blake2sUpdate:g,blake2sFinal:y},B}var _,V;function ne(){if(V)return _;V=1;const s=ee(),e=te();return _={blake2b:s.blake2b,blake2bHex:s.blake2bHex,blake2bInit:s.blake2bInit,blake2bUpdate:s.blake2bUpdate,blake2bFinal:s.blake2bFinal,blake2s:e.blake2s,blake2sHex:e.blake2sHex,blake2sInit:e.blake2sInit,blake2sUpdate:e.blake2sUpdate,blake2sFinal:e.blake2sFinal},_}var W=ne();const re=L({bits:24,rounds:23,rightRotations:8,leftRotations:3});function oe(s){const e=W.blake2bHex(s,null,12);return[parseInt(e.slice(0,6),16),parseInt(e.slice(6,12),16),parseInt(e.slice(12,18),16),parseInt(e.slice(18,24),16)]}function ie(s,e){if(!s||s.length===0)return"";const a=s[0];return s.slice(1).map((b,d)=>{const l=a*16777216+(d&16777215),o=re.encrypt(l,e),i=(b^o)>>>0;try{return String.fromCodePoint(i)}catch{return""}}).join("")}const se=L();function le(s){const e=W.blake2bHex(s,null,8);return[parseInt(e.slice(0,4),16),parseInt(e.slice(4,8),16),parseInt(e.slice(8,12),16),parseInt(e.slice(12,16),16)]}function ce(s,e){return s.map(a=>{try{return String.fromCodePoint(se.decrypt(a,e))}catch{return""}}).join("")}const O="‍​­",x={3:"‍​­᠎‍",6:"‍​­‌‍",8:"‍​­‌‌"},X={1:"SPECK48_96CTR",2:"SPECK32_64ECB (insecure)"};Object.fromEntries(Object.entries(X).map(([s,e])=>[e,+s]));function ae(s){if(!s.includes(O))return null;const e=Object.keys(x).find(d=>s.includes(x[d]));if(!e)return null;const a=s.indexOf(x[e]),p=s.slice(a+x[e].length),b=I[e].unifier+I[e][0];if(p.startsWith(b)){const l=Array.from(p.slice(b.length,b.length+3)).map(g=>Object.keys(I[e]).find(y=>I[e][y]===g)).join(""),o=X[parseInt(l,e)],i=p.slice(b.length+3),h=x[e].length+b.length+3;return{base:e,cipher:o,payload:i,sigIdx:a,sigLen:h}}return{base:e,cipher:"PLAIN",payload:p,sigIdx:a,sigLen:x[e].length}}function K(s,e,a){const p=new Set(Object.values(I[e]));let b=a;for(;bde(i,e),W(i)}function W(s){const{wrap:e,node:a,start:d,end:p}=s;if(!a.isConnected){e.remove(),T.delete(s);return}const b=a.parentElement;if(!b||b.checkVisibility&&!b.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})){e.style.display="none";return}const c=document.createRange();try{c.setStart(a,d),c.setEnd(a,Math.min(p,a.nodeValue.length))}catch{e.remove(),T.delete(s);return}let r=c.getBoundingClientRect();if(!r.width&&!r.height&&(r=b.getBoundingClientRect()),!r.width&&!r.height){e.style.display="none";return}if(r.bottom<0||r.top>window.innerHeight||r.right<0||r.left>window.innerWidth){e.style.display="none";return}let i=b;for(;i&&i!==document.body&&i!==document.documentElement;){const k=window.getComputedStyle(i);if(k.overflow!=="visible"||k.overflowX!=="visible"||k.overflowY!=="visible"){const E=i.getBoundingClientRect();if(r.bottomE.bottom||r.rightE.right){e.style.display="none";return}}i=i.parentElement}e.style.display="flex";const h=r.left+(r.width||0)/2,w=r.top;e.style.left=`${h-e.offsetWidth/2}px`,e.style.top=`${w-e.offsetHeight-2}px`}function de(s,e){const{wrap:a,node:d,start:p,end:b}=s,c=d.nodeValue.slice(p+e.sigLen,b);let r="";if(e.cipher==="PLAIN")try{r=I.decodeToString(c,e.base)}catch(i){console.error(i)}else{const i=prompt(`inØsight: enter password (${e.cipher}):`);if(!i)return;try{const h=I.decodeToNumberArray(c,e.base);e.cipher==="SPECK48_96CTR"?r=oe(h,re(i)):e.cipher==="SPECK32_64ECB (insecure)"&&(r=ce(h,se(i)))}catch(h){console.error(h)}if(!r){alert("Decryption failed.");return}}if(r){const i=document.createRange();i.setStart(d,p),i.setEnd(d,b),i.deleteContents();const h=document.createElement("span");h.className="inzerosight-decoded",h.style.color="#00b4d8",h.style.fontWeight="600",h.textContent=` ${r} `,i.insertNode(h),a.remove(),T.delete(s)}}function F(s){if(!s||s.nodeType!==Node.TEXT_NODE)return;const e=s.nodeValue;if(!e||!e.includes(_))return;let a=0;for(;a{var b;return e[(b=p.parentElement)==null?void 0:b.tagName]?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let d;for(;d=a.nextNode();)F(d)}$(document.body);let O;function P(){O||T.size===0||(O=requestAnimationFrame(()=>{O=null,T.forEach(W)}))}new MutationObserver(s=>{var e;for(const a of[...T])(!a.node.isConnected||!((e=a.node.nodeValue)!=null&&e.includes(_)))&&(a.wrap.remove(),T.delete(a));for(const a of s)if(a.type==="characterData")F(a.target);else for(const d of a.addedNodes)d.nodeType===Node.TEXT_NODE?F(d):d.nodeType===Node.ELEMENT_NODE&&d.id!=="in0-host"&&$(d);P()}).observe(document.documentElement,{childList:!0,subtree:!0,characterData:!0}),window.addEventListener("scroll",P,{capture:!0,passive:!0}),window.addEventListener("resize",P,{passive:!0})})(); + `,v.appendChild(s),(document.body||document.documentElement).appendChild(R)}function fe(s,e,a,p,b){for(const g of C)if(g.node===s&&g.start===a)return;ue();const d=document.createElement("div");d.className="in0-wrap";const l=document.createElement("button");l.className="in0-btn",l.textContent=e.cipher==="PLAIN"?"Decode":"Decrypt";const o=document.createElement("span");o.className="in0-badge",o.textContent="Ø",l.appendChild(o);const i=document.createElement("div");i.className="in0-arrow",d.appendChild(l),d.appendChild(i),v.appendChild(d);const h={wrap:d,node:s,start:a,endNode:p,end:b};C.add(h),l.onclick=()=>de(h,e),$(h)}function $(s){const{wrap:e,node:a,start:p,endNode:b,end:d}=s;if(!a.isConnected||!b.isConnected){e.remove(),C.delete(s);return}const l=a.parentElement;if(!l||l.checkVisibility&&!l.checkVisibility({checkOpacity:!0,checkVisibilityCSS:!0})){e.style.display="none";return}const o=document.createRange();try{o.setStart(a,p),o.setEnd(b,Math.min(d,b.nodeValue.length))}catch{e.remove(),C.delete(s);return}let i=o.getBoundingClientRect();if(!i.width&&!i.height&&(i=l.getBoundingClientRect()),!i.width&&!i.height){e.style.display="none";return}if(i.bottom<0||i.top>window.innerHeight||i.right<0||i.left>window.innerWidth){e.style.display="none";return}let h=l;for(;h&&h!==document.body&&h!==document.documentElement;){const E=window.getComputedStyle(h);if(E.overflow!=="visible"||E.overflowX!=="visible"||E.overflowY!=="visible"){const A=h.getBoundingClientRect();if(i.bottomA.bottom||i.rightA.right){e.style.display="none";return}}h=h.parentElement}e.style.display="flex";const g=i.left+(i.width||0)/2,y=i.top;e.style.left=`${g-e.offsetWidth/2}px`,e.style.top=`${y-e.offsetHeight-2}px`}function de(s,e){const{wrap:a,node:p,start:b,endNode:d,end:l}=s,o=document.createRange();o.setStart(p,b),o.setEnd(d,l);const i=o.toString().slice(e.sigLen);let h="";if(e.cipher==="PLAIN")try{h=I.decodeToString(i,e.base)}catch(g){console.error(g)}else{const g=prompt(`inØsight: enter password (${e.cipher}):`);if(!g)return;try{const y=I.decodeToNumberArray(i,e.base);e.cipher==="SPECK48_96CTR"?h=ie(y,oe(g)):e.cipher==="SPECK32_64ECB (insecure)"&&(h=ce(y,le(g)))}catch(y){console.error(y)}if(!h){alert("Decryption failed.");return}}if(h){o.deleteContents();const g=document.createElement("span");g.className="inzerosight-decoded",g.style.color="#00b4d8",g.style.fontWeight="600",g.textContent=` ${h} `,o.insertNode(g),a.remove(),C.delete(s)}}function pe(s,e,a){let p=s,b=K(s.nodeValue,e,a);for(;b===p.nodeValue.length;){let d=p.nextSibling,l=!1;for(;(d==null?void 0:d.nodeType)===Node.ELEMENT_NODE&&d.tagName==="WBR";)l=!0,d=d.nextSibling;if(!l||(d==null?void 0:d.nodeType)!==Node.TEXT_NODE)break;const o=K(d.nodeValue,e,0);if(!o)break;p=d,b=o}return{endNode:p,end:b}}function j(s){if(!s||s.nodeType!==Node.TEXT_NODE)return;const e=s.nodeValue;if(!e||!e.includes(O))return;let a=0;for(;a{var d;return e[(d=b.parentElement)==null?void 0:d.tagName]?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let p;for(;p=a.nextNode();)j(p)}Y(document.body);let F;function P(){F||C.size===0||(F=requestAnimationFrame(()=>{F=null,C.forEach($)}))}new MutationObserver(s=>{var e;for(const a of[...C])(!a.node.isConnected||!((e=a.node.nodeValue)!=null&&e.startsWith(O,a.start)))&&(a.wrap.remove(),C.delete(a));for(const a of s)if(a.type==="characterData")j(a.target);else for(const p of a.addedNodes)p.nodeType===Node.TEXT_NODE?j(p):p.nodeType===Node.ELEMENT_NODE&&p.id!=="in0-host"&&Y(p);P()}).observe(document.documentElement,{childList:!0,subtree:!0,characterData:!0}),window.addEventListener("scroll",P,{capture:!0,passive:!0}),window.addEventListener("resize",P,{passive:!0})})(); diff --git a/dist/firefox/index.html b/dist/firefox/index.html index 1c0d4b5..474b1b8 100644 --- a/dist/firefox/index.html +++ b/dist/firefox/index.html @@ -7,14 +7,14 @@ -

inØsight 3.0.0source

+

inØsight 3.1.0source

diff --git a/dist/firefox/manifest.json b/dist/firefox/manifest.json index f445483..3f3f570 100644 --- a/dist/firefox/manifest.json +++ b/dist/firefox/manifest.json @@ -1 +1 @@ -{"name":"inØsight","version":"3.0.0","author":"planetrenox@pm.me","homepage_url":"https://github.com/inzerosight/inzerosight","description":"Communicate undetected in plain sight.","icons":{"48":"icon_500.png"},"manifest_version":2,"browser_action":{"browser_style":false,"default_icon":"icon_500.png","default_title":"inØsight","default_popup":"index.html"},"content_security_policy":"script-src 'self'; style-src 'self';","browser_specific_settings":{"gecko":{"id":"{0a73f41c-c59c-404b-9e07-f7392fa830d4}"}},"content_scripts":[{"matches":[""],"js":["content.js"],"run_at":"document_idle"}]} \ No newline at end of file +{"name":"inØsight","version":"3.1.0","author":"planetrenox@pm.me","homepage_url":"https://github.com/inzerosight/inzerosight","description":"Communicate undetected in plain sight.","icons":{"48":"icon_500.png"},"manifest_version":2,"browser_action":{"browser_style":false,"default_icon":"icon_500.png","default_title":"inØsight","default_popup":"index.html"},"content_security_policy":"script-src 'self'; style-src 'self';","browser_specific_settings":{"gecko":{"id":"{0a73f41c-c59c-404b-9e07-f7392fa830d4}"}},"content_scripts":[{"matches":[""],"js":["content.js"],"run_at":"document_idle"}]} \ No newline at end of file diff --git a/dist/inzerosight-chrome.zip b/dist/inzerosight-chrome.zip index dddb2e25ef89588d73cafe6fc303b1202d692d9c..9821c81db748c531dd55c93403b9fe3de3d06caa 100644 GIT binary patch delta 7567 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

Y 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 AuK)l5 delta 7431 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 QC}L3n7>Ch+|0tyY0$gwyp8x;= diff --git a/dist/inzerosight-firefox.zip b/dist/inzerosight-firefox.zip index 1b0cb742de86cf104bab817e5557788c1601feae..0644fcb34513b15b765a3c06dd056725654bfa94 100644 GIT binary patch delta 7619 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 E0@Ip_AOHXW delta 7474 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 diff --git a/dist/web/index.html b/dist/web/index.html index b4ac9af..5411506 100644 --- a/dist/web/index.html +++ b/dist/web/index.html @@ -7,14 +7,14 @@ -

inØsight 3.0.0source

+

inØsight 3.1.0source

diff --git a/index.html b/index.html index e4b9b6c..bffc6ff 100644 --- a/index.html +++ b/index.html @@ -6,14 +6,14 @@ -

inØsight 3.0.0source

+

inØsight 3.1.0source

diff --git a/package.json b/package.json index a24e164..2abdb99 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "inzerosight", - "version": "3.0.0", + "version": "3.1.0", "private": true, "type": "module", "scripts": { diff --git a/vite.config.js b/vite.config.js index 40a4d35..afd3e5d 100644 --- a/vite.config.js +++ b/vite.config.js @@ -12,7 +12,7 @@ export default defineConfig(async ({ mode }) => { manifest: () => { const base = { name: "in\u00D8sight", - version: "3.0.0", + version: "3.1.0", author: "planetrenox@pm.me", homepage_url: "https://github.com/inzerosight/inzerosight", description: "Communicate undetected in plain sight.",