Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 18.188.228.10
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
wb /
node_modules /
webpack /
lib /
util /
Delete
Unzip
Name
Size
Permission
Date
Action
hash
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
ArrayHelpers.js
1.45
KB
-rw-rw-r--
2022-08-30 11:49
ArrayQueue.js
2.15
KB
-rw-rw-r--
2022-08-30 11:49
AsyncQueue.js
9.41
KB
-rw-rw-r--
2022-08-30 11:49
Hash.js
925
B
-rw-rw-r--
2022-08-30 11:49
IterableHelpers.js
962
B
-rw-rw-r--
2022-08-30 11:49
LazyBucketSortedSet.js
5.6
KB
-rw-rw-r--
2022-08-30 11:49
LazySet.js
4.46
KB
-rw-rw-r--
2022-08-30 11:49
MapHelpers.js
472
B
-rw-rw-r--
2022-08-30 11:49
ParallelismFactorCalculator.js
1.49
KB
-rw-rw-r--
2022-08-30 11:49
Queue.js
1.02
KB
-rw-rw-r--
2022-08-30 11:49
Semaphore.js
1008
B
-rw-rw-r--
2022-08-30 11:49
SetHelpers.js
2.26
KB
-rw-rw-r--
2022-08-30 11:49
SortableSet.js
3.55
KB
-rw-rw-r--
2022-08-30 11:49
StackedCacheMap.js
2.23
KB
-rw-rw-r--
2022-08-30 11:49
StackedMap.js
3.37
KB
-rw-rw-r--
2022-08-30 11:49
StringXor.js
1.09
KB
-rw-rw-r--
2022-08-30 11:49
TupleQueue.js
1.29
KB
-rw-rw-r--
2022-08-30 11:49
TupleSet.js
2.84
KB
-rw-rw-r--
2022-08-30 11:49
URLAbsoluteSpecifier.js
2.49
KB
-rw-rw-r--
2022-08-30 11:49
WeakTupleMap.js
3.36
KB
-rw-rw-r--
2022-08-30 11:49
binarySearchBounds.js
1.86
KB
-rw-rw-r--
2022-08-30 11:49
cleverMerge.js
16.15
KB
-rw-rw-r--
2022-08-30 11:49
comparators.js
12.15
KB
-rw-rw-r--
2022-08-30 11:49
compileBooleanMatcher.js
5.68
KB
-rw-rw-r--
2022-08-30 11:49
create-schema-validation.js
711
B
-rw-rw-r--
2022-08-30 11:49
createHash.js
4.71
KB
-rw-rw-r--
2022-08-30 11:49
deprecation.js
6.3
KB
-rw-rw-r--
2022-08-30 11:49
deterministicGrouping.js
13.44
KB
-rw-rw-r--
2022-08-30 11:49
extractUrlAndGlobal.js
531
B
-rw-rw-r--
2022-08-30 11:49
findGraphRoots.js
5.97
KB
-rw-rw-r--
2022-08-30 11:49
fs.js
11.15
KB
-rw-rw-r--
2022-08-30 11:49
identifier.js
10.79
KB
-rw-rw-r--
2022-08-30 11:49
internalSerializables.js
10.4
KB
-rw-rw-r--
2022-08-30 11:49
makeSerializable.js
640
B
-rw-rw-r--
2022-08-30 11:49
memoize.js
604
B
-rw-rw-r--
2022-08-30 11:49
nonNumericOnlyHash.js
556
B
-rw-rw-r--
2022-08-30 11:49
numberHash.js
1.04
KB
-rw-rw-r--
2022-08-30 11:49
objectToMap.js
346
B
-rw-rw-r--
2022-08-30 11:49
processAsyncTree.js
1.45
KB
-rw-rw-r--
2022-08-30 11:49
propertyAccess.js
1.16
KB
-rw-rw-r--
2022-08-30 11:49
registerExternalSerializer.js
7.73
KB
-rw-rw-r--
2022-08-30 11:49
runtime.js
14.26
KB
-rw-rw-r--
2022-08-30 11:49
semver.js
15.36
KB
-rw-rw-r--
2022-08-30 11:49
serialization.js
3.92
KB
-rw-rw-r--
2022-08-30 11:49
smartGrouping.js
5.15
KB
-rw-rw-r--
2022-08-30 11:49
source.js
1.72
KB
-rw-rw-r--
2022-08-30 11:49
Save
Rename
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const { first } = require("./SetHelpers"); const SortableSet = require("./SortableSet"); /** * Multi layer bucket sorted set: * Supports adding non-existing items (DO NOT ADD ITEM TWICE), * Supports removing exiting items (DO NOT REMOVE ITEM NOT IN SET), * Supports popping the first items according to defined order, * Supports iterating all items without order, * Supports updating an item in an efficient way, * Supports size property, which is the number of items, * Items are lazy partially sorted when needed * @template T * @template K */ class LazyBucketSortedSet { /** * @param {function(T): K} getKey function to get key from item * @param {function(K, K): number} comparator comparator to sort keys * @param {...((function(T): any) | (function(any, any): number))} args more pairs of getKey and comparator plus optional final comparator for the last layer */ constructor(getKey, comparator, ...args) { this._getKey = getKey; this._innerArgs = args; this._leaf = args.length <= 1; this._keys = new SortableSet(undefined, comparator); /** @type {Map<K, LazyBucketSortedSet<T, any> | SortableSet<T>>} */ this._map = new Map(); this._unsortedItems = new Set(); this.size = 0; } /** * @param {T} item an item * @returns {void} */ add(item) { this.size++; this._unsortedItems.add(item); } /** * @param {K} key key of item * @param {T} item the item * @returns {void} */ _addInternal(key, item) { let entry = this._map.get(key); if (entry === undefined) { entry = this._leaf ? new SortableSet(undefined, this._innerArgs[0]) : new /** @type {any} */ (LazyBucketSortedSet)(...this._innerArgs); this._keys.add(key); this._map.set(key, entry); } entry.add(item); } /** * @param {T} item an item * @returns {void} */ delete(item) { this.size--; if (this._unsortedItems.has(item)) { this._unsortedItems.delete(item); return; } const key = this._getKey(item); const entry = this._map.get(key); entry.delete(item); if (entry.size === 0) { this._deleteKey(key); } } /** * @param {K} key key to be removed * @returns {void} */ _deleteKey(key) { this._keys.delete(key); this._map.delete(key); } /** * @returns {T | undefined} an item */ popFirst() { if (this.size === 0) return undefined; this.size--; if (this._unsortedItems.size > 0) { for (const item of this._unsortedItems) { const key = this._getKey(item); this._addInternal(key, item); } this._unsortedItems.clear(); } this._keys.sort(); const key = first(this._keys); const entry = this._map.get(key); if (this._leaf) { const leafEntry = /** @type {SortableSet<T>} */ (entry); leafEntry.sort(); const item = first(leafEntry); leafEntry.delete(item); if (leafEntry.size === 0) { this._deleteKey(key); } return item; } else { const nodeEntry = /** @type {LazyBucketSortedSet<T, any>} */ (entry); const item = nodeEntry.popFirst(); if (nodeEntry.size === 0) { this._deleteKey(key); } return item; } } /** * @param {T} item to be updated item * @returns {function(true=): void} finish update */ startUpdate(item) { if (this._unsortedItems.has(item)) { return remove => { if (remove) { this._unsortedItems.delete(item); this.size--; return; } }; } const key = this._getKey(item); if (this._leaf) { const oldEntry = /** @type {SortableSet<T>} */ (this._map.get(key)); return remove => { if (remove) { this.size--; oldEntry.delete(item); if (oldEntry.size === 0) { this._deleteKey(key); } return; } const newKey = this._getKey(item); if (key === newKey) { // This flags the sortable set as unordered oldEntry.add(item); } else { oldEntry.delete(item); if (oldEntry.size === 0) { this._deleteKey(key); } this._addInternal(newKey, item); } }; } else { const oldEntry = /** @type {LazyBucketSortedSet<T, any>} */ ( this._map.get(key) ); const finishUpdate = oldEntry.startUpdate(item); return remove => { if (remove) { this.size--; finishUpdate(true); if (oldEntry.size === 0) { this._deleteKey(key); } return; } const newKey = this._getKey(item); if (key === newKey) { finishUpdate(); } else { finishUpdate(true); if (oldEntry.size === 0) { this._deleteKey(key); } this._addInternal(newKey, item); } }; } } /** * @param {Iterator<T>[]} iterators list of iterators to append to * @returns {void} */ _appendIterators(iterators) { if (this._unsortedItems.size > 0) iterators.push(this._unsortedItems[Symbol.iterator]()); for (const key of this._keys) { const entry = this._map.get(key); if (this._leaf) { const leafEntry = /** @type {SortableSet<T>} */ (entry); const iterator = leafEntry[Symbol.iterator](); iterators.push(iterator); } else { const nodeEntry = /** @type {LazyBucketSortedSet<T, any>} */ (entry); nodeEntry._appendIterators(iterators); } } } /** * @returns {Iterator<T>} the iterator */ [Symbol.iterator]() { const iterators = []; this._appendIterators(iterators); iterators.reverse(); let currentIterator = iterators.pop(); return { next: () => { const res = currentIterator.next(); if (res.done) { if (iterators.length === 0) return res; currentIterator = iterators.pop(); return currentIterator.next(); } return res; } }; } } module.exports = LazyBucketSortedSet;