'P_': { value: P_, writable: true, enumerable: true, configurable: false } }); // Store references for potential recovery window.__CRITICAL_VARS = { e, D_, $_, P_ }; // Also patch the Function constructor directly to prevent TDZ in any dynamically created functions // This is more aggressive than previous approaches var originalFunction = Function; window.Function = function() { var args = Array.from(arguments); var body = args.pop(); // Inject variable declarations at the beginning of every function body if (typeof body === 'string') { body = 'var e = window.e;\nvar D_ = window.D_;\nvar $_ = window.$_;\nvar P_ = window.P_;\n' + body; } args.push(body); return originalFunction.apply(this, args); }; // Copy properties to maintain compatibility Object.getOwnPropertyNames(originalFunction).forEach(function(prop) { if (prop !== 'prototype') { window.Function[prop] = originalFunction[prop]; } }); // Set prototype chain properly window.Function.prototype = originalFunction.prototype;