Team Ai
Datasetpublic

Brunobkr/llama.cpp_AlgMor24_github

ΩFFFΣLLIa • llama.cpp • AlgMor24 ██████╗ ███████╗███████╗███████╗██╗ ██╗ ██╗ █████╗ ██╔═══██╗██╔════╝██╔════╝██╔════╝██║ ██║ ██║██╔══██╗ ██║ ██║█████╗ █████╗ █████╗ ██║ ██║ ██║███████║ ██║ ██║██╔══╝ ██╔══╝ ██╔══╝ ██║ ██║ ██║██╔══██║ ╚██████╔╝██║ ██║ ███████╗███████╗███████╗██║██║ ██║ ╚═════╝ ╚═╝ ╚═╝ ╚══════╝╚══════╝╚══════╝╚═╝╚═╝ ╚═╝ High-Performance LLM / VLM Inference & Autonomous Agentic Ecosystem… See the full description on the dataset page: https://huggingface.co/datasets/Brunobkr/llama.cpp_AlgMor24_github.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes3.1kdownloads
open-element-stack.js325 linesDownload Raw Back to parser
1import { TAG_ID as $, NS, NUMBERED_HEADERS } from '../common/html.js';2//Element utils3const IMPLICIT_END_TAG_REQUIRED = new Set([$.DD, $.DT, $.LI, $.OPTGROUP, $.OPTION, $.P, $.RB, $.RP, $.RT, $.RTC]);4const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([5    ...IMPLICIT_END_TAG_REQUIRED,6    $.CAPTION,7    $.COLGROUP,8    $.TBODY,9    $.TD,10    $.TFOOT,11    $.TH,12    $.THEAD,13    $.TR,14]);15const SCOPING_ELEMENTS_HTML = new Set([16    $.APPLET,17    $.CAPTION,18    $.HTML,19    $.MARQUEE,20    $.OBJECT,21    $.TABLE,22    $.TD,23    $.TEMPLATE,24    $.TH,25]);26const SCOPING_ELEMENTS_HTML_LIST = new Set([...SCOPING_ELEMENTS_HTML, $.OL, $.UL]);27const SCOPING_ELEMENTS_HTML_BUTTON = new Set([...SCOPING_ELEMENTS_HTML, $.BUTTON]);28const SCOPING_ELEMENTS_MATHML = new Set([$.ANNOTATION_XML, $.MI, $.MN, $.MO, $.MS, $.MTEXT]);29const SCOPING_ELEMENTS_SVG = new Set([$.DESC, $.FOREIGN_OBJECT, $.TITLE]);30const TABLE_ROW_CONTEXT = new Set([$.TR, $.TEMPLATE, $.HTML]);31const TABLE_BODY_CONTEXT = new Set([$.TBODY, $.TFOOT, $.THEAD, $.TEMPLATE, $.HTML]);32const TABLE_CONTEXT = new Set([$.TABLE, $.TEMPLATE, $.HTML]);33const TABLE_CELLS = new Set([$.TD, $.TH]);34//Stack of open elements35export class OpenElementStack {36    get currentTmplContentOrNode() {37        return this._isInTemplate() ? this.treeAdapter.getTemplateContent(this.current) : this.current;38    }39    constructor(document, treeAdapter, handler) {40        this.treeAdapter = treeAdapter;41        this.handler = handler;42        this.items = [];43        this.tagIDs = [];44        this.stackTop = -1;45        this.tmplCount = 0;46        this.currentTagId = $.UNKNOWN;47        this.current = document;48    }49    //Index of element50    _indexOf(element) {51        return this.items.lastIndexOf(element, this.stackTop);52    }53    //Update current element54    _isInTemplate() {55        return this.currentTagId === $.TEMPLATE && this.treeAdapter.getNamespaceURI(this.current) === NS.HTML;56    }57    _updateCurrentElement() {58        this.current = this.items[this.stackTop];59        this.currentTagId = this.tagIDs[this.stackTop];60    }61    //Mutations62    push(element, tagID) {63        this.stackTop++;64        this.items[this.stackTop] = element;65        this.current = element;66        this.tagIDs[this.stackTop] = tagID;67        this.currentTagId = tagID;68        if (this._isInTemplate()) {69            this.tmplCount++;70        }71        this.handler.onItemPush(element, tagID, true);72    }73    pop() {74        const popped = this.current;75        if (this.tmplCount > 0 && this._isInTemplate()) {76            this.tmplCount--;77        }78        this.stackTop--;79        this._updateCurrentElement();80        this.handler.onItemPop(popped, true);81    }82    replace(oldElement, newElement) {83        const idx = this._indexOf(oldElement);84        this.items[idx] = newElement;85        if (idx === this.stackTop) {86            this.current = newElement;87        }88    }89    insertAfter(referenceElement, newElement, newElementID) {90        const insertionIdx = this._indexOf(referenceElement) + 1;91        this.items.splice(insertionIdx, 0, newElement);92        this.tagIDs.splice(insertionIdx, 0, newElementID);93        this.stackTop++;94        if (insertionIdx === this.stackTop) {95            this._updateCurrentElement();96        }97        if (this.current && this.currentTagId !== undefined) {98            this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);99        }100    }101    popUntilTagNamePopped(tagName) {102        let targetIdx = this.stackTop + 1;103        do {104            targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);105        } while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== NS.HTML);106        this.shortenToLength(Math.max(targetIdx, 0));107    }108    shortenToLength(idx) {109        while (this.stackTop >= idx) {110            const popped = this.current;111            if (this.tmplCount > 0 && this._isInTemplate()) {112                this.tmplCount -= 1;113            }114            this.stackTop--;115            this._updateCurrentElement();116            this.handler.onItemPop(popped, this.stackTop < idx);117        }118    }119    popUntilElementPopped(element) {120        const idx = this._indexOf(element);121        this.shortenToLength(Math.max(idx, 0));122    }123    popUntilPopped(tagNames, targetNS) {124        const idx = this._indexOfTagNames(tagNames, targetNS);125        this.shortenToLength(Math.max(idx, 0));126    }127    popUntilNumberedHeaderPopped() {128        this.popUntilPopped(NUMBERED_HEADERS, NS.HTML);129    }130    popUntilTableCellPopped() {131        this.popUntilPopped(TABLE_CELLS, NS.HTML);132    }133    popAllUpToHtmlElement() {134        //NOTE: here we assume that the root <html> element is always first in the open element stack, so135        //we perform this fast stack clean up.136        this.tmplCount = 0;137        this.shortenToLength(1);138    }139    _indexOfTagNames(tagNames, namespace) {140        for (let i = this.stackTop; i >= 0; i--) {141            if (tagNames.has(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {142                return i;143            }144        }145        return -1;146    }147    clearBackTo(tagNames, targetNS) {148        const idx = this._indexOfTagNames(tagNames, targetNS);149        this.shortenToLength(idx + 1);150    }151    clearBackToTableContext() {152        this.clearBackTo(TABLE_CONTEXT, NS.HTML);153    }154    clearBackToTableBodyContext() {155        this.clearBackTo(TABLE_BODY_CONTEXT, NS.HTML);156    }157    clearBackToTableRowContext() {158        this.clearBackTo(TABLE_ROW_CONTEXT, NS.HTML);159    }160    remove(element) {161        const idx = this._indexOf(element);162        if (idx >= 0) {163            if (idx === this.stackTop) {164                this.pop();165            }166            else {167                this.items.splice(idx, 1);168                this.tagIDs.splice(idx, 1);169                this.stackTop--;170                this._updateCurrentElement();171                this.handler.onItemPop(element, false);172            }173        }174    }175    //Search176    tryPeekProperlyNestedBodyElement() {177        //Properly nested <body> element (should be second element in stack).178        return this.stackTop >= 1 && this.tagIDs[1] === $.BODY ? this.items[1] : null;179    }180    contains(element) {181        return this._indexOf(element) > -1;182    }183    getCommonAncestor(element) {184        const elementIdx = this._indexOf(element) - 1;185        return elementIdx >= 0 ? this.items[elementIdx] : null;186    }187    isRootHtmlElementCurrent() {188        return this.stackTop === 0 && this.tagIDs[0] === $.HTML;189    }190    //Element in scope191    hasInDynamicScope(tagName, htmlScope) {192        for (let i = this.stackTop; i >= 0; i--) {193            const tn = this.tagIDs[i];194            switch (this.treeAdapter.getNamespaceURI(this.items[i])) {195                case NS.HTML: {196                    if (tn === tagName)197                        return true;198                    if (htmlScope.has(tn))199                        return false;200                    break;201                }202                case NS.SVG: {203                    if (SCOPING_ELEMENTS_SVG.has(tn))204                        return false;205                    break;206                }207                case NS.MATHML: {208                    if (SCOPING_ELEMENTS_MATHML.has(tn))209                        return false;210                    break;211                }212            }213        }214        return true;215    }216    hasInScope(tagName) {217        return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML);218    }219    hasInListItemScope(tagName) {220        return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_LIST);221    }222    hasInButtonScope(tagName) {223        return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_BUTTON);224    }225    hasNumberedHeaderInScope() {226        for (let i = this.stackTop; i >= 0; i--) {227            const tn = this.tagIDs[i];228            switch (this.treeAdapter.getNamespaceURI(this.items[i])) {229                case NS.HTML: {230                    if (NUMBERED_HEADERS.has(tn))231                        return true;232                    if (SCOPING_ELEMENTS_HTML.has(tn))233                        return false;234                    break;235                }236                case NS.SVG: {237                    if (SCOPING_ELEMENTS_SVG.has(tn))238                        return false;239                    break;240                }241                case NS.MATHML: {242                    if (SCOPING_ELEMENTS_MATHML.has(tn))243                        return false;244                    break;245                }246            }247        }248        return true;249    }250    hasInTableScope(tagName) {251        for (let i = this.stackTop; i >= 0; i--) {252            if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {253                continue;254            }255            switch (this.tagIDs[i]) {256                case tagName: {257                    return true;258                }259                case $.TABLE:260                case $.HTML: {261                    return false;262                }263            }264        }265        return true;266    }267    hasTableBodyContextInTableScope() {268        for (let i = this.stackTop; i >= 0; i--) {269            if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {270                continue;271            }272            switch (this.tagIDs[i]) {273                case $.TBODY:274                case $.THEAD:275                case $.TFOOT: {276                    return true;277                }278                case $.TABLE:279                case $.HTML: {280                    return false;281                }282            }283        }284        return true;285    }286    hasInSelectScope(tagName) {287        for (let i = this.stackTop; i >= 0; i--) {288            if (this.treeAdapter.getNamespaceURI(this.items[i]) !== NS.HTML) {289                continue;290            }291            switch (this.tagIDs[i]) {292                case tagName: {293                    return true;294                }295                case $.OPTION:296                case $.OPTGROUP: {297                    break;298                }299                default: {300                    return false;301                }302            }303        }304        return true;305    }306    //Implied end tags307    generateImpliedEndTags() {308        while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {309            this.pop();310        }311    }312    generateImpliedEndTagsThoroughly() {313        while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {314            this.pop();315        }316    }317    generateImpliedEndTagsWithExclusion(exclusionId) {318        while (this.currentTagId !== undefined &&319            this.currentTagId !== exclusionId &&320            IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {321            this.pop();322        }323    }324}325 
Brunobkr/llama.cpp_AlgMor24_github · Team Ai