Index: imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/AddEntriesFromIterable.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -13,6 +13,5 @@
 var IteratorValue = require('./IteratorValue');
 var ThrowCompletion = require('./ThrowCompletion');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/14.0/#sec-add-entries-from-iterable
@@ -32,5 +31,5 @@
 		}
 		var nextItem = IteratorValue(next);
-		if (!isObject(nextItem)) {
+		if (Type(nextItem) !== 'Object') {
 			var error = ThrowCompletion(new $TypeError('iterator next must return an Object, got ' + inspect(nextItem)));
 			return IteratorClose(iteratorRecord, error);
Index: imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/AddToKeptObjects.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var SLOT = require('internal-slot');
 
@@ -7,6 +7,5 @@
 
 var ClearKeptObjects = require('./ClearKeptObjects');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var $push = callBound('Array.prototype.push');
@@ -15,5 +14,5 @@
 
 module.exports = function AddToKeptObjects(object) {
-	if (!isObject(object)) {
+	if (Type(object) !== 'Object') {
 		throw new $TypeError('Assertion failed: `object` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/AdvanceStringIndex.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,7 +3,8 @@
 var CodePointAt = require('./CodePointAt');
 
+var isInteger = require('../helpers/isInteger');
+var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
+
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
-var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
 
 // https://262.ecma-international.org/12.0/#sec-advancestringindex
Index: imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ApplyStringOrNumericBinaryOperator.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -70,8 +70,9 @@
 	var lnum = ToNumeric(lval);
 	var rnum = ToNumeric(rval);
-	if (Type(lnum) !== Type(rnum)) {
+	var T = Type(lnum);
+	if (T !== Type(rnum)) {
 		throw new $TypeError('types of ' + lnum + ' and ' + rnum + ' differ');
 	}
-	var Operation = table[opText][typeof lnum === 'bigint' ? 1 : 0];
+	var Operation = table[opText][T === 'BigInt' ? 1 : 0];
 	return Operation(lnum, rnum);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ArrayCreate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,7 +7,19 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
-var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
-var $setProto = require('set-proto');
+
+var isInteger = require('../helpers/isInteger');
+
+var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
+
+var hasProto = require('has-proto')();
+
+var $setProto = GetIntrinsic('%Object.setPrototypeOf%', true) || (
+	hasProto
+		? function (O, proto) {
+			O.__proto__ = proto; // eslint-disable-line no-proto, no-param-reassign
+			return O;
+		}
+		: null
+);
 
 // https://262.ecma-international.org/12.0/#sec-arraycreate
Index: imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ArraySpeciesCreate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,4 @@
 var $species = GetIntrinsic('%Symbol.species%', true);
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 
 var ArrayCreate = require('./ArrayCreate');
@@ -11,6 +10,7 @@
 var IsArray = require('./IsArray');
 var IsConstructor = require('./IsConstructor');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
+var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-arrayspeciescreate
@@ -32,5 +32,5 @@
 	// 	Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?
 	// }
-	if ($species && isObject(C)) {
+	if ($species && Type(C) === 'Object') {
 		C = Get(C, $species);
 		if (C === null) {
Index: imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,5 +7,5 @@
 var $Promise = GetIntrinsic('%Promise%', true);
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var CreateIterResultObject = require('./CreateIterResultObject');
@@ -13,6 +13,5 @@
 var IteratorValue = require('./IteratorValue');
 var PromiseResolve = require('./PromiseResolve');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -21,5 +20,5 @@
 
 module.exports = function AsyncFromSyncIteratorContinuation(result) {
-	if (!isObject(result)) {
+	if (Type(result) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/AsyncIteratorClose.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -10,9 +10,9 @@
 var CompletionRecord = require('./CompletionRecord');
 var GetMethod = require('./GetMethod');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $then = callBound('Promise.prototype.then', true);
@@ -62,5 +62,5 @@
 				completion['?'](); // step 6
 			}
-			if (!isObject(innerResult)) {
+			if (Type(innerResult) !== 'Object') {
 				throw new $TypeError('`innerResult` must be an Object'); // step 10
 			}
Index: imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/BigInt/toString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,8 +3,10 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
+
+var callBound = require('call-bind/callBound');
 
 var $BigIntToString = callBound('BigInt.prototype.toString', true);
+
+var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-bigint-tostring
Index: imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/BigIntBitwiseOp.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 // var $BigInt = GetIntrinsic('%BigInt%', true);
-// var $pow = require('math-intrinsics/pow');
+// var $pow = GetIntrinsic('%Math.pow%');
 
 // var BinaryAnd = require('./BinaryAnd');
Index: imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ByteListBitwiseOp.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/Call.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Call.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Call.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CanBeHeldWeakly.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,11 +2,10 @@
 
 var KeyForSymbol = require('./KeyForSymbol');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/14.0/#sec-canbeheldweakly
 
 module.exports = function CanBeHeldWeakly(v) {
-	if (isObject(v)) {
+	if (Type(v) === 'Object') {
 		return true; // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Canonicalize.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var hasOwn = require('hasown');
 
Index: imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CharacterRange.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $fromCharCode = GetIntrinsic('%String.fromCharCode%');
Index: imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CloneArrayBuffer.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,5 +8,6 @@
 var OrdinarySetPrototypeOf = require('./OrdinarySetPrototypeOf');
 
-var isInteger = require('math-intrinsics/isInteger');
+var isInteger = require('../helpers/isInteger');
+
 var isArrayBuffer = require('is-array-buffer');
 var arrayBufferSlice = require('arraybuffer.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CodePointAt.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
Index: imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CompareArrayElements.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,5 +8,5 @@
 var ToString = require('./ToString');
 
-var isNaN = require('math-intrinsics/isNaN');
+var isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparearrayelements
Index: imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CompareTypedArrayElements.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,5 +7,5 @@
 var ToNumber = require('./ToNumber');
 
-var isNaN = require('math-intrinsics/isNaN');
+var isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-comparetypedarrayelements
Index: imaps-frontend/node_modules/es-abstract/2023/CompletionRecord.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CompletionRecord.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CompletionRecord.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -31,8 +31,11 @@
 	var value = SLOT.get(this, '[[Value]]');
 
+	if (type === 'normal') {
+		return value;
+	}
 	if (type === 'throw') {
 		throw value;
 	}
-	return value;
+	throw new $SyntaxError('Completion Record is not of type "normal" or "throw": other types not supported');
 };
 
Index: imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CopyDataProperties.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,9 +3,9 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var forEach = require('../helpers/forEach');
 var every = require('../helpers/every');
 var some = require('../helpers/some');
-var OwnPropertyKeys = require('own-keys');
+var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -15,19 +15,18 @@
 var IsArray = require('./IsArray');
 var IsIntegralNumber = require('./IsIntegralNumber');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var SameValue = require('./SameValue');
 var ToNumber = require('./ToNumber');
 var ToObject = require('./ToObject');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/12.0/#sec-copydataproperties
 
 module.exports = function CopyDataProperties(target, source, excludedItems) {
-	if (!isObject(target)) {
+	if (Type(target) !== 'Object') {
 		throw new $TypeError('Assertion failed: "target" must be an Object');
 	}
 
-	if (!IsArray(excludedItems) || !every(excludedItems, isPropertyKey)) {
+	if (!IsArray(excludedItems) || !every(excludedItems, IsPropertyKey)) {
 		throw new $TypeError('Assertion failed: "excludedItems" must be a List of Property Keys');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -14,9 +14,9 @@
 var IteratorNext = require('./IteratorNext');
 var OrdinaryObjectCreate = require('./OrdinaryObjectCreate');
-
-var isObject = require('../helpers/isObject');
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var Type = require('./Type');
 
 var SLOT = require('internal-slot');
+
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 var $AsyncFromSyncIteratorPrototype = GetIntrinsic('%AsyncFromSyncIteratorPrototype%', true) || {
@@ -70,5 +70,5 @@
 				result = Call(iteratorReturn, syncIterator); // step 9.a
 			}
-			if (!isObject(result)) { // step 11
+			if (Type(result) !== 'Object') { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `return` method returned a non-object value.')]); // step 11.a
 				return;
@@ -106,5 +106,5 @@
 				result = Call(throwMethod, syncIterator); // step 9.a
 			}
-			if (!isObject(result)) { // step 11
+			if (Type(result) !== 'Object') { // step 11
 				Call(reject, undefined, [new $TypeError('Iterator `throw` method returned a non-object value.')]); // step 11.a
 				return;
Index: imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateDataProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,17 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var OrdinaryDefineOwnProperty = require('./OrdinaryDefineOwnProperty');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-createdataproperty
 
 module.exports = function CreateDataProperty(O, P, V) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 	var newDesc = {
Index: imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateDataPropertyOrThrow.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,16 +4,15 @@
 
 var CreateDataProperty = require('./CreateDataProperty');
-
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // // https://262.ecma-international.org/14.0/#sec-createdatapropertyorthrow
 
 module.exports = function CreateDataPropertyOrThrow(O, P, V) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 	var success = CreateDataProperty(O, P, V);
Index: imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateHTML.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $replace = callBound('String.prototype.replace');
Index: imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateListFromArrayLike.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
@@ -13,6 +13,4 @@
 var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-
 var defaultElementTypes = ['Undefined', 'Null', 'Boolean', 'String', 'Symbol', 'Number', 'BigInt', 'Object'];
 
@@ -24,5 +22,5 @@
 		: defaultElementTypes;
 
-	if (!isObject(obj)) {
+	if (Type(obj) !== 'Object') {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateMethodProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,18 +7,17 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var SameValue = require('./SameValue');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-createmethodproperty
 
 module.exports = function CreateMethodProperty(O, P, V) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateNonEnumerableDataPropertyOrThrow.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,17 +4,16 @@
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
-
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/13.0/#sec-createnonenumerabledatapropertyorthrow
 
 module.exports = function CreateNonEnumerableDataPropertyOrThrow(O, P, V) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/CreateRegExpStringIterator.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -16,6 +16,5 @@
 var ToLength = require('./ToLength');
 var ToString = require('./ToString');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var SLOT = require('internal-slot');
@@ -45,5 +44,5 @@
 var RegExpStringIteratorNext = function next() {
 	var O = this; // eslint-disable-line no-invalid-this
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('receiver must be an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/DateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/DateString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,5 +6,5 @@
 var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 var padTimeComponent = require('../helpers/padTimeComponent');
 
Index: imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/DefineMethodProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,15 +5,14 @@
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var IsExtensible = require('./IsExtensible');
-
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/13.0/#sec-definemethodproperty
 
 module.exports = function DefineMethodProperty(homeObject, key, closure, enumerable) {
-	if (!isObject(homeObject)) {
+	if (Type(homeObject) !== 'Object') {
 		throw new $TypeError('Assertion failed: `homeObject` is not an Object');
 	}
-	if (!isPropertyKey(key)) {
+	if (!IsPropertyKey(key)) {
 		throw new $TypeError('Assertion failed: `key` is not a Property Key or a Private Name');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/DefinePropertyOrThrow.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,19 +8,18 @@
 var FromPropertyDescriptor = require('./FromPropertyDescriptor');
 var IsDataDescriptor = require('./IsDataDescriptor');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var SameValue = require('./SameValue');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-definepropertyorthrow
 
 module.exports = function DefinePropertyOrThrow(O, P, desc) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/DeletePropertyOrThrow.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,16 +3,16 @@
 var $TypeError = require('es-errors/type');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-deletepropertyorthrow
 
 module.exports = function DeletePropertyOrThrow(O, P) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/EnumerableOwnProperties.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,19 +1,25 @@
 'use strict';
+
+var GetIntrinsic = require('get-intrinsic');
 
 var $TypeError = require('es-errors/type');
 
 var objectKeys = require('object-keys');
-var safePushApply = require('safe-push-apply');
-var callBound = require('call-bound');
+
+var callBound = require('call-bind/callBound');
+
+var callBind = require('call-bind');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
+var $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));
 
 var forEach = require('../helpers/forEach');
-var isObject = require('../helpers/isObject');
+
+var Type = require('./Type');
 
 // https://262.ecma-international.org/14.0/#sec-enumerableownproperties
 
 module.exports = function EnumerableOwnProperties(O, kind) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -27,5 +33,5 @@
 		forEach(keys, function (key) {
 			if ($isEnumerable(O, key)) {
-				safePushApply(results, [
+				$pushApply(results, [
 					kind === 'value' ? O[key] : [key, O[key]]
 				]);
Index: imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/FindViaPredicate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,4 @@
 
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 
 var Call = require('./Call');
@@ -9,11 +8,10 @@
 var IsCallable = require('./IsCallable');
 var ToString = require('./ToString');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-
-// https://262.ecma-international.org/14.0/#sec-findviapredicate
+var isInteger = require('../helpers/isInteger');
 
 module.exports = function FindViaPredicate(O, len, direction, predicate, thisArg) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/FlattenIntoArray.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var Call = require('./Call');
Index: imaps-frontend/node_modules/es-abstract/2023/Get.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Get.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Get.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,6 +5,6 @@
 var inspect = require('object-inspect');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-get-o-p
@@ -12,10 +12,10 @@
 module.exports = function Get(O, P) {
 	// 7.3.1.1
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 	// 7.3.1.2
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
 	}
 	// 7.3.1.3
Index: imaps-frontend/node_modules/es-abstract/2023/GetIterator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetIterator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetIterator.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -17,10 +17,4 @@
 var getIteratorMethod = require('../helpers/getIteratorMethod');
 
-var ES = {
-	AdvanceStringIndex: AdvanceStringIndex,
-	GetMethod: GetMethod,
-	IsArray: IsArray
-};
-
 // https://262.ecma-international.org/14.0/#sec-getiterator
 
@@ -38,5 +32,12 @@
 	if (typeof method === 'undefined') { // step 1.b
 		// var syncMethod = GetMethod(obj, $iterator); // step 1.b.i
-		var syncMethod = getIteratorMethod(ES, obj);
+		var syncMethod = getIteratorMethod(
+			{
+				AdvanceStringIndex: AdvanceStringIndex,
+				GetMethod: GetMethod,
+				IsArray: IsArray
+			},
+			obj
+		);
 		if (kind === 'async') {
 			if (typeof syncMethod === 'undefined') {
Index: imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetIteratorFromMethod.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,6 +6,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/14.0/#sec-getiteratorfrommethod
@@ -17,5 +16,5 @@
 
 	var iterator = Call(method, obj); // step 1
-	if (!isObject(iterator)) {
+	if (Type(iterator) !== 'Object') {
 		throw new $TypeError('iterator must return an object'); // step 2
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/GetMethod.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetMethod.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetMethod.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var GetV = require('./GetV');
 var IsCallable = require('./IsCallable');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 
 var inspect = require('object-inspect');
@@ -13,6 +13,6 @@
 module.exports = function GetMethod(O, P) {
 	// 7.3.9.1
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetOwnPropertyKeys.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -11,10 +11,10 @@
 var keys = require('object-keys');
 
-var isObject = require('../helpers/isObject');
+var esType = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-getownpropertykeys
 
 module.exports = function GetOwnPropertyKeys(O, Type) {
-	if (!isObject(O)) {
+	if (esType(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetPrototypeFromConstructor.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -9,6 +9,5 @@
 var Get = require('./Get');
 var IsConstructor = require('./IsConstructor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-getprototypefromconstructor
@@ -16,5 +15,5 @@
 module.exports = function GetPrototypeFromConstructor(constructor, intrinsicDefaultProto) {
 	var intrinsic = GetIntrinsic(intrinsicDefaultProto); // throws if not a valid intrinsic
-	if (!isObject(intrinsic)) {
+	if (Type(intrinsic) !== 'Object') {
 		throw new $TypeError('intrinsicDefaultProto must be an object');
 	}
@@ -23,5 +22,5 @@
 	}
 	var proto = Get(constructor, 'prototype');
-	if (!isObject(proto)) {
+	if (Type(proto) !== 'Object') {
 		if (!(constructor instanceof $Function)) {
 			// ignore other realms, for now
Index: imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetStringIndex.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,9 +1,11 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
+
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 
 var StringToCodePoints = require('./StringToCodePoints');
+
+var isInteger = require('../helpers/isInteger');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetSubstitution.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,7 +2,9 @@
 
 var $TypeError = require('es-errors/type');
+
+var regexTester = require('safe-regex-test');
+var every = require('../helpers/every');
+
 var inspect = require('object-inspect');
-var isInteger = require('math-intrinsics/isInteger');
-var regexTester = require('safe-regex-test');
 
 var Get = require('./Get');
@@ -13,9 +15,9 @@
 var substring = require('./substring');
 var ToString = require('./ToString');
+var Type = require('./Type');
 
-var every = require('../helpers/every');
-var isObject = require('../helpers/isObject');
+var isInteger = require('../helpers/isInteger');
+var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 var isPrefixOf = require('../helpers/isPrefixOf');
-var isStringOrUndefined = require('../helpers/isStringOrUndefined');
 
 var startsWithDollarDigit = regexTester(/^\$[0-9]/);
@@ -42,5 +44,5 @@
 	}
 
-	if (typeof namedCaptures !== 'undefined' && !isObject(namedCaptures)) {
+	if (typeof namedCaptures !== 'undefined' && Type(namedCaptures) !== 'Object') {
 		throw new $TypeError('Assertion failed: `namedCaptures` must be `undefined` or an Object');
 	}
@@ -113,5 +115,5 @@
 				ref = substring(templateRemainder, 0, gtPos + 1); // step 5.g.iii.1
 				var groupName = substring(templateRemainder, 2, gtPos); // step 5.g.iii.2
-				if (!isObject(namedCaptures)) {
+				if (Type(namedCaptures) !== 'Object') {
 					throw new $TypeError('Assertion failed: Type(namedCaptures) is not Object'); // step 5.g.iii.3
 				}
Index: imaps-frontend/node_modules/es-abstract/2023/GetV.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetV.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetV.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var inspect = require('object-inspect');
 
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 // var ToObject = require('./ToObject');
 
@@ -12,6 +12,6 @@
 module.exports = function GetV(V, P) {
 	// 7.3.2.1
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key, got ' + inspect(P));
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true, got ' + inspect(P));
 	}
 
Index: imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/GetValueFromBuffer.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,9 +6,10 @@
 var $TypeError = require('es-errors/type');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
-var isInteger = require('math-intrinsics/isInteger');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $slice = callBound('Array.prototype.slice');
+
+var isInteger = require('../helpers/isInteger');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
Index: imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/HasOwnProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,14 +5,14 @@
 var hasOwn = require('hasown');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-hasownproperty
 
 module.exports = function HasOwnProperty(O, P) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/HasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/HasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/HasProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-hasproperty
 
 module.exports = function HasProperty(O, P) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/InstallErrorCause.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,15 +6,14 @@
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/13.0/#sec-installerrorcause
 
 module.exports = function InstallErrorCause(O, options) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
 
-	if (isObject(options) && HasProperty(options, 'cause')) {
+	if (Type(options) === 'Object' && HasProperty(options, 'cause')) {
 		var cause = Get(options, 'cause');
 		CreateNonEnumerableDataPropertyOrThrow(O, 'cause', cause);
Index: imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/InstanceofOperator.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var $TypeError = require('es-errors/type');
 
-var $hasInstance = GetIntrinsic('%Symbol.hasInstance%', true);
+var $hasInstance = GetIntrinsic('Symbol.hasInstance', true);
 
 var Call = require('./Call');
@@ -12,11 +12,10 @@
 var OrdinaryHasInstance = require('./OrdinaryHasInstance');
 var ToBoolean = require('./ToBoolean');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-instanceofoperator
 
 module.exports = function InstanceofOperator(O, C) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/InternalizeJSONProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -10,7 +10,7 @@
 var LengthOfArrayLike = require('./LengthOfArrayLike');
 var ToString = require('./ToString');
+var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
-var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/14.0/#sec-internalizejsonproperty
@@ -19,5 +19,5 @@
 
 module.exports = function InternalizeJSONProperty(holder, name, reviver) {
-	if (!isObject(holder)) {
+	if (Type(holder) !== 'Object') {
 		throw new $TypeError('Assertion failed: `holder` is not an Object');
 	}
@@ -31,5 +31,5 @@
 	var val = Get(holder, name); // step 1
 
-	if (isObject(val)) { // step 2
+	if (Type(val) === 'Object') { // step 2
 		var isArray = IsArray(val); // step 2.a
 		if (isArray) { // step 2.b
Index: imaps-frontend/node_modules/es-abstract/2023/Invoke.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Invoke.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Invoke.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,10 +6,10 @@
 var IsArray = require('./IsArray');
 var GetV = require('./GetV');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-invoke
 
 module.exports = function Invoke(O, P) {
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsConcatSpreadable.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,11 +8,10 @@
 var IsArray = require('./IsArray');
 var ToBoolean = require('./ToBoolean');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-isconcatspreadable
 
 module.exports = function IsConcatSpreadable(O) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsDetachedBuffer.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var $byteLength = require('array-buffer-byte-length');
 var availableTypedArrays = require('available-typed-arrays')();
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var isArrayBuffer = require('is-array-buffer');
 var isSharedArrayBuffer = require('is-shared-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsIntegralNumber.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var truncate = require('./truncate');
 
-var $isFinite = require('math-intrinsics/isFinite');
+var $isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-isintegralnumber
Index: imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsLessThan.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,8 +5,8 @@
 var $Number = GetIntrinsic('%Number%');
 var $TypeError = require('es-errors/type');
-var min = require('math-intrinsics/min');
-var $isNaN = require('math-intrinsics/isNaN');
+var min = GetIntrinsic('%Math.min%');
 
-var $charCodeAt = require('call-bound')('String.prototype.charCodeAt');
+var $isNaN = require('../helpers/isNaN');
+var $charCodeAt = require('call-bind/callBound')('String.prototype.charCodeAt');
 
 var StringToBigInt = require('./StringToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsLooselyEqual.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 var IsStrictlyEqual = require('./IsStrictlyEqual');
@@ -9,10 +9,10 @@
 var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-
 // https://262.ecma-international.org/13.0/#sec-islooselyequal
 
 module.exports = function IsLooselyEqual(x, y) {
-	if (Type(x) === Type(y)) {
+	var xType = Type(x);
+	var yType = Type(y);
+	if (xType === yType) {
 		return IsStrictlyEqual(x, y);
 	}
@@ -20,11 +20,11 @@
 		return true;
 	}
-	if (typeof x === 'number' && typeof y === 'string') {
+	if (xType === 'Number' && yType === 'String') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if (typeof x === 'string' && typeof y === 'number') {
+	if (xType === 'String' && yType === 'Number') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (typeof x === 'bigint' && typeof y === 'string') {
+	if (xType === 'BigInt' && yType === 'String') {
 		var n = StringToBigInt(y);
 		if (typeof n === 'undefined') {
@@ -33,20 +33,20 @@
 		return IsLooselyEqual(x, n);
 	}
-	if (typeof x === 'string' && typeof y === 'bigint') {
+	if (xType === 'String' && yType === 'BigInt') {
 		return IsLooselyEqual(y, x);
 	}
-	if (typeof x === 'boolean') {
+	if (xType === 'Boolean') {
 		return IsLooselyEqual(ToNumber(x), y);
 	}
-	if (typeof y === 'boolean') {
+	if (yType === 'Boolean') {
 		return IsLooselyEqual(x, ToNumber(y));
 	}
-	if ((typeof x === 'string' || typeof x === 'number' || typeof x === 'symbol' || typeof x === 'bigint') && isObject(y)) {
+	if ((xType === 'String' || xType === 'Number' || xType === 'Symbol' || xType === 'BigInt') && yType === 'Object') {
 		return IsLooselyEqual(x, ToPrimitive(y));
 	}
-	if (isObject(x) && (typeof y === 'string' || typeof y === 'number' || typeof y === 'symbol' || typeof y === 'bigint')) {
+	if (xType === 'Object' && (yType === 'String' || yType === 'Number' || yType === 'Symbol' || yType === 'BigInt')) {
 		return IsLooselyEqual(ToPrimitive(x), y);
 	}
-	if ((typeof x === 'bigint' && typeof y === 'number') || (typeof x === 'number' && typeof y === 'bigint')) {
+	if ((xType === 'BigInt' && yType === 'Number') || (xType === 'Number' && yType === 'BigInt')) {
 		if (!isFinite(x) || !isFinite(y)) {
 			return false;
Index: imaps-frontend/node_modules/es-abstract/2023/IsPromise.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsPromise.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsPromise.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,14 +1,14 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $PromiseThen = callBound('Promise.prototype.then', true);
 
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-ispromise
 
 module.exports = function IsPromise(x) {
-	if (!isObject(x)) {
+	if (Type(x) !== 'Object') {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsPropertyKey.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,9 +1,7 @@
 'use strict';
-
-var isPropertyKey = require('../helpers/isPropertyKey');
 
 // https://262.ecma-international.org/6.0/#sec-ispropertykey
 
 module.exports = function IsPropertyKey(argument) {
-	return isPropertyKey(argument);
+	return typeof argument === 'string' || typeof argument === 'symbol';
 };
Index: imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsRegExp.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -9,10 +9,8 @@
 var ToBoolean = require('./ToBoolean');
 
-var isObject = require('../helpers/isObject');
-
 // https://262.ecma-international.org/6.0/#sec-isregexp
 
 module.exports = function IsRegExp(argument) {
-	if (!isObject(argument)) {
+	if (!argument || typeof argument !== 'object') {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsSharedArrayBuffer.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var isSharedArrayBuffer = require('is-shared-array-buffer');
@@ -10,5 +10,5 @@
 
 module.exports = function IsSharedArrayBuffer(obj) {
-	if (!isObject(obj)) {
+	if (Type(obj) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsStrictlyEqual.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,7 +8,9 @@
 
 module.exports = function IsStrictlyEqual(x, y) {
-	if (Type(x) !== Type(y)) {
+	var xType = Type(x);
+	var yType = Type(y);
+	if (xType !== yType) {
 		return false;
 	}
-	return typeof x === 'number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
+	return xType === 'Number' ? NumberEqual(x, y) : SameValueNonNumber(x, y);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsValidIntegerIndex.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,8 +2,9 @@
 
 var $TypeError = require('es-errors/type');
-var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
 var IsIntegralNumber = require('./IsIntegralNumber');
+
+var isNegativeZero = require('../helpers/isNegativeZero');
 
 var typedArrayBuffer = require('typed-array-buffer');
Index: imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IsWordChar.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,6 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
+
+var callBound = require('call-bind/callBound');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -11,4 +11,5 @@
 
 var every = require('../helpers/every');
+var isInteger = require('../helpers/isInteger');
 var isRegExpRecord = require('../helpers/records/regexp-record');
 
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorClose.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,7 +7,7 @@
 var GetMethod = require('./GetMethod');
 var IsCallable = require('./IsCallable');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 // https://262.ecma-international.org/14.0/#sec-iteratorclose
@@ -17,5 +17,5 @@
 		throw new $TypeError('Assertion failed: `iteratorRecord` must be an Iterator Record'); // step 1
 	}
-	if (!isObject(iteratorRecord['[[Iterator]]'])) {
+	if (Type(iteratorRecord['[[Iterator]]']) !== 'Object') {
 		throw new $TypeError('Assertion failed: iteratorRecord.[[Iterator]] must be an Object'); // step 1
 	}
@@ -55,5 +55,5 @@
 	completionThunk = null; // ensure it's not called twice.
 
-	if (!isObject(innerResult)) {
+	if (Type(innerResult) !== 'Object') {
 		throw new $TypeError('iterator .return must return an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorComplete.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,11 +5,10 @@
 var Get = require('./Get');
 var ToBoolean = require('./ToBoolean');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorcomplete
 
 module.exports = function IteratorComplete(iterResult) {
-	if (!isObject(iterResult)) {
+	if (Type(iterResult) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorNext.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,7 +4,7 @@
 
 var Call = require('./Call');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 // https://262.ecma-international.org/14.0/#sec-iteratornext
@@ -22,5 +22,5 @@
 	}
 
-	if (!isObject(result)) {
+	if (Type(result) !== 'Object') {
 		throw new $TypeError('iterator next must return an object'); // step 3
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorStep.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorStep.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorStep.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,5 +6,5 @@
 var IteratorNext = require('./IteratorNext');
 
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 // https://262.ecma-international.org/14.0/#sec-iteratorstep
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorToList.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $arrayPush = callBound('Array.prototype.push');
@@ -10,5 +10,5 @@
 var IteratorValue = require('./IteratorValue');
 
-var isIteratorRecord = require('../helpers/records/iterator-record-2023');
+var isIteratorRecord = require('../helpers/records/iterator-record');
 
 // https://262.ecma-international.org/14.0/#sec-iteratortolist
Index: imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/IteratorValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,11 +4,10 @@
 
 var Get = require('./Get');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-iteratorvalue
 
 module.exports = function IteratorValue(iterResult) {
-	if (!isObject(iterResult)) {
+	if (Type(iterResult) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(iterResult) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/KeyForSymbol.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $keyFor = callBound('Symbol.keyFor', true);
Index: imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/LengthOfArrayLike.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,11 +5,10 @@
 var Get = require('./Get');
 var ToLength = require('./ToLength');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/11.0/#sec-lengthofarraylike
 
 module.exports = function LengthOfArrayLike(obj) {
-	if (!isObject(obj)) {
+	if (Type(obj) !== 'Object') {
 		throw new $TypeError('Assertion failed: `obj` must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/MakeDate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeDate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeDate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,6 +1,5 @@
 'use strict';
 
-var $isFinite = require('math-intrinsics/isFinite');
-
+var $isFinite = require('../helpers/isFinite');
 var msPerDay = require('../helpers/timeConstants').msPerDay;
 
Index: imaps-frontend/node_modules/es-abstract/2023/MakeDay.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeDay.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeDay.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var $DateUTC = GetIntrinsic('%Date.UTC%');
 
-var $isFinite = require('math-intrinsics/isFinite');
+var $isFinite = require('../helpers/isFinite');
 
 var DateFromTime = require('./DateFromTime');
Index: imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeMatchIndicesIndexPairArray.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -21,5 +21,5 @@
 };
 
-var MAX_ARRAY_LENGTH = require('math-intrinsics/constants/maxArrayLength');
+var MAX_ARRAY_LENGTH = Math.pow(2, 32) - 1;
 
 // https://262.ecma-international.org/13.0/#sec-getmatchindexpair
Index: imaps-frontend/node_modules/es-abstract/2023/MakeTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MakeTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/MakeTime.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isFinite = require('math-intrinsics/isFinite');
+var $isFinite = require('../helpers/isFinite');
 var timeConstants = require('../helpers/timeConstants');
 var msPerSecond = timeConstants.msPerSecond;
Index: imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/MonthFromTime.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,3 @@
 'use strict';
-
-var $RangeError = require('es-errors/range');
 
 var DayWithinYear = require('./DayWithinYear');
@@ -47,5 +45,3 @@
 		return 11;
 	}
-
-	throw new $RangeError('Assertion failed: `day` is out of range');
 };
Index: imaps-frontend/node_modules/es-abstract/2023/Number/add.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/add.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/add.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
-var isFinite = require('math-intrinsics/isFinite');
-var isNaN = require('math-intrinsics/isNaN');
+
+var isFinite = require('../../helpers/isFinite');
+var isNaN = require('../../helpers/isNaN');
 
 // https://262.ecma-international.org/12.0/#sec-numeric-types-number-add
Index: imaps-frontend/node_modules/es-abstract/2023/Number/divide.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/divide.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/divide.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
-var isFinite = require('math-intrinsics/isFinite');
-var isNaN = require('math-intrinsics/isNaN');
+
+var isFinite = require('../../helpers/isFinite');
+var isNaN = require('../../helpers/isNaN');
 
 // https://262.ecma-international.org/11.0/#sec-numeric-types-number-divide
Index: imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/exponentiate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,15 +1,17 @@
 'use strict';
 
-// var isNegativeZero = require('math-intrinsics/isNegativeZero');
-var $pow = require('math-intrinsics/pow');
+var GetIntrinsic = require('get-intrinsic');
+// var isNegativeZero = require('is-negative-zero');
+
+var $pow = GetIntrinsic('%Math.pow%');
 
 var $TypeError = require('es-errors/type');
 
 /*
-var abs = require('math-intrinsics/abs');
-var isFinite = require('math-intrinsics/isFinite');
-var isNaN = require('math-intrinsics/isNaN');
+var abs = require('../../helpers/abs');
+var isFinite = require('../../helpers/isFinite');
+var isNaN = require('../../helpers/isNaN');
 
-var IsInteger = require('math-intrinsics/isInteger');
+var IsInteger = require('../IsInteger');
 */
 
Index: imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/remainder.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,6 +2,7 @@
 
 var $TypeError = require('es-errors/type');
-var isNaN = require('math-intrinsics/isNaN');
-var isFinite = require('math-intrinsics/isFinite');
+
+var isNaN = require('../../helpers/isNaN');
+var isFinite = require('../../helpers/isFinite');
 
 var truncate = require('../truncate');
Index: imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/sameValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,6 @@
 'use strict';
 
-var isNegativeZero = require('math-intrinsics/isNegativeZero');
+var isNegativeZero = require('is-negative-zero');
+
 var $TypeError = require('es-errors/type');
 
Index: imaps-frontend/node_modules/es-abstract/2023/Number/toString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Number/toString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Number/toString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,8 +2,10 @@
 
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
+
+var callBound = require('call-bind/callBound');
 
 var $numberToString = callBound('Number.prototype.toString');
+
+var isInteger = require('../../helpers/isInteger');
 
 // https://262.ecma-international.org/14.0/#sec-numeric-types-number-tostring
Index: imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ObjectDefineProperties.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
@@ -10,15 +10,12 @@
 var forEach = require('../helpers/forEach');
 var getOwnPropertyDescriptor = require('gopd');
-var OwnPropertyKeys = require('own-keys');
+var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
 
 var $push = callBound('Array.prototype.push');
 
 // https://262.ecma-international.org/6.0/#sec-objectdefineproperties
-
-/** @type {<T extends Record<PropertyKey, unknown> = {}>(O: T, Properties: object) => T} */
 module.exports = function ObjectDefineProperties(O, Properties) {
 	var props = ToObject(Properties); // step 1
 	var keys = OwnPropertyKeys(props); // step 2
-	/** @type {[string | symbol, import('../types').Descriptor][]} */
 	var descriptors = []; // step 3
 
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryDefineOwnProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -9,18 +9,17 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var IsExtensible = require('./IsExtensible');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
 var SameValue = require('./SameValue');
+var Type = require('./Type');
 var ValidateAndApplyPropertyDescriptor = require('./ValidateAndApplyPropertyDescriptor');
-
-var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarydefineownproperty
 
 module.exports = function OrdinaryDefineOwnProperty(O, P, Desc) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetOwnProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,5 +4,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');
@@ -11,17 +11,16 @@
 
 var IsArray = require('./IsArray');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var IsRegExp = require('./IsRegExp');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-ordinarygetownproperty
 
 module.exports = function OrdinaryGetOwnProperty(O, P) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,11 +3,12 @@
 var $TypeError = require('es-errors/type');
 
-var $getProto = require('get-proto');
-var isObject = require('../helpers/isObject');
+var $getProto = require('../helpers/getProto');
+
+var Type = require('./Type');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarygetprototypeof
 
 module.exports = function OrdinaryGetPrototypeOf(O) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: O must be an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasInstance.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,6 +5,5 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasinstance
@@ -14,9 +13,9 @@
 		return false;
 	}
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		return false;
 	}
 	var P = Get(C, 'prototype');
-	if (!isObject(P)) {
+	if (Type(P) !== 'Object') {
 		throw new $TypeError('OrdinaryHasInstance called on an object with an invalid prototype property.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryHasProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,14 +3,14 @@
 var $TypeError = require('es-errors/type');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-ordinaryhasproperty
 
 module.exports = function OrdinaryHasProperty(O, P) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryObjectCreate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -8,7 +8,7 @@
 
 var IsArray = require('./IsArray');
+var Type = require('./Type');
 
 var forEach = require('../helpers/forEach');
-var isObject = require('../helpers/isObject');
 
 var SLOT = require('internal-slot');
@@ -19,5 +19,5 @@
 
 module.exports = function OrdinaryObjectCreate(proto) {
-	if (proto !== null && !isObject(proto)) {
+	if (proto !== null && Type(proto) !== 'Object') {
 		throw new $TypeError('Assertion failed: `proto` must be null or an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,14 +2,13 @@
 
 var $TypeError = require('es-errors/type');
-var $setProto = require('set-proto');
+
+var $setProto = require('../helpers/setProto');
 
 var OrdinaryGetPrototypeOf = require('./OrdinaryGetPrototypeOf');
-
-var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/7.0/#sec-ordinarysetprototypeof
 
 module.exports = function OrdinarySetPrototypeOf(O, V) {
-	if (V !== null && !isObject(V)) {
+	if (typeof V !== 'object') {
 		throw new $TypeError('Assertion failed: V must be Object or Null');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/OrdinaryToPrimitive.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -6,6 +6,5 @@
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var inspect = require('object-inspect');
@@ -14,5 +13,5 @@
 
 module.exports = function OrdinaryToPrimitive(O, hint) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -28,5 +27,5 @@
 		if (IsCallable(method)) {
 			var result = Call(method, O);
-			if (!isObject(result)) {
+			if (Type(result) !== 'Object') {
 				return result;
 			}
Index: imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ParseHexOctet.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,4 +1,7 @@
 'use strict';
 
+var GetIntrinsic = require('get-intrinsic');
+
+var $Number = GetIntrinsic('%Number%');
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
@@ -7,5 +10,5 @@
 var substring = require('./substring');
 
-var isNaN = require('math-intrinsics/isNaN');
+var isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/14.0/#sec-parsehexoctet
@@ -26,5 +29,5 @@
 	var hexDigits = substring(string, position, position + 2); // step 3
 
-	var n = +('0x' + hexDigits);
+	var n = $Number('0x' + hexDigits);
 	if (isNaN(n)) {
 		return [new $SyntaxError('Invalid hexadecimal characters')];
Index: imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/QuoteJSONString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var forEach = require('../helpers/forEach');
 var isLeadingSurrogate = require('../helpers/isLeadingSurrogate');
@@ -9,5 +9,4 @@
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
-var $strSplit = callBound('String.prototype.split');
 
 var StringToCodePoints = require('./StringToCodePoints');
@@ -35,10 +34,10 @@
 	var product = '"';
 	if (value) {
-		forEach($strSplit(StringToCodePoints(value), ''), function (C) {
+		forEach(StringToCodePoints(value), function (C) {
 			if (hasOwn(escapes, C)) {
 				product += escapes[C];
 			} else {
 				var cCharCode = $charCodeAt(C, 0);
-				if (cCharCode < 0x20 || isLeadingSurrogate(cCharCode) || isTrailingSurrogate(cCharCode)) {
+				if (cCharCode < 0x20 || isLeadingSurrogate(C) || isTrailingSurrogate(C)) {
 					product += UnicodeEscape(C);
 				} else {
Index: imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/RawBytesToNumeric.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $RangeError = require('es-errors/range');
Index: imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/RegExpExec.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,16 +3,15 @@
 var $TypeError = require('es-errors/type');
 
-var regexExec = require('call-bound')('RegExp.prototype.exec');
+var regexExec = require('call-bind/callBound')('RegExp.prototype.exec');
 
 var Call = require('./Call');
 var Get = require('./Get');
 var IsCallable = require('./IsCallable');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-regexpexec
 
 module.exports = function RegExpExec(R, S) {
-	if (!isObject(R)) {
+	if (Type(R) !== 'Object') {
 		throw new $TypeError('Assertion failed: `R` must be an Object');
 	}
@@ -23,5 +22,5 @@
 	if (IsCallable(exec)) {
 		var result = Call(exec, R, [S]);
-		if (result === null || isObject(result)) {
+		if (typeof result === 'object') {
 			return result;
 		}
Index: imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/RegExpHasFlag.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var GetIntrinsic = require('get-intrinsic');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
@@ -8,6 +8,5 @@
 
 var SameValue = require('./SameValue');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var $indexOf = callBound('String.prototype.indexOf');
@@ -23,5 +22,5 @@
 	}
 
-	if (!isObject(R)) {
+	if (Type(R) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(R) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SameValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 
 // http://262.ecma-international.org/5.1/#sec-9.12
Index: imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValueNonNumber.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -9,8 +9,9 @@
 
 module.exports = function SameValueNonNumber(x, y) {
-	if (typeof x === 'number') {
+	var xType = Type(x);
+	if (xType === 'Number') {
 		throw new $TypeError('Assertion failed: SameValueNonNumber does not accept Number values');
 	}
-	if (Type(x) !== Type(y)) {
+	if (xType !== Type(y)) {
 		throw new $TypeError('SameValueNonNumber requires two non-Number values of the same type.');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SameValueZero.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-samevaluezero
Index: imaps-frontend/node_modules/es-abstract/2023/Set.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/Set.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/Set.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,8 +3,7 @@
 var $TypeError = require('es-errors/type');
 
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var SameValue = require('./SameValue');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // IE 9 does not throw in strict mode when writability/configurability/extensibility is violated
@@ -21,8 +20,8 @@
 
 module.exports = function Set(O, P, V, Throw) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: `O` must be an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: `P` must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SetFunctionLength.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,9 +2,10 @@
 
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
 var HasOwnProperty = require('./HasOwnProperty');
 var IsExtensible = require('./IsExtensible');
+
+var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/12.0/#sec-setfunctionlength
Index: imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SetIntegrityLevel.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -14,11 +14,10 @@
 var IsAccessorDescriptor = require('./IsAccessorDescriptor');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-setintegritylevel
 
 module.exports = function SetIntegrityLevel(O, level) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromArrayLike.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,4 @@
 var $RangeError = require('es-errors/range');
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 
 var isTypedArray = require('is-typed-array');
@@ -9,4 +8,6 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
+
+var isInteger = require('../helpers/isInteger');
 
 var Get = require('./Get');
Index: imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SetTypedArrayFromTypedArray.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,6 +4,5 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
+
 var typedArrayBuffer = require('typed-array-buffer');
 var typedArrayByteLength = require('typed-array-byte-length');
@@ -11,4 +10,6 @@
 var typedArrayLength = require('typed-array-length');
 var whichTypedArray = require('which-typed-array');
+
+var isInteger = require('../helpers/isInteger');
 
 var CloneArrayBuffer = require('./CloneArrayBuffer');
@@ -20,6 +21,4 @@
 var TypedArrayElementSize = require('./TypedArrayElementSize');
 var TypedArrayElementType = require('./TypedArrayElementType');
-
-var $ArrayBuffer = callBound('ArrayBuffer', true);
 
 // https://262.ecma-international.org/14.0/#sec-settypedarrayfromtypedarray
@@ -92,5 +91,5 @@
 		var srcByteLength = typedArrayByteLength(source); // step 17.a
 
-		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength, $ArrayBuffer); // step 17.b
+		srcBuffer = CloneArrayBuffer(srcBuffer, srcByteOffset, srcByteLength); // step 17.b
 
 		srcByteIndex = 0; // step 17.c
Index: imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SetValueInBuffer.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,6 +5,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
 var $Uint8Array = GetIntrinsic('%Uint8Array%', true);
+
+var isInteger = require('../helpers/isInteger');
 
 var IsBigIntElementType = require('./IsBigIntElementType');
Index: imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SortIndexedProperties.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,14 +1,15 @@
 'use strict';
 
+var callBound = require('call-bind/callBound');
+
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
 
 var Get = require('./Get');
 var HasProperty = require('./HasProperty');
 var ToString = require('./ToString');
+var Type = require('./Type');
 
 var isAbstractClosure = require('../helpers/isAbstractClosure');
-var isObject = require('../helpers/isObject');
+var isInteger = require('../helpers/isInteger');
 
 var $push = callBound('Array.prototype.push');
@@ -18,5 +19,5 @@
 
 module.exports = function SortIndexedProperties(obj, len, SortCompare, holes) {
-	if (!isObject(obj)) {
+	if (Type(obj) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(obj) is not Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SpeciesConstructor.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,11 +7,10 @@
 
 var IsConstructor = require('./IsConstructor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-speciesconstructor
 
 module.exports = function SpeciesConstructor(O, defaultConstructor) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -20,5 +19,5 @@
 		return defaultConstructor;
 	}
-	if (!isObject(C)) {
+	if (Type(C) !== 'Object') {
 		throw new $TypeError('O.constructor is not an Object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/StringCreate.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringCreate.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringCreate.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,7 +7,8 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var setProto = require('set-proto');
 
 var DefinePropertyOrThrow = require('./DefinePropertyOrThrow');
+
+var setProto = require('../helpers/setProto');
 
 // https://262.ecma-international.org/6.0/#sec-stringcreate
Index: imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringGetOwnProperty.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,7 +2,6 @@
 
 var $TypeError = require('es-errors/type');
-var isNegativeZero = require('math-intrinsics/isNegativeZero');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var $charAt = callBound('String.prototype.charAt');
 var $stringToString = callBound('String.prototype.toString');
@@ -10,7 +9,8 @@
 var CanonicalNumericIndexString = require('./CanonicalNumericIndexString');
 var IsIntegralNumber = require('./IsIntegralNumber');
+var IsPropertyKey = require('./IsPropertyKey');
+var Type = require('./Type');
 
-var isObject = require('../helpers/isObject');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var isNegativeZero = require('is-negative-zero');
 
 // https://262.ecma-international.org/12.0/#sec-stringgetownproperty
@@ -18,5 +18,5 @@
 module.exports = function StringGetOwnProperty(S, P) {
 	var str;
-	if (isObject(S)) {
+	if (Type(S) === 'Object') {
 		try {
 			str = $stringToString(S);
@@ -26,6 +26,6 @@
 		throw new $TypeError('Assertion failed: `S` must be a boxed string object');
 	}
-	if (!isPropertyKey(P)) {
-		throw new $TypeError('Assertion failed: P is not a Property Key');
+	if (!IsPropertyKey(P)) {
+		throw new $TypeError('Assertion failed: IsPropertyKey(P) is not true');
 	}
 	if (typeof P !== 'string') {
Index: imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringIndexOf.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,8 +1,9 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
+
+var isInteger = require('../helpers/isInteger');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/StringPad.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringPad.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringPad.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var ToLength = require('./ToLength');
Index: imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringToCodePoints.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $push = callBound('Array.prototype.push');
Index: imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/StringToNumber.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,9 +3,10 @@
 var GetIntrinsic = require('get-intrinsic');
 
+var $Number = GetIntrinsic('%Number%');
 var $RegExp = GetIntrinsic('%RegExp%');
 var $TypeError = require('es-errors/type');
 var $parseInteger = GetIntrinsic('%parseInt%');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var regexTester = require('safe-regex-test');
 
@@ -27,8 +28,8 @@
 	}
 	if (isBinary(argument)) {
-		return +$parseInteger($strSlice(argument, 2), 2);
+		return $Number($parseInteger($strSlice(argument, 2), 2));
 	}
 	if (isOctal(argument)) {
-		return +$parseInteger($strSlice(argument, 2), 8);
+		return $Number($parseInteger($strSlice(argument, 2), 8));
 	}
 	if (hasNonWS(argument) || isInvalidHexLiteral(argument)) {
@@ -39,4 +40,4 @@
 		return StringToNumber(trimmed);
 	}
-	return +argument;
+	return $Number(argument);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/SymbolDescriptiveString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $SymbolToString = callBound('Symbol.prototype.toString', true);
Index: imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TestIntegrityLevel.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,16 +5,15 @@
 
 var every = require('../helpers/every');
-var OwnPropertyKeys = require('own-keys');
+var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
 
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsExtensible = require('./IsExtensible');
 var ToPropertyDescriptor = require('./ToPropertyDescriptor');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 // https://262.ecma-international.org/6.0/#sec-testintegritylevel
 
 module.exports = function TestIntegrityLevel(O, level) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: Type(O) is not Object');
 	}
@@ -23,5 +22,5 @@
 	}
 	var status = IsExtensible(O);
-	if (status || !$gOPD) {
+	if (status) {
 		return false;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/TimeClip.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeClip.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeClip.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,8 +4,9 @@
 
 var $Date = GetIntrinsic('%Date%');
+var $Number = GetIntrinsic('%Number%');
 
-var $isFinite = require('math-intrinsics/isFinite');
-var abs = require('math-intrinsics/abs');
+var $isFinite = require('../helpers/isFinite');
 
+var abs = require('./abs');
 var ToNumber = require('./ToNumber');
 
@@ -16,5 +17,5 @@
 		return NaN;
 	}
-	return +new $Date(ToNumber(time));
+	return $Number(new $Date(ToNumber(time)));
 };
 
Index: imaps-frontend/node_modules/es-abstract/2023/TimeString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 
 var HourFromTime = require('./HourFromTime');
Index: imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TimeZoneString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,6 +5,8 @@
 var $Date = GetIntrinsic('%Date%');
 var $TypeError = require('es-errors/type');
-var callBound = require('call-bound');
-var isInteger = require('math-intrinsics/isInteger');
+
+var isInteger = require('../helpers/isInteger');
+
+var callBound = require('call-bind/callBound');
 
 var $indexOf = callBound('String.prototype.indexOf');
Index: imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToBigInt64.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,5 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-var $pow = require('math-intrinsics/pow');
+var $pow = GetIntrinsic('%Math.pow%');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToBigUint64.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,6 +4,5 @@
 
 var $BigInt = GetIntrinsic('%BigInt%', true);
-
-var $pow = require('math-intrinsics/pow');
+var $pow = GetIntrinsic('%Math.pow%');
 
 var ToBigInt = require('./ToBigInt');
Index: imaps-frontend/node_modules/es-abstract/2023/ToDateString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToDateString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToDateString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -7,5 +7,5 @@
 var $String = GetIntrinsic('%String%');
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-todatestring
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt16.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint16
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt32.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint32
Index: imaps-frontend/node_modules/es-abstract/2023/ToInt8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToInt8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToInt8.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-toint8
Index: imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToIntegerOrInfinity.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,6 +4,6 @@
 var truncate = require('./truncate');
 
-var $isNaN = require('math-intrinsics/isNaN');
-var $isFinite = require('math-intrinsics/isFinite');
+var $isNaN = require('../helpers/isNaN');
+var $isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-tointegerorinfinity
Index: imaps-frontend/node_modules/es-abstract/2023/ToLength.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToLength.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToLength.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var MAX_SAFE_INTEGER = require('math-intrinsics/constants/maxSafeInteger');
+var MAX_SAFE_INTEGER = require('../helpers/maxSafeInteger');
 
 var ToIntegerOrInfinity = require('./ToIntegerOrInfinity');
Index: imaps-frontend/node_modules/es-abstract/2023/ToNumber.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToNumber.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToNumber.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -23,4 +23,4 @@
 		return StringToNumber(value);
 	}
-	return +value;
+	return $Number(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToPropertyDescriptor.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,13 +5,12 @@
 var $TypeError = require('es-errors/type');
 
+var Type = require('./Type');
+var ToBoolean = require('./ToBoolean');
 var IsCallable = require('./IsCallable');
-var ToBoolean = require('./ToBoolean');
-
-var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/5.1/#sec-8.10.5
 
 module.exports = function ToPropertyDescriptor(Obj) {
-	if (!isObject(Obj)) {
+	if (Type(Obj) !== 'Object') {
 		throw new $TypeError('ToPropertyDescriptor requires an object');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint16.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint16.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint16.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint16
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint32.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint32.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint32.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var truncate = require('./truncate');
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 // https://262.ecma-international.org/14.0/#sec-touint32
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint8.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint8.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint8.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var isFinite = require('math-intrinsics/isFinite');
+var isFinite = require('../helpers/isFinite');
 
 var modulo = require('./modulo');
Index: imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToUint8Clamp.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,5 +4,5 @@
 var floor = require('./floor');
 
-var $isNaN = require('math-intrinsics/isNaN');
+var $isNaN = require('../helpers/isNaN');
 
 // https://262.ecma-international.org/6.0/#sec-touint8clamp
Index: imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ToZeroPaddedDecimalString.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,7 +5,8 @@
 var $String = GetIntrinsic('%String%');
 var $RangeError = require('es-errors/range');
-var isInteger = require('math-intrinsics/isInteger');
 
 var StringPad = require('./StringPad');
+
+var isInteger = require('../helpers/isInteger');
 
 // https://262.ecma-international.org/13.0/#sec-tozeropaddeddecimalstring
Index: imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementSize.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,7 @@
 var $SyntaxError = require('es-errors/syntax');
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
+
+var isInteger = require('../helpers/isInteger');
+
 var whichTypedArray = require('which-typed-array');
 
@@ -12,5 +14,5 @@
 module.exports = function TypedArrayElementSize(O) {
 	var type = whichTypedArray(O);
-	if (!type) {
+	if (type === false) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/TypedArrayElementType.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -12,5 +12,5 @@
 module.exports = function TypedArrayElementType(O) {
 	var type = whichTypedArray(O);
-	if (!type) {
+	if (type === false) {
 		throw new $TypeError('Assertion failed: `O` must be a TypedArray');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -9,5 +9,5 @@
 var isTrailingSurrogate = require('../helpers/isTrailingSurrogate');
 
-// https://262.ecma-international.org/12.0/#sec-utf16decodesurrogatepair
+// https://tc39.es/ecma262/2020/#sec-utf16decodesurrogatepair
 
 module.exports = function UTF16SurrogatePairToCodePoint(lead, trail) {
Index: imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/UnicodeEscape.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $charCodeAt = callBound('String.prototype.charCodeAt');
Index: imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ValidateAndApplyPropertyDescriptor.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -11,9 +11,7 @@
 var IsDataDescriptor = require('./IsDataDescriptor');
 var IsGenericDescriptor = require('./IsGenericDescriptor');
-var isPropertyKey = require('../helpers/isPropertyKey');
+var IsPropertyKey = require('./IsPropertyKey');
 var SameValue = require('./SameValue');
 var Type = require('./Type');
-
-var isObject = require('../helpers/isObject');
 
 // https://262.ecma-international.org/13.0/#sec-validateandapplypropertydescriptor
@@ -24,8 +22,8 @@
 module.exports = function ValidateAndApplyPropertyDescriptor(O, P, extensible, Desc, current) {
 	var oType = Type(O);
-	if (typeof O !== 'undefined' && !isObject(O)) {
+	if (oType !== 'Undefined' && oType !== 'Object') {
 		throw new $TypeError('Assertion failed: O must be undefined or an Object');
 	}
-	if (!isPropertyKey(P)) {
+	if (!IsPropertyKey(P)) {
 		throw new $TypeError('Assertion failed: P must be a Property Key');
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/ValidateTypedArray.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -4,6 +4,5 @@
 
 var IsDetachedBuffer = require('./IsDetachedBuffer');
-
-var isObject = require('../helpers/isObject');
+var Type = require('./Type');
 
 var isTypedArray = require('is-typed-array');
@@ -13,5 +12,5 @@
 
 module.exports = function ValidateTypedArray(O) {
-	if (!isObject(O)) {
+	if (Type(O) !== 'Object') {
 		throw new $TypeError('Assertion failed: `O` must be an Object'); // step 1
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/WeakRefDeref.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $TypeError = require('es-errors/type');
Index: imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/WordCharacters.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -3,5 +3,5 @@
 var $TypeError = require('es-errors/type');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 var $indexOf = callBound('String.prototype.indexOf', true);
 
@@ -11,5 +11,5 @@
 var forEach = require('../helpers/forEach');
 var isRegExpRecord = require('../helpers/records/regexp-record');
-var OwnPropertyKeys = require('own-keys');
+var OwnPropertyKeys = require('../helpers/OwnPropertyKeys');
 
 var basicWordChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_'; // step 1
Index: imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/YearFromTime.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -5,5 +5,5 @@
 var $Date = GetIntrinsic('%Date%');
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $getUTCFullYear = callBound('Date.prototype.getUTCFullYear');
Index: imaps-frontend/node_modules/es-abstract/2023/abs.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/abs.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/abs.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,7 @@
 'use strict';
 
-var $abs = require('math-intrinsics/abs');
+var GetIntrinsic = require('get-intrinsic');
+
+var $abs = GetIntrinsic('%Math.abs%');
 
 // http://262.ecma-international.org/5.1/#sec-5.2
Index: imaps-frontend/node_modules/es-abstract/2023/clamp.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/clamp.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/clamp.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,7 +1,9 @@
 'use strict';
 
+var GetIntrinsic = require('get-intrinsic');
+
 var $TypeError = require('es-errors/type');
-var max = require('math-intrinsics/max');
-var min = require('math-intrinsics/min');
+var max = GetIntrinsic('%Math.max%');
+var min = GetIntrinsic('%Math.min%');
 
 // https://262.ecma-international.org/12.0/#clamping
Index: imaps-frontend/node_modules/es-abstract/2023/floor.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/floor.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/floor.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 // var modulo = require('./modulo');
-var $floor = require('math-intrinsics/floor');
+var $floor = Math.floor;
 
 // http://262.ecma-international.org/11.0/#eqn-floor
Index: imaps-frontend/node_modules/es-abstract/2023/max.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/max.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/max.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,7 @@
 'use strict';
+
+var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = require('math-intrinsics/max');
+module.exports = GetIntrinsic('%Math.max%');
Index: imaps-frontend/node_modules/es-abstract/2023/min.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/min.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/min.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,7 @@
 'use strict';
+
+var GetIntrinsic = require('get-intrinsic');
 
 // https://262.ecma-international.org/6.0/#sec-algorithm-conventions
 
-module.exports = require('math-intrinsics/min');
+module.exports = GetIntrinsic('%Math.min%');
Index: imaps-frontend/node_modules/es-abstract/2023/substring.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/substring.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/substring.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,6 +2,8 @@
 
 var $TypeError = require('es-errors/type');
-var isInteger = require('math-intrinsics/isInteger');
-var callBound = require('call-bound');
+
+var isInteger = require('../helpers/isInteger');
+
+var callBound = require('call-bind/callBound');
 
 var $slice = callBound('String.prototype.slice');
Index: imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisBigIntValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,13 +1,16 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $SyntaxError = require('es-errors/syntax');
 var $bigIntValueOf = callBound('BigInt.prototype.valueOf', true);
 
+var Type = require('./Type');
+
 // https://262.ecma-international.org/11.0/#sec-thisbigintvalue
 
 module.exports = function thisBigIntValue(value) {
-	if (typeof value === 'bigint') {
+	var type = Type(value);
+	if (type === 'BigInt') {
 		return value;
 	}
Index: imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisBooleanValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $BooleanValueOf = require('call-bound')('Boolean.prototype.valueOf');
+var $BooleanValueOf = require('call-bind/callBound')('Boolean.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-boolean-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisNumberValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $NumberValueOf = callBound('Number.prototype.valueOf');
Index: imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisStringValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,5 +1,5 @@
 'use strict';
 
-var $StringValueOf = require('call-bound')('String.prototype.valueOf');
+var $StringValueOf = require('call-bind/callBound')('String.prototype.valueOf');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-string-prototype-object
Index: imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisSymbolValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -2,5 +2,5 @@
 
 var $SyntaxError = require('es-errors/syntax');
-var callBound = require('call-bound');
+var callBound = require('call-bind/callBound');
 
 var $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);
@@ -9,12 +9,10 @@
 
 module.exports = function thisSymbolValue(value) {
+	if (!$SymbolValueOf) {
+		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
+	}
 	if (typeof value === 'symbol') {
 		return value;
 	}
-
-	if (!$SymbolValueOf) {
-		throw new $SyntaxError('Symbols are not supported; thisSymbolValue requires that `value` be a Symbol or a Symbol object');
-	}
-
 	return $SymbolValueOf(value);
 };
Index: imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js
===================================================================
--- imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js	(revision 79a03170cdde4e801d12257ee86723774970427b)
+++ imaps-frontend/node_modules/es-abstract/2023/thisTimeValue.js	(revision d56544918790c0c3bc50f2f0a98c99f3d2988ccf)
@@ -1,9 +1,9 @@
 'use strict';
 
-var timeValue = require('../helpers/timeValue');
+var $DateGetTime = require('call-bind/callBound')('Date.prototype.getTime');
 
 // https://262.ecma-international.org/6.0/#sec-properties-of-the-date-prototype-object
 
 module.exports = function thisTimeValue(value) {
-	return timeValue(value);
+	return $DateGetTime(value);
 };
