), so idempotency matters.) // 2) try/catch around defineProperty — some browsers lock HTMLMediaElement.prototype.src as // non-configurable on the parent prototype, shadowing it would throw. // If the override fails, the setAttribute and MutationObserver below still catch most // dynamic src assignments, so the page still works. const videoProto = HTMLVideoElement.prototype; const srcDesc = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'src') || Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'src'); if (srcDesc) { try { Object.defineProperty(videoProto, 'src', { configurable: true, enumerable: true, set(v) { srcDesc.set.call(this, rewriteUrl(v)); }, get() { return srcDesc.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override source element src const sourceProto = HTMLSourceElement.prototype; const srcDesc2 = Object.getOwnPropertyDescriptor(sourceProto, 'src'); if (srcDesc2) { try { Object.defineProperty(sourceProto, 'src', { configurable: true, enumerable: true, set(v) { srcDesc2.set.call(this, rewriteUrl(v)); }, get() { return srcDesc2.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override img.src property const imgProto = HTMLImageElement.prototype; const imgSrcDesc = Object.getOwnPropertyDescriptor(imgProto, 'src') || Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'src'); if (imgSrcDesc && imgSrcDesc.set) { try { Object.defineProperty(imgProto, 'src', { configurable: true, enumerable: true, set(v) { imgSrcDesc.set.call(this, rewriteUrl(v)); }, get() { return imgSrcDesc.get.call(this); } }); } catch (e) { /* parent src is non-configurable; rely on setAttribute/MutationObserver */ } } // Override setAttribute for video, source, AND img const origSetAttr = Element.prototype.setAttribute; Element.prototype.setAttribute = function(name, value) { if ((name === 'src' || name === 'data-src') && (this.tagName === 'VIDEO' || this.tagName === 'SOURCE' || this.tagName === 'IMG')) { value = rewriteUrl(value); } return origSetAttr.call(this, name, value); }; // Patch HLS.js if loaded const origAppendChild = Node.prototype.appendChild; const origInsertBefore = Node.prototype.insertBefore; // MutationObserver to catch dynamically added video/source/img elements const observer = new MutationObserver(mutations => { for (const mut of mutations) { for (const node of mut.addedNodes) { if (node.tagName === 'SOURCE' || node.tagName === 'VIDEO' || node.tagName === 'IMG') { const s = node.getAttribute && node.getAttribute('src'); if (s) { const rewritten = rewriteUrl(s); if (rewritten !== s) origSetAttr.call(node, 'src', rewritten); } const ds = node.getAttribute && node.getAttribute('data-src'); if (ds) { const rewritten = rewriteUrl(ds); if (rewritten !== ds) origSetAttr.call(node, 'data-src', rewritten); } } if (node.querySelectorAll) { node.querySelectorAll('source[src], video[src], img[src], img[data-src]').forEach(el => { const s = el.getAttribute('src'); if (s) { const rewritten = rewriteUrl(s); if (rewritten !== s) origSetAttr.call(el, 'src', rewritten); } const ds = el.getAttribute('data-src'); if (ds) { const rewritten = rewriteUrl(ds); if (rewritten !== ds) origSetAttr.call(el, 'data-src', rewritten); } }); } } // Also handle attribute changes on existing elements if (mut.type === 'attributes' && (mut.attributeName === 'src' || mut.attributeName === 'data-src')) { const el = mut.target; if (el.tagName === 'IMG' || el.tagName === 'VIDEO' || el.tagName === 'SOURCE') { const val = el.getAttribute(mut.attributeName); if (val) { const rewritten = rewriteUrl(val); if (rewritten !== val) origSetAttr.call(el, mut.attributeName, rewritten); } } } } }); observer.observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['src', 'data-src'] }); })();

Kithyane
Lesbian woman, 42y
42 years old, Lesbian woman

Gordinha Simpática, boa parte do tempo fico excitada, gosto de um papo quente via chat com amigas, adoro peitos. Adoraria ter meus peitos mamados por uma mulher, e devolver a mamada
Aceito apenas mulheres!!
+

Gender: Lesbian woman

Age: 42 years old

Country: Brazil

Profile hits: 4,451

Subscribers: 35

Total video views: 40,680

Languages: Português

Personal information: Display

Relationship: Single

Signed up: November 27, 2019 (2,385 days ago)

About me:

Gordinha Simpática, boa parte do tempo fico excitada, gosto de um papo quente via chat com amigas, adoro peitos. Adoraria ter meus peitos mamados por uma mulher, e devolver a mamada
Aceito apenas mulheres!!Show more

Remove ads - Upgrade to Premium Ads by TrafficFactory