remark-0.15.0.min.js (1364905B)
1 require=(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ 2 // Copyright Joyent, Inc. and other Node contributors. 3 // 4 // Permission is hereby granted, free of charge, to any person obtaining a 5 // copy of this software and associated documentation files (the 6 // "Software"), to deal in the Software without restriction, including 7 // without limitation the rights to use, copy, modify, merge, publish, 8 // distribute, sublicense, and/or sell copies of the Software, and to permit 9 // persons to whom the Software is furnished to do so, subject to the 10 // following conditions: 11 // 12 // The above copyright notice and this permission notice shall be included 13 // in all copies or substantial portions of the Software. 14 // 15 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 16 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 18 // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 19 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 20 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 21 // USE OR OTHER DEALINGS IN THE SOFTWARE. 22 23 function EventEmitter() { 24 this._events = this._events || {}; 25 this._maxListeners = this._maxListeners || undefined; 26 } 27 module.exports = EventEmitter; 28 29 // Backwards-compat with node 0.10.x 30 EventEmitter.EventEmitter = EventEmitter; 31 32 EventEmitter.prototype._events = undefined; 33 EventEmitter.prototype._maxListeners = undefined; 34 35 // By default EventEmitters will print a warning if more than 10 listeners are 36 // added to it. This is a useful default which helps finding memory leaks. 37 EventEmitter.defaultMaxListeners = 10; 38 39 // Obviously not all Emitters should be limited to 10. This function allows 40 // that to be increased. Set to zero for unlimited. 41 EventEmitter.prototype.setMaxListeners = function(n) { 42 if (!isNumber(n) || n < 0 || isNaN(n)) 43 throw TypeError('n must be a positive number'); 44 this._maxListeners = n; 45 return this; 46 }; 47 48 EventEmitter.prototype.emit = function(type) { 49 var er, handler, len, args, i, listeners; 50 51 if (!this._events) 52 this._events = {}; 53 54 // If there is no 'error' event listener then throw. 55 if (type === 'error') { 56 if (!this._events.error || 57 (isObject(this._events.error) && !this._events.error.length)) { 58 er = arguments[1]; 59 if (er instanceof Error) { 60 throw er; // Unhandled 'error' event 61 } else { 62 // At least give some kind of context to the user 63 var err = new Error('Uncaught, unspecified "error" event. (' + er + ')'); 64 err.context = er; 65 throw err; 66 } 67 } 68 } 69 70 handler = this._events[type]; 71 72 if (isUndefined(handler)) 73 return false; 74 75 if (isFunction(handler)) { 76 switch (arguments.length) { 77 // fast cases 78 case 1: 79 handler.call(this); 80 break; 81 case 2: 82 handler.call(this, arguments[1]); 83 break; 84 case 3: 85 handler.call(this, arguments[1], arguments[2]); 86 break; 87 // slower 88 default: 89 args = Array.prototype.slice.call(arguments, 1); 90 handler.apply(this, args); 91 } 92 } else if (isObject(handler)) { 93 args = Array.prototype.slice.call(arguments, 1); 94 listeners = handler.slice(); 95 len = listeners.length; 96 for (i = 0; i < len; i++) 97 listeners[i].apply(this, args); 98 } 99 100 return true; 101 }; 102 103 EventEmitter.prototype.addListener = function(type, listener) { 104 var m; 105 106 if (!isFunction(listener)) 107 throw TypeError('listener must be a function'); 108 109 if (!this._events) 110 this._events = {}; 111 112 // To avoid recursion in the case that type === "newListener"! Before 113 // adding it to the listeners, first emit "newListener". 114 if (this._events.newListener) 115 this.emit('newListener', type, 116 isFunction(listener.listener) ? 117 listener.listener : listener); 118 119 if (!this._events[type]) 120 // Optimize the case of one listener. Don't need the extra array object. 121 this._events[type] = listener; 122 else if (isObject(this._events[type])) 123 // If we've already got an array, just append. 124 this._events[type].push(listener); 125 else 126 // Adding the second element, need to change to array. 127 this._events[type] = [this._events[type], listener]; 128 129 // Check for listener leak 130 if (isObject(this._events[type]) && !this._events[type].warned) { 131 if (!isUndefined(this._maxListeners)) { 132 m = this._maxListeners; 133 } else { 134 m = EventEmitter.defaultMaxListeners; 135 } 136 137 if (m && m > 0 && this._events[type].length > m) { 138 this._events[type].warned = true; 139 console.error('(node) warning: possible EventEmitter memory ' + 140 'leak detected. %d listeners added. ' + 141 'Use emitter.setMaxListeners() to increase limit.', 142 this._events[type].length); 143 if (typeof console.trace === 'function') { 144 // not supported in IE 10 145 console.trace(); 146 } 147 } 148 } 149 150 return this; 151 }; 152 153 EventEmitter.prototype.on = EventEmitter.prototype.addListener; 154 155 EventEmitter.prototype.once = function(type, listener) { 156 if (!isFunction(listener)) 157 throw TypeError('listener must be a function'); 158 159 var fired = false; 160 161 function g() { 162 this.removeListener(type, g); 163 164 if (!fired) { 165 fired = true; 166 listener.apply(this, arguments); 167 } 168 } 169 170 g.listener = listener; 171 this.on(type, g); 172 173 return this; 174 }; 175 176 // emits a 'removeListener' event iff the listener was removed 177 EventEmitter.prototype.removeListener = function(type, listener) { 178 var list, position, length, i; 179 180 if (!isFunction(listener)) 181 throw TypeError('listener must be a function'); 182 183 if (!this._events || !this._events[type]) 184 return this; 185 186 list = this._events[type]; 187 length = list.length; 188 position = -1; 189 190 if (list === listener || 191 (isFunction(list.listener) && list.listener === listener)) { 192 delete this._events[type]; 193 if (this._events.removeListener) 194 this.emit('removeListener', type, listener); 195 196 } else if (isObject(list)) { 197 for (i = length; i-- > 0;) { 198 if (list[i] === listener || 199 (list[i].listener && list[i].listener === listener)) { 200 position = i; 201 break; 202 } 203 } 204 205 if (position < 0) 206 return this; 207 208 if (list.length === 1) { 209 list.length = 0; 210 delete this._events[type]; 211 } else { 212 list.splice(position, 1); 213 } 214 215 if (this._events.removeListener) 216 this.emit('removeListener', type, listener); 217 } 218 219 return this; 220 }; 221 222 EventEmitter.prototype.removeAllListeners = function(type) { 223 var key, listeners; 224 225 if (!this._events) 226 return this; 227 228 // not listening for removeListener, no need to emit 229 if (!this._events.removeListener) { 230 if (arguments.length === 0) 231 this._events = {}; 232 else if (this._events[type]) 233 delete this._events[type]; 234 return this; 235 } 236 237 // emit removeListener for all listeners on all events 238 if (arguments.length === 0) { 239 for (key in this._events) { 240 if (key === 'removeListener') continue; 241 this.removeAllListeners(key); 242 } 243 this.removeAllListeners('removeListener'); 244 this._events = {}; 245 return this; 246 } 247 248 listeners = this._events[type]; 249 250 if (isFunction(listeners)) { 251 this.removeListener(type, listeners); 252 } else if (listeners) { 253 // LIFO order 254 while (listeners.length) 255 this.removeListener(type, listeners[listeners.length - 1]); 256 } 257 delete this._events[type]; 258 259 return this; 260 }; 261 262 EventEmitter.prototype.listeners = function(type) { 263 var ret; 264 if (!this._events || !this._events[type]) 265 ret = []; 266 else if (isFunction(this._events[type])) 267 ret = [this._events[type]]; 268 else 269 ret = this._events[type].slice(); 270 return ret; 271 }; 272 273 EventEmitter.prototype.listenerCount = function(type) { 274 if (this._events) { 275 var evlistener = this._events[type]; 276 277 if (isFunction(evlistener)) 278 return 1; 279 else if (evlistener) 280 return evlistener.length; 281 } 282 return 0; 283 }; 284 285 EventEmitter.listenerCount = function(emitter, type) { 286 return emitter.listenerCount(type); 287 }; 288 289 function isFunction(arg) { 290 return typeof arg === 'function'; 291 } 292 293 function isNumber(arg) { 294 return typeof arg === 'number'; 295 } 296 297 function isObject(arg) { 298 return typeof arg === 'object' && arg !== null; 299 } 300 301 function isUndefined(arg) { 302 return arg === void 0; 303 } 304 305 },{}],2:[function(require,module,exports){ 306 'use strict'; 307 308 var hasOwn = Object.prototype.hasOwnProperty; 309 var toStr = Object.prototype.toString; 310 var defineProperty = Object.defineProperty; 311 var gOPD = Object.getOwnPropertyDescriptor; 312 313 var isArray = function isArray(arr) { 314 if (typeof Array.isArray === 'function') { 315 return Array.isArray(arr); 316 } 317 318 return toStr.call(arr) === '[object Array]'; 319 }; 320 321 var isPlainObject = function isPlainObject(obj) { 322 if (!obj || toStr.call(obj) !== '[object Object]') { 323 return false; 324 } 325 326 var hasOwnConstructor = hasOwn.call(obj, 'constructor'); 327 var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); 328 // Not own constructor property must be Object 329 if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { 330 return false; 331 } 332 333 // Own properties are enumerated firstly, so to speed up, 334 // if last one is own, then all properties are own. 335 var key; 336 for (key in obj) { /**/ } 337 338 return typeof key === 'undefined' || hasOwn.call(obj, key); 339 }; 340 341 // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target 342 var setProperty = function setProperty(target, options) { 343 if (defineProperty && options.name === '__proto__') { 344 defineProperty(target, options.name, { 345 enumerable: true, 346 configurable: true, 347 value: options.newValue, 348 writable: true 349 }); 350 } else { 351 target[options.name] = options.newValue; 352 } 353 }; 354 355 // Return undefined instead of __proto__ if '__proto__' is not an own property 356 var getProperty = function getProperty(obj, name) { 357 if (name === '__proto__') { 358 if (!hasOwn.call(obj, name)) { 359 return void 0; 360 } else if (gOPD) { 361 // In early versions of node, obj['__proto__'] is buggy when obj has 362 // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. 363 return gOPD(obj, name).value; 364 } 365 } 366 367 return obj[name]; 368 }; 369 370 module.exports = function extend() { 371 var options, name, src, copy, copyIsArray, clone; 372 var target = arguments[0]; 373 var i = 1; 374 var length = arguments.length; 375 var deep = false; 376 377 // Handle a deep copy situation 378 if (typeof target === 'boolean') { 379 deep = target; 380 target = arguments[1] || {}; 381 // skip the boolean and the target 382 i = 2; 383 } 384 if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { 385 target = {}; 386 } 387 388 for (; i < length; ++i) { 389 options = arguments[i]; 390 // Only deal with non-null/undefined values 391 if (options != null) { 392 // Extend the base object 393 for (name in options) { 394 src = getProperty(target, name); 395 copy = getProperty(options, name); 396 397 // Prevent never-ending loop 398 if (target !== copy) { 399 // Recurse if we're merging plain objects or arrays 400 if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { 401 if (copyIsArray) { 402 copyIsArray = false; 403 clone = src && isArray(src) ? src : []; 404 } else { 405 clone = src && isPlainObject(src) ? src : {}; 406 } 407 408 // Never move original objects, clone them 409 setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); 410 411 // Don't bring in undefined values 412 } else if (typeof copy !== 'undefined') { 413 setProperty(target, { name: name, newValue: copy }); 414 } 415 } 416 } 417 } 418 } 419 420 // Return the modified object 421 return target; 422 }; 423 424 },{}],3:[function(require,module,exports){ 425 (function (global){ 426 /** 427 * marked - a markdown parser 428 * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed) 429 * https://github.com/chjj/marked 430 */ 431 432 ;(function() { 433 434 /** 435 * Block-Level Grammar 436 */ 437 438 var block = { 439 newline: /^\n+/, 440 code: /^( {4}[^\n]+\n*)+/, 441 fences: noop, 442 hr: /^( *[-*_]){3,} *(?:\n+|$)/, 443 heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/, 444 nptable: noop, 445 lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/, 446 blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/, 447 list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, 448 html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/, 449 def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, 450 table: noop, 451 paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/, 452 text: /^[^\n]+/ 453 }; 454 455 block.bullet = /(?:[*+-]|\d+\.)/; 456 block.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/; 457 block.item = replace(block.item, 'gm') 458 (/bull/g, block.bullet) 459 (); 460 461 block.list = replace(block.list) 462 (/bull/g, block.bullet) 463 ('hr', '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))') 464 ('def', '\\n+(?=' + block.def.source + ')') 465 (); 466 467 block._tag = '(?!(?:' 468 + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code' 469 + '|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo' 470 + '|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|[^\\w\\s@]*@)\\b'; 471 472 block.html = replace(block.html) 473 ('comment', /<!--[\s\S]*?-->/) 474 ('closed', /<(tag)[\s\S]+?<\/\1>/) 475 ('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/) 476 (/tag/g, block._tag) 477 (); 478 479 block.paragraph = replace(block.paragraph) 480 ('hr', block.hr) 481 ('heading', block.heading) 482 ('lheading', block.lheading) 483 ('blockquote', block.blockquote) 484 ('tag', '<' + block._tag) 485 ('def', block.def) 486 (); 487 488 /** 489 * Normal Block Grammar 490 */ 491 492 block.normal = merge({}, block); 493 494 /** 495 * GFM Block Grammar 496 */ 497 498 block.gfm = merge({}, block.normal, { 499 fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/, 500 paragraph: /^/, 501 heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/ 502 }); 503 504 block.gfm.paragraph = replace(block.paragraph) 505 ('(?!', '(?!' 506 + block.gfm.fences.source.replace('\\1', '\\2') + '|' 507 + block.list.source.replace('\\1', '\\3') + '|') 508 (); 509 510 /** 511 * GFM + Tables Block Grammar 512 */ 513 514 block.tables = merge({}, block.gfm, { 515 nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/, 516 table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/ 517 }); 518 519 /** 520 * Block Lexer 521 */ 522 523 function Lexer(options) { 524 this.tokens = []; 525 this.tokens.links = {}; 526 this.options = options || marked.defaults; 527 this.rules = block.normal; 528 529 if (this.options.gfm) { 530 if (this.options.tables) { 531 this.rules = block.tables; 532 } else { 533 this.rules = block.gfm; 534 } 535 } 536 } 537 538 /** 539 * Expose Block Rules 540 */ 541 542 Lexer.rules = block; 543 544 /** 545 * Static Lex Method 546 */ 547 548 Lexer.lex = function(src, options) { 549 var lexer = new Lexer(options); 550 return lexer.lex(src); 551 }; 552 553 /** 554 * Preprocessing 555 */ 556 557 Lexer.prototype.lex = function(src) { 558 src = src 559 .replace(/\r\n|\r/g, '\n') 560 .replace(/\t/g, ' ') 561 .replace(/\u00a0/g, ' ') 562 .replace(/\u2424/g, '\n'); 563 564 return this.token(src, true); 565 }; 566 567 /** 568 * Lexing 569 */ 570 571 Lexer.prototype.token = function(src, top, bq) { 572 var src = src.replace(/^ +$/gm, '') 573 , next 574 , loose 575 , cap 576 , bull 577 , b 578 , item 579 , space 580 , i 581 , l; 582 583 while (src) { 584 // newline 585 if (cap = this.rules.newline.exec(src)) { 586 src = src.substring(cap[0].length); 587 if (cap[0].length > 1) { 588 this.tokens.push({ 589 type: 'space' 590 }); 591 } 592 } 593 594 // code 595 if (cap = this.rules.code.exec(src)) { 596 src = src.substring(cap[0].length); 597 cap = cap[0].replace(/^ {4}/gm, ''); 598 this.tokens.push({ 599 type: 'code', 600 text: !this.options.pedantic 601 ? cap.replace(/\n+$/, '') 602 : cap 603 }); 604 continue; 605 } 606 607 // fences (gfm) 608 if (cap = this.rules.fences.exec(src)) { 609 src = src.substring(cap[0].length); 610 this.tokens.push({ 611 type: 'code', 612 lang: cap[2], 613 text: cap[3] || '' 614 }); 615 continue; 616 } 617 618 // heading 619 if (cap = this.rules.heading.exec(src)) { 620 src = src.substring(cap[0].length); 621 this.tokens.push({ 622 type: 'heading', 623 depth: cap[1].length, 624 text: cap[2] 625 }); 626 continue; 627 } 628 629 // table no leading pipe (gfm) 630 if (top && (cap = this.rules.nptable.exec(src))) { 631 src = src.substring(cap[0].length); 632 633 item = { 634 type: 'table', 635 header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), 636 align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), 637 cells: cap[3].replace(/\n$/, '').split('\n') 638 }; 639 640 for (i = 0; i < item.align.length; i++) { 641 if (/^ *-+: *$/.test(item.align[i])) { 642 item.align[i] = 'right'; 643 } else if (/^ *:-+: *$/.test(item.align[i])) { 644 item.align[i] = 'center'; 645 } else if (/^ *:-+ *$/.test(item.align[i])) { 646 item.align[i] = 'left'; 647 } else { 648 item.align[i] = null; 649 } 650 } 651 652 for (i = 0; i < item.cells.length; i++) { 653 item.cells[i] = item.cells[i].split(/ *\| */); 654 } 655 656 this.tokens.push(item); 657 658 continue; 659 } 660 661 // lheading 662 if (cap = this.rules.lheading.exec(src)) { 663 src = src.substring(cap[0].length); 664 this.tokens.push({ 665 type: 'heading', 666 depth: cap[2] === '=' ? 1 : 2, 667 text: cap[1] 668 }); 669 continue; 670 } 671 672 // hr 673 if (cap = this.rules.hr.exec(src)) { 674 src = src.substring(cap[0].length); 675 this.tokens.push({ 676 type: 'hr' 677 }); 678 continue; 679 } 680 681 // blockquote 682 if (cap = this.rules.blockquote.exec(src)) { 683 src = src.substring(cap[0].length); 684 685 this.tokens.push({ 686 type: 'blockquote_start' 687 }); 688 689 cap = cap[0].replace(/^ *> ?/gm, ''); 690 691 // Pass `top` to keep the current 692 // "toplevel" state. This is exactly 693 // how markdown.pl works. 694 this.token(cap, top, true); 695 696 this.tokens.push({ 697 type: 'blockquote_end' 698 }); 699 700 continue; 701 } 702 703 // list 704 if (cap = this.rules.list.exec(src)) { 705 src = src.substring(cap[0].length); 706 bull = cap[2]; 707 708 this.tokens.push({ 709 type: 'list_start', 710 ordered: bull.length > 1 711 }); 712 713 // Get each top-level item. 714 cap = cap[0].match(this.rules.item); 715 716 next = false; 717 l = cap.length; 718 i = 0; 719 720 for (; i < l; i++) { 721 item = cap[i]; 722 723 // Remove the list item's bullet 724 // so it is seen as the next token. 725 space = item.length; 726 item = item.replace(/^ *([*+-]|\d+\.) +/, ''); 727 728 // Outdent whatever the 729 // list item contains. Hacky. 730 if (~item.indexOf('\n ')) { 731 space -= item.length; 732 item = !this.options.pedantic 733 ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') 734 : item.replace(/^ {1,4}/gm, ''); 735 } 736 737 // Determine whether the next list item belongs here. 738 // Backpedal if it does not belong in this list. 739 if (this.options.smartLists && i !== l - 1) { 740 b = block.bullet.exec(cap[i + 1])[0]; 741 if (bull !== b && !(bull.length > 1 && b.length > 1)) { 742 src = cap.slice(i + 1).join('\n') + src; 743 i = l - 1; 744 } 745 } 746 747 // Determine whether item is loose or not. 748 // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ 749 // for discount behavior. 750 loose = next || /\n\n(?!\s*$)/.test(item); 751 if (i !== l - 1) { 752 next = item.charAt(item.length - 1) === '\n'; 753 if (!loose) loose = next; 754 } 755 756 this.tokens.push({ 757 type: loose 758 ? 'loose_item_start' 759 : 'list_item_start' 760 }); 761 762 // Recurse. 763 this.token(item, false, bq); 764 765 this.tokens.push({ 766 type: 'list_item_end' 767 }); 768 } 769 770 this.tokens.push({ 771 type: 'list_end' 772 }); 773 774 continue; 775 } 776 777 // html 778 if (cap = this.rules.html.exec(src)) { 779 src = src.substring(cap[0].length); 780 this.tokens.push({ 781 type: this.options.sanitize 782 ? 'paragraph' 783 : 'html', 784 pre: !this.options.sanitizer 785 && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), 786 text: cap[0] 787 }); 788 continue; 789 } 790 791 // def 792 if ((!bq && top) && (cap = this.rules.def.exec(src))) { 793 src = src.substring(cap[0].length); 794 this.tokens.links[cap[1].toLowerCase()] = { 795 href: cap[2], 796 title: cap[3] 797 }; 798 continue; 799 } 800 801 // table (gfm) 802 if (top && (cap = this.rules.table.exec(src))) { 803 src = src.substring(cap[0].length); 804 805 item = { 806 type: 'table', 807 header: cap[1].replace(/^ *| *\| *$/g, '').split(/ *\| */), 808 align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), 809 cells: cap[3].replace(/(?: *\| *)?\n$/, '').split('\n') 810 }; 811 812 for (i = 0; i < item.align.length; i++) { 813 if (/^ *-+: *$/.test(item.align[i])) { 814 item.align[i] = 'right'; 815 } else if (/^ *:-+: *$/.test(item.align[i])) { 816 item.align[i] = 'center'; 817 } else if (/^ *:-+ *$/.test(item.align[i])) { 818 item.align[i] = 'left'; 819 } else { 820 item.align[i] = null; 821 } 822 } 823 824 for (i = 0; i < item.cells.length; i++) { 825 item.cells[i] = item.cells[i] 826 .replace(/^ *\| *| *\| *$/g, '') 827 .split(/ *\| */); 828 } 829 830 this.tokens.push(item); 831 832 continue; 833 } 834 835 // top-level paragraph 836 if (top && (cap = this.rules.paragraph.exec(src))) { 837 src = src.substring(cap[0].length); 838 this.tokens.push({ 839 type: 'paragraph', 840 text: cap[1].charAt(cap[1].length - 1) === '\n' 841 ? cap[1].slice(0, -1) 842 : cap[1] 843 }); 844 continue; 845 } 846 847 // text 848 if (cap = this.rules.text.exec(src)) { 849 // Top-level should never reach here. 850 src = src.substring(cap[0].length); 851 this.tokens.push({ 852 type: 'text', 853 text: cap[0] 854 }); 855 continue; 856 } 857 858 if (src) { 859 throw new 860 Error('Infinite loop on byte: ' + src.charCodeAt(0)); 861 } 862 } 863 864 return this.tokens; 865 }; 866 867 /** 868 * Inline-Level Grammar 869 */ 870 871 var inline = { 872 escape: /^\\([\\`*{}\[\]()#+\-.!_>])/, 873 autolink: /^<([^ >]+(@|:\/)[^ >]+)>/, 874 url: noop, 875 tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/, 876 link: /^!?\[(inside)\]\(href\)/, 877 reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/, 878 nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/, 879 strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/, 880 em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, 881 code: /^(`+)([\s\S]*?[^`])\1(?!`)/, 882 br: /^ {2,}\n(?!\s*$)/, 883 del: noop, 884 text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/ 885 }; 886 887 inline._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/; 888 inline._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/; 889 890 inline.link = replace(inline.link) 891 ('inside', inline._inside) 892 ('href', inline._href) 893 (); 894 895 inline.reflink = replace(inline.reflink) 896 ('inside', inline._inside) 897 (); 898 899 /** 900 * Normal Inline Grammar 901 */ 902 903 inline.normal = merge({}, inline); 904 905 /** 906 * Pedantic Inline Grammar 907 */ 908 909 inline.pedantic = merge({}, inline.normal, { 910 strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, 911 em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/ 912 }); 913 914 /** 915 * GFM Inline Grammar 916 */ 917 918 inline.gfm = merge({}, inline.normal, { 919 escape: replace(inline.escape)('])', '~|])')(), 920 url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/, 921 del: /^~~(?=\S)([\s\S]*?\S)~~/, 922 text: replace(inline.text) 923 (']|', '~]|') 924 ('|', '|https?://|') 925 () 926 }); 927 928 /** 929 * GFM + Line Breaks Inline Grammar 930 */ 931 932 inline.breaks = merge({}, inline.gfm, { 933 br: replace(inline.br)('{2,}', '*')(), 934 text: replace(inline.gfm.text)('{2,}', '*')() 935 }); 936 937 /** 938 * Inline Lexer & Compiler 939 */ 940 941 function InlineLexer(links, options) { 942 this.options = options || marked.defaults; 943 this.links = links; 944 this.rules = inline.normal; 945 this.renderer = this.options.renderer || new Renderer; 946 this.renderer.options = this.options; 947 948 if (!this.links) { 949 throw new 950 Error('Tokens array requires a `links` property.'); 951 } 952 953 if (this.options.gfm) { 954 if (this.options.breaks) { 955 this.rules = inline.breaks; 956 } else { 957 this.rules = inline.gfm; 958 } 959 } else if (this.options.pedantic) { 960 this.rules = inline.pedantic; 961 } 962 } 963 964 /** 965 * Expose Inline Rules 966 */ 967 968 InlineLexer.rules = inline; 969 970 /** 971 * Static Lexing/Compiling Method 972 */ 973 974 InlineLexer.output = function(src, links, options) { 975 var inline = new InlineLexer(links, options); 976 return inline.output(src); 977 }; 978 979 /** 980 * Lexing/Compiling 981 */ 982 983 InlineLexer.prototype.output = function(src) { 984 var out = '' 985 , link 986 , text 987 , href 988 , cap; 989 990 while (src) { 991 // escape 992 if (cap = this.rules.escape.exec(src)) { 993 src = src.substring(cap[0].length); 994 out += cap[1]; 995 continue; 996 } 997 998 // autolink 999 if (cap = this.rules.autolink.exec(src)) { 1000 src = src.substring(cap[0].length); 1001 if (cap[2] === '@') { 1002 text = escape( 1003 cap[1].charAt(6) === ':' 1004 ? this.mangle(cap[1].substring(7)) 1005 : this.mangle(cap[1]) 1006 ); 1007 href = this.mangle('mailto:') + text; 1008 } else { 1009 text = escape(cap[1]); 1010 href = text; 1011 } 1012 out += this.renderer.link(href, null, text); 1013 continue; 1014 } 1015 1016 // url (gfm) 1017 if (!this.inLink && (cap = this.rules.url.exec(src))) { 1018 src = src.substring(cap[0].length); 1019 text = escape(cap[1]); 1020 href = text; 1021 out += this.renderer.link(href, null, text); 1022 continue; 1023 } 1024 1025 // tag 1026 if (cap = this.rules.tag.exec(src)) { 1027 if (!this.inLink && /^<a /i.test(cap[0])) { 1028 this.inLink = true; 1029 } else if (this.inLink && /^<\/a>/i.test(cap[0])) { 1030 this.inLink = false; 1031 } 1032 src = src.substring(cap[0].length); 1033 out += this.options.sanitize 1034 ? this.options.sanitizer 1035 ? this.options.sanitizer(cap[0]) 1036 : escape(cap[0]) 1037 : cap[0] 1038 continue; 1039 } 1040 1041 // link 1042 if (cap = this.rules.link.exec(src)) { 1043 src = src.substring(cap[0].length); 1044 this.inLink = true; 1045 out += this.outputLink(cap, { 1046 href: cap[2], 1047 title: cap[3] 1048 }); 1049 this.inLink = false; 1050 continue; 1051 } 1052 1053 // reflink, nolink 1054 if ((cap = this.rules.reflink.exec(src)) 1055 || (cap = this.rules.nolink.exec(src))) { 1056 src = src.substring(cap[0].length); 1057 link = (cap[2] || cap[1]).replace(/\s+/g, ' '); 1058 link = this.links[link.toLowerCase()]; 1059 if (!link || !link.href) { 1060 out += cap[0].charAt(0); 1061 src = cap[0].substring(1) + src; 1062 continue; 1063 } 1064 this.inLink = true; 1065 out += this.outputLink(cap, link); 1066 this.inLink = false; 1067 continue; 1068 } 1069 1070 // strong 1071 if (cap = this.rules.strong.exec(src)) { 1072 src = src.substring(cap[0].length); 1073 out += this.renderer.strong(this.output(cap[2] || cap[1])); 1074 continue; 1075 } 1076 1077 // em 1078 if (cap = this.rules.em.exec(src)) { 1079 src = src.substring(cap[0].length); 1080 out += this.renderer.em(this.output(cap[2] || cap[1])); 1081 continue; 1082 } 1083 1084 // code 1085 if (cap = this.rules.code.exec(src)) { 1086 src = src.substring(cap[0].length); 1087 out += this.renderer.codespan(escape(cap[2].trim(), true)); 1088 continue; 1089 } 1090 1091 // br 1092 if (cap = this.rules.br.exec(src)) { 1093 src = src.substring(cap[0].length); 1094 out += this.renderer.br(); 1095 continue; 1096 } 1097 1098 // del (gfm) 1099 if (cap = this.rules.del.exec(src)) { 1100 src = src.substring(cap[0].length); 1101 out += this.renderer.del(this.output(cap[1])); 1102 continue; 1103 } 1104 1105 // text 1106 if (cap = this.rules.text.exec(src)) { 1107 src = src.substring(cap[0].length); 1108 out += this.renderer.text(escape(this.smartypants(cap[0]))); 1109 continue; 1110 } 1111 1112 if (src) { 1113 throw new 1114 Error('Infinite loop on byte: ' + src.charCodeAt(0)); 1115 } 1116 } 1117 1118 return out; 1119 }; 1120 1121 /** 1122 * Compile Link 1123 */ 1124 1125 InlineLexer.prototype.outputLink = function(cap, link) { 1126 var href = escape(link.href) 1127 , title = link.title ? escape(link.title) : null; 1128 1129 return cap[0].charAt(0) !== '!' 1130 ? this.renderer.link(href, title, this.output(cap[1])) 1131 : this.renderer.image(href, title, escape(cap[1])); 1132 }; 1133 1134 /** 1135 * Smartypants Transformations 1136 */ 1137 1138 InlineLexer.prototype.smartypants = function(text) { 1139 if (!this.options.smartypants) return text; 1140 return text 1141 // em-dashes 1142 .replace(/---/g, '\u2014') 1143 // en-dashes 1144 .replace(/--/g, '\u2013') 1145 // opening singles 1146 .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') 1147 // closing singles & apostrophes 1148 .replace(/'/g, '\u2019') 1149 // opening doubles 1150 .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') 1151 // closing doubles 1152 .replace(/"/g, '\u201d') 1153 // ellipses 1154 .replace(/\.{3}/g, '\u2026'); 1155 }; 1156 1157 /** 1158 * Mangle Links 1159 */ 1160 1161 InlineLexer.prototype.mangle = function(text) { 1162 if (!this.options.mangle) return text; 1163 var out = '' 1164 , l = text.length 1165 , i = 0 1166 , ch; 1167 1168 for (; i < l; i++) { 1169 ch = text.charCodeAt(i); 1170 if (Math.random() > 0.5) { 1171 ch = 'x' + ch.toString(16); 1172 } 1173 out += '&#' + ch + ';'; 1174 } 1175 1176 return out; 1177 }; 1178 1179 /** 1180 * Renderer 1181 */ 1182 1183 function Renderer(options) { 1184 this.options = options || {}; 1185 } 1186 1187 Renderer.prototype.code = function(code, lang, escaped) { 1188 if (this.options.highlight) { 1189 var out = this.options.highlight(code, lang); 1190 if (out != null && out !== code) { 1191 escaped = true; 1192 code = out; 1193 } 1194 } 1195 1196 if (!lang) { 1197 return '<pre><code>' 1198 + (escaped ? code : escape(code, true)) 1199 + '\n</code></pre>'; 1200 } 1201 1202 return '<pre><code class="' 1203 + this.options.langPrefix 1204 + escape(lang, true) 1205 + '">' 1206 + (escaped ? code : escape(code, true)) 1207 + '\n</code></pre>\n'; 1208 }; 1209 1210 Renderer.prototype.blockquote = function(quote) { 1211 return '<blockquote>\n' + quote + '</blockquote>\n'; 1212 }; 1213 1214 Renderer.prototype.html = function(html) { 1215 return html; 1216 }; 1217 1218 Renderer.prototype.heading = function(text, level, raw) { 1219 return '<h' 1220 + level 1221 + ' id="' 1222 + this.options.headerPrefix 1223 + raw.toLowerCase().replace(/[^\w]+/g, '-') 1224 + '">' 1225 + text 1226 + '</h' 1227 + level 1228 + '>\n'; 1229 }; 1230 1231 Renderer.prototype.hr = function() { 1232 return this.options.xhtml ? '<hr/>\n' : '<hr>\n'; 1233 }; 1234 1235 Renderer.prototype.list = function(body, ordered) { 1236 var type = ordered ? 'ol' : 'ul'; 1237 return '<' + type + '>\n' + body + '</' + type + '>\n'; 1238 }; 1239 1240 Renderer.prototype.listitem = function(text) { 1241 return '<li>' + text + '</li>\n'; 1242 }; 1243 1244 Renderer.prototype.paragraph = function(text) { 1245 return '<p>' + text + '</p>\n'; 1246 }; 1247 1248 Renderer.prototype.table = function(header, body) { 1249 return '<table>\n' 1250 + '<thead>\n' 1251 + header 1252 + '</thead>\n' 1253 + '<tbody>\n' 1254 + body 1255 + '</tbody>\n' 1256 + '</table>\n'; 1257 }; 1258 1259 Renderer.prototype.tablerow = function(content) { 1260 return '<tr>\n' + content + '</tr>\n'; 1261 }; 1262 1263 Renderer.prototype.tablecell = function(content, flags) { 1264 var type = flags.header ? 'th' : 'td'; 1265 var tag = flags.align 1266 ? '<' + type + ' style="text-align:' + flags.align + '">' 1267 : '<' + type + '>'; 1268 return tag + content + '</' + type + '>\n'; 1269 }; 1270 1271 // span level renderer 1272 Renderer.prototype.strong = function(text) { 1273 return '<strong>' + text + '</strong>'; 1274 }; 1275 1276 Renderer.prototype.em = function(text) { 1277 return '<em>' + text + '</em>'; 1278 }; 1279 1280 Renderer.prototype.codespan = function(text) { 1281 return '<code>' + text + '</code>'; 1282 }; 1283 1284 Renderer.prototype.br = function() { 1285 return this.options.xhtml ? '<br/>' : '<br>'; 1286 }; 1287 1288 Renderer.prototype.del = function(text) { 1289 return '<del>' + text + '</del>'; 1290 }; 1291 1292 Renderer.prototype.link = function(href, title, text) { 1293 if (this.options.sanitize) { 1294 try { 1295 var prot = decodeURIComponent(unescape(href)) 1296 .replace(/[^\w:]/g, '') 1297 .toLowerCase(); 1298 } catch (e) { 1299 return ''; 1300 } 1301 if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { 1302 return ''; 1303 } 1304 } 1305 if (this.options.baseUrl && !originIndependentUrl.test(href)) { 1306 href = resolveUrl(this.options.baseUrl, href); 1307 } 1308 var out = '<a href="' + href + '"'; 1309 if (title) { 1310 out += ' title="' + title + '"'; 1311 } 1312 out += '>' + text + '</a>'; 1313 return out; 1314 }; 1315 1316 Renderer.prototype.image = function(href, title, text) { 1317 if (this.options.baseUrl && !originIndependentUrl.test(href)) { 1318 href = resolveUrl(this.options.baseUrl, href); 1319 } 1320 var out = '<img src="' + href + '" alt="' + text + '"'; 1321 if (title) { 1322 out += ' title="' + title + '"'; 1323 } 1324 out += this.options.xhtml ? '/>' : '>'; 1325 return out; 1326 }; 1327 1328 Renderer.prototype.text = function(text) { 1329 return text; 1330 }; 1331 1332 /** 1333 * Parsing & Compiling 1334 */ 1335 1336 function Parser(options) { 1337 this.tokens = []; 1338 this.token = null; 1339 this.options = options || marked.defaults; 1340 this.options.renderer = this.options.renderer || new Renderer; 1341 this.renderer = this.options.renderer; 1342 this.renderer.options = this.options; 1343 } 1344 1345 /** 1346 * Static Parse Method 1347 */ 1348 1349 Parser.parse = function(src, options, renderer) { 1350 var parser = new Parser(options, renderer); 1351 return parser.parse(src); 1352 }; 1353 1354 /** 1355 * Parse Loop 1356 */ 1357 1358 Parser.prototype.parse = function(src) { 1359 this.inline = new InlineLexer(src.links, this.options, this.renderer); 1360 this.tokens = src.reverse(); 1361 1362 var out = ''; 1363 while (this.next()) { 1364 out += this.tok(); 1365 } 1366 1367 return out; 1368 }; 1369 1370 /** 1371 * Next Token 1372 */ 1373 1374 Parser.prototype.next = function() { 1375 return this.token = this.tokens.pop(); 1376 }; 1377 1378 /** 1379 * Preview Next Token 1380 */ 1381 1382 Parser.prototype.peek = function() { 1383 return this.tokens[this.tokens.length - 1] || 0; 1384 }; 1385 1386 /** 1387 * Parse Text Tokens 1388 */ 1389 1390 Parser.prototype.parseText = function() { 1391 var body = this.token.text; 1392 1393 while (this.peek().type === 'text') { 1394 body += '\n' + this.next().text; 1395 } 1396 1397 return this.inline.output(body); 1398 }; 1399 1400 /** 1401 * Parse Current Token 1402 */ 1403 1404 Parser.prototype.tok = function() { 1405 switch (this.token.type) { 1406 case 'space': { 1407 return ''; 1408 } 1409 case 'hr': { 1410 return this.renderer.hr(); 1411 } 1412 case 'heading': { 1413 return this.renderer.heading( 1414 this.inline.output(this.token.text), 1415 this.token.depth, 1416 this.token.text); 1417 } 1418 case 'code': { 1419 return this.renderer.code(this.token.text, 1420 this.token.lang, 1421 this.token.escaped); 1422 } 1423 case 'table': { 1424 var header = '' 1425 , body = '' 1426 , i 1427 , row 1428 , cell 1429 , flags 1430 , j; 1431 1432 // header 1433 cell = ''; 1434 for (i = 0; i < this.token.header.length; i++) { 1435 flags = { header: true, align: this.token.align[i] }; 1436 cell += this.renderer.tablecell( 1437 this.inline.output(this.token.header[i]), 1438 { header: true, align: this.token.align[i] } 1439 ); 1440 } 1441 header += this.renderer.tablerow(cell); 1442 1443 for (i = 0; i < this.token.cells.length; i++) { 1444 row = this.token.cells[i]; 1445 1446 cell = ''; 1447 for (j = 0; j < row.length; j++) { 1448 cell += this.renderer.tablecell( 1449 this.inline.output(row[j]), 1450 { header: false, align: this.token.align[j] } 1451 ); 1452 } 1453 1454 body += this.renderer.tablerow(cell); 1455 } 1456 return this.renderer.table(header, body); 1457 } 1458 case 'blockquote_start': { 1459 var body = ''; 1460 1461 while (this.next().type !== 'blockquote_end') { 1462 body += this.tok(); 1463 } 1464 1465 return this.renderer.blockquote(body); 1466 } 1467 case 'list_start': { 1468 var body = '' 1469 , ordered = this.token.ordered; 1470 1471 while (this.next().type !== 'list_end') { 1472 body += this.tok(); 1473 } 1474 1475 return this.renderer.list(body, ordered); 1476 } 1477 case 'list_item_start': { 1478 var body = ''; 1479 1480 while (this.next().type !== 'list_item_end') { 1481 body += this.token.type === 'text' 1482 ? this.parseText() 1483 : this.tok(); 1484 } 1485 1486 return this.renderer.listitem(body); 1487 } 1488 case 'loose_item_start': { 1489 var body = ''; 1490 1491 while (this.next().type !== 'list_item_end') { 1492 body += this.tok(); 1493 } 1494 1495 return this.renderer.listitem(body); 1496 } 1497 case 'html': { 1498 var html = !this.token.pre && !this.options.pedantic 1499 ? this.inline.output(this.token.text) 1500 : this.token.text; 1501 return this.renderer.html(html); 1502 } 1503 case 'paragraph': { 1504 return this.renderer.paragraph(this.inline.output(this.token.text)); 1505 } 1506 case 'text': { 1507 return this.renderer.paragraph(this.parseText()); 1508 } 1509 } 1510 }; 1511 1512 /** 1513 * Helpers 1514 */ 1515 1516 function escape(html, encode) { 1517 return html 1518 .replace(!encode ? /&(?!#?\w+;)/g : /&/g, '&') 1519 .replace(/</g, '<') 1520 .replace(/>/g, '>') 1521 .replace(/"/g, '"') 1522 .replace(/'/g, '''); 1523 } 1524 1525 function unescape(html) { 1526 // explicitly match decimal, hex, and named HTML entities 1527 return html.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig, function(_, n) { 1528 n = n.toLowerCase(); 1529 if (n === 'colon') return ':'; 1530 if (n.charAt(0) === '#') { 1531 return n.charAt(1) === 'x' 1532 ? String.fromCharCode(parseInt(n.substring(2), 16)) 1533 : String.fromCharCode(+n.substring(1)); 1534 } 1535 return ''; 1536 }); 1537 } 1538 1539 function replace(regex, opt) { 1540 regex = regex.source; 1541 opt = opt || ''; 1542 return function self(name, val) { 1543 if (!name) return new RegExp(regex, opt); 1544 val = val.source || val; 1545 val = val.replace(/(^|[^\[])\^/g, '$1'); 1546 regex = regex.replace(name, val); 1547 return self; 1548 }; 1549 } 1550 1551 function resolveUrl(base, href) { 1552 if (!baseUrls[' ' + base]) { 1553 // we can ignore everything in base after the last slash of its path component, 1554 // but we might need to add _that_ 1555 // https://tools.ietf.org/html/rfc3986#section-3 1556 if (/^[^:]+:\/*[^/]*$/.test(base)) { 1557 baseUrls[' ' + base] = base + '/'; 1558 } else { 1559 baseUrls[' ' + base] = base.replace(/[^/]*$/, ''); 1560 } 1561 } 1562 base = baseUrls[' ' + base]; 1563 1564 if (href.slice(0, 2) === '//') { 1565 return base.replace(/:[^]*/, ':') + href; 1566 } else if (href.charAt(0) === '/') { 1567 return base.replace(/(:\/*[^/]*)[^]*/, '$1') + href; 1568 } else { 1569 return base + href; 1570 } 1571 } 1572 baseUrls = {}; 1573 originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; 1574 1575 function noop() {} 1576 noop.exec = noop; 1577 1578 function merge(obj) { 1579 var i = 1 1580 , target 1581 , key; 1582 1583 for (; i < arguments.length; i++) { 1584 target = arguments[i]; 1585 for (key in target) { 1586 if (Object.prototype.hasOwnProperty.call(target, key)) { 1587 obj[key] = target[key]; 1588 } 1589 } 1590 } 1591 1592 return obj; 1593 } 1594 1595 1596 /** 1597 * Marked 1598 */ 1599 1600 function marked(src, opt, callback) { 1601 if (callback || typeof opt === 'function') { 1602 if (!callback) { 1603 callback = opt; 1604 opt = null; 1605 } 1606 1607 opt = merge({}, marked.defaults, opt || {}); 1608 1609 var highlight = opt.highlight 1610 , tokens 1611 , pending 1612 , i = 0; 1613 1614 try { 1615 tokens = Lexer.lex(src, opt) 1616 } catch (e) { 1617 return callback(e); 1618 } 1619 1620 pending = tokens.length; 1621 1622 var done = function(err) { 1623 if (err) { 1624 opt.highlight = highlight; 1625 return callback(err); 1626 } 1627 1628 var out; 1629 1630 try { 1631 out = Parser.parse(tokens, opt); 1632 } catch (e) { 1633 err = e; 1634 } 1635 1636 opt.highlight = highlight; 1637 1638 return err 1639 ? callback(err) 1640 : callback(null, out); 1641 }; 1642 1643 if (!highlight || highlight.length < 3) { 1644 return done(); 1645 } 1646 1647 delete opt.highlight; 1648 1649 if (!pending) return done(); 1650 1651 for (; i < tokens.length; i++) { 1652 (function(token) { 1653 if (token.type !== 'code') { 1654 return --pending || done(); 1655 } 1656 return highlight(token.text, token.lang, function(err, code) { 1657 if (err) return done(err); 1658 if (code == null || code === token.text) { 1659 return --pending || done(); 1660 } 1661 token.text = code; 1662 token.escaped = true; 1663 --pending || done(); 1664 }); 1665 })(tokens[i]); 1666 } 1667 1668 return; 1669 } 1670 try { 1671 if (opt) opt = merge({}, marked.defaults, opt); 1672 return Parser.parse(Lexer.lex(src, opt), opt); 1673 } catch (e) { 1674 e.message += '\nPlease report this to https://github.com/chjj/marked.'; 1675 if ((opt || marked.defaults).silent) { 1676 return '<p>An error occured:</p><pre>' 1677 + escape(e.message + '', true) 1678 + '</pre>'; 1679 } 1680 throw e; 1681 } 1682 } 1683 1684 /** 1685 * Options 1686 */ 1687 1688 marked.options = 1689 marked.setOptions = function(opt) { 1690 merge(marked.defaults, opt); 1691 return marked; 1692 }; 1693 1694 marked.defaults = { 1695 gfm: true, 1696 tables: true, 1697 breaks: false, 1698 pedantic: false, 1699 sanitize: false, 1700 sanitizer: null, 1701 mangle: true, 1702 smartLists: false, 1703 silent: false, 1704 highlight: null, 1705 langPrefix: 'lang-', 1706 smartypants: false, 1707 headerPrefix: '', 1708 renderer: new Renderer, 1709 xhtml: false, 1710 baseUrl: null 1711 }; 1712 1713 /** 1714 * Expose 1715 */ 1716 1717 marked.Parser = Parser; 1718 marked.parser = Parser.parse; 1719 1720 marked.Renderer = Renderer; 1721 1722 marked.Lexer = Lexer; 1723 marked.lexer = Lexer.lex; 1724 1725 marked.InlineLexer = InlineLexer; 1726 marked.inlineLexer = InlineLexer.output; 1727 1728 marked.parse = marked; 1729 1730 if (typeof module !== 'undefined' && typeof exports === 'object') { 1731 module.exports = marked; 1732 } else if (typeof define === 'function' && define.amd) { 1733 define(function() { return marked; }); 1734 } else { 1735 this.marked = marked; 1736 } 1737 1738 }).call(function() { 1739 return this || (typeof window !== 'undefined' ? window : global); 1740 }()); 1741 1742 }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) 1743 },{}],4:[function(require,module,exports){ 1744 exports.apply = function () { 1745 forEach([Array, window.NodeList, window.HTMLCollection], extend); 1746 }; 1747 1748 function forEach (list, f) { 1749 var i; 1750 1751 for (i = 0; i < list.length; ++i) { 1752 f(list[i], i); 1753 } 1754 } 1755 1756 function extend (object) { 1757 var prototype = object && object.prototype; 1758 1759 if (!prototype) { 1760 return; 1761 } 1762 1763 prototype.forEach = prototype.forEach || function (f) { 1764 forEach(this, f); 1765 }; 1766 1767 prototype.filter = prototype.filter || function (f) { 1768 var result = []; 1769 1770 this.forEach(function (element) { 1771 if (f(element, result.length)) { 1772 result.push(element); 1773 } 1774 }); 1775 1776 return result; 1777 }; 1778 1779 prototype.map = prototype.map || function (f) { 1780 var result = []; 1781 1782 this.forEach(function (element) { 1783 result.push(f(element, result.length)); 1784 }); 1785 1786 return result; 1787 }; 1788 } 1789 },{}],5:[function(require,module,exports){ 1790 var Api = require('./remark/api') 1791 , polyfills = require('./polyfills') 1792 , styler = require('./remark/components/styler/styler') 1793 ; 1794 1795 // Expose API as `remark` 1796 window.remark = new Api(); 1797 1798 // Apply polyfills as needed 1799 polyfills.apply(); 1800 1801 // Apply embedded styles to document 1802 styler.styleDocument(); 1803 1804 },{"./polyfills":4,"./remark/api":6,"./remark/components/styler/styler":"components/styler"}],6:[function(require,module,exports){ 1805 var EventEmitter = require('events').EventEmitter 1806 , highlighter = require('./highlighter') 1807 , converter = require('./converter') 1808 , resources = require('./resources') 1809 , Parser = require('./parser') 1810 , Slideshow = require('./models/slideshow') 1811 , SlideshowView = require('./views/slideshowView') 1812 , DefaultController = require('./controllers/defaultController') 1813 , Dom = require('./dom') 1814 , macros = require('./macros') 1815 ; 1816 1817 module.exports = Api; 1818 1819 function Api (dom) { 1820 this.dom = dom || new Dom(); 1821 this.macros = macros; 1822 this.version = resources.version; 1823 } 1824 1825 // Expose highlighter to allow enumerating available styles and 1826 // including external language grammars 1827 Api.prototype.highlighter = highlighter; 1828 1829 Api.prototype.convert = function (markdown) { 1830 var parser = new Parser() 1831 , content = parser.parse(markdown || '', macros)[0].content 1832 ; 1833 1834 return converter.convertMarkdown(content, {}, true); 1835 }; 1836 1837 // Creates slideshow initialized from options 1838 Api.prototype.create = function (options, callback) { 1839 var self = this 1840 , events 1841 , slideshow 1842 , slideshowView 1843 , controller 1844 ; 1845 1846 options = applyDefaults(this.dom, options); 1847 1848 events = new EventEmitter(); 1849 events.setMaxListeners(0); 1850 1851 slideshow = new Slideshow(events, this.dom, options, function (slideshow) { 1852 slideshowView = new SlideshowView(events, self.dom, options, slideshow); 1853 controller = options.controller || new DefaultController(events, self.dom, slideshowView, options.navigation); 1854 if (typeof callback === 'function') { 1855 callback(slideshow); 1856 } 1857 }); 1858 1859 return slideshow; 1860 }; 1861 1862 function applyDefaults (dom, options) { 1863 var sourceElement; 1864 1865 options = options || {}; 1866 1867 if (!options.hasOwnProperty('source')) { 1868 sourceElement = dom.getElementById('source'); 1869 if (sourceElement) { 1870 options.source = unescape(sourceElement.innerHTML); 1871 sourceElement.style.display = 'none'; 1872 } 1873 } 1874 1875 if (!(options.container instanceof window.HTMLElement)) { 1876 options.container = dom.getBodyElement(); 1877 } 1878 1879 return options; 1880 } 1881 1882 function unescape (source) { 1883 source = source.replace(/&[l|g]t;/g, 1884 function (match) { 1885 return match === '<' ? '<' : '>'; 1886 }); 1887 1888 source = source.replace(/&/g, '&'); 1889 source = source.replace(/"/g, '"'); 1890 1891 return source; 1892 } 1893 },{"./controllers/defaultController":7,"./converter":13,"./dom":14,"./highlighter":15,"./macros":17,"./models/slideshow":19,"./parser":22,"./resources":23,"./views/slideshowView":28,"events":1}],7:[function(require,module,exports){ 1894 // Allow override of global `location` 1895 /* global location:true */ 1896 1897 module.exports = Controller; 1898 1899 var Keyboard = require('./inputs/keyboard') 1900 , mouse = require('./inputs/mouse') 1901 , touch = require('./inputs/touch') 1902 , message = require('./inputs/message') 1903 , location = require('./inputs/location') 1904 ; 1905 1906 function Controller (events, dom, slideshowView, options) { 1907 options = options || {}; 1908 1909 var keyboard = new Keyboard(events); 1910 1911 message.register(events); 1912 location.register(events, dom, slideshowView); 1913 mouse.register(events, options); 1914 touch.register(events, options); 1915 1916 addApiEventListeners(events, keyboard, slideshowView, options); 1917 } 1918 1919 function addApiEventListeners (events, keyboard, slideshowView, options) { 1920 events.on('pause', function(event) { 1921 keyboard.deactivate(); 1922 mouse.unregister(events); 1923 touch.unregister(events); 1924 }); 1925 1926 events.on('resume', function(event) { 1927 keyboard.activate(); 1928 mouse.register(events, options); 1929 touch.register(events, options); 1930 }); 1931 } 1932 },{"./inputs/keyboard":8,"./inputs/location":9,"./inputs/message":10,"./inputs/mouse":11,"./inputs/touch":12}],8:[function(require,module,exports){ 1933 module.exports = Keyboard; 1934 1935 function Keyboard(events) { 1936 this._events = events; 1937 1938 this.activate(); 1939 } 1940 1941 Keyboard.prototype.activate = function () { 1942 this._gotoSlideNumber = ''; 1943 1944 this.addKeyboardEventListeners(); 1945 }; 1946 1947 Keyboard.prototype.deactivate = function () { 1948 this.removeKeyboardEventListeners(); 1949 }; 1950 1951 Keyboard.prototype.addKeyboardEventListeners = function () { 1952 var self = this; 1953 var events = this._events; 1954 1955 events.on('keydown', function (event) { 1956 if (event.metaKey || event.ctrlKey || event.altKey) { 1957 // Bail out if alt, meta or ctrl key was pressed 1958 return; 1959 } 1960 1961 switch (event.keyCode) { 1962 case 33: // Page up 1963 case 37: // Left 1964 case 38: // Up 1965 events.emit('gotoPreviousSlide'); 1966 break; 1967 case 32: // Space 1968 if(event.shiftKey){ // Shift+Space 1969 events.emit('gotoPreviousSlide'); 1970 }else{ 1971 events.emit('gotoNextSlide'); 1972 } 1973 break; 1974 case 34: // Page down 1975 case 39: // Right 1976 case 40: // Down 1977 events.emit('gotoNextSlide'); 1978 break; 1979 case 36: // Home 1980 events.emit('gotoFirstSlide'); 1981 break; 1982 case 35: // End 1983 events.emit('gotoLastSlide'); 1984 break; 1985 case 27: // Escape 1986 events.emit('hideOverlay'); 1987 break; 1988 case 13: // Return 1989 if (self._gotoSlideNumber) { 1990 events.emit('gotoSlideNumber', self._gotoSlideNumber); 1991 self._gotoSlideNumber = ''; 1992 } 1993 break; 1994 } 1995 }); 1996 1997 events.on('keypress', function (event) { 1998 if (event.metaKey || event.ctrlKey) { 1999 // Bail out if meta or ctrl key was pressed 2000 return; 2001 } 2002 2003 var key = String.fromCharCode(event.which).toLowerCase(); 2004 var tryToPreventDefault = true; 2005 2006 switch (key) { 2007 case 'j': 2008 events.emit('gotoNextSlide'); 2009 break; 2010 case 'k': 2011 events.emit('gotoPreviousSlide'); 2012 break; 2013 case 'b': 2014 events.emit('toggleBlackout'); 2015 break; 2016 case 'm': 2017 events.emit('toggleMirrored'); 2018 break; 2019 case 'c': 2020 events.emit('createClone'); 2021 break; 2022 case 'p': 2023 events.emit('togglePresenterMode'); 2024 break; 2025 case 'f': 2026 events.emit('toggleFullscreen'); 2027 break; 2028 case 's': 2029 events.emit('toggleTimer'); 2030 break; 2031 case 't': 2032 events.emit('resetTimer'); 2033 break; 2034 case '1': 2035 case '2': 2036 case '3': 2037 case '4': 2038 case '5': 2039 case '6': 2040 case '7': 2041 case '8': 2042 case '9': 2043 case '0': 2044 self._gotoSlideNumber += key; 2045 break; 2046 case 'h': 2047 case '?': 2048 events.emit('toggleHelp'); 2049 break; 2050 default: 2051 tryToPreventDefault = false; 2052 } 2053 2054 if (tryToPreventDefault && event && event.preventDefault) 2055 event.preventDefault(); 2056 2057 }); 2058 }; 2059 2060 Keyboard.prototype.removeKeyboardEventListeners = function () { 2061 var events = this._events; 2062 2063 events.removeAllListeners("keydown"); 2064 events.removeAllListeners("keypress"); 2065 }; 2066 2067 },{}],9:[function(require,module,exports){ 2068 var utils = require('../../utils.js'); 2069 2070 exports.register = function (events, dom, slideshowView) { 2071 addLocationEventListeners(events, dom, slideshowView); 2072 }; 2073 2074 function addLocationEventListeners (events, dom, slideshowView) { 2075 // If slideshow is embedded into custom DOM element, we don't 2076 // hook up to location hash changes, so just go to first slide. 2077 if (slideshowView.isEmbedded()) { 2078 events.emit('gotoSlide', 1); 2079 } 2080 // When slideshow is not embedded into custom DOM element, but 2081 // rather hosted directly inside document.body, we hook up to 2082 // location hash changes, and trigger initial navigation. 2083 else { 2084 events.on('hashchange', navigateByHash); 2085 events.on('slideChanged', updateHash); 2086 events.on('toggledPresenter', updateHash); 2087 2088 navigateByHash(); 2089 } 2090 2091 function navigateByHash () { 2092 var slideNoOrName = (dom.getLocationHash() || '').substr(1); 2093 events.emit('gotoSlide', slideNoOrName); 2094 } 2095 2096 function updateHash (slideNoOrName) { 2097 if(utils.hasClass(slideshowView.containerElement, 'remark-presenter-mode')){ 2098 dom.setLocationHash('#p' + slideNoOrName); 2099 } 2100 else{ 2101 dom.setLocationHash('#' + slideNoOrName); 2102 } 2103 } 2104 } 2105 2106 },{"../../utils.js":25}],10:[function(require,module,exports){ 2107 exports.register = function (events) { 2108 addMessageEventListeners(events); 2109 }; 2110 2111 function addMessageEventListeners (events) { 2112 events.on('message', navigateByMessage); 2113 2114 function navigateByMessage(message) { 2115 var cap; 2116 2117 if ((cap = /^gotoSlide:(\d+)$/.exec(message.data)) !== null) { 2118 events.emit('gotoSlide', parseInt(cap[1], 10), true); 2119 } 2120 else if (message.data === 'toggleBlackout') { 2121 events.emit('toggleBlackout', {propagate: false}); 2122 } 2123 } 2124 } 2125 2126 },{}],11:[function(require,module,exports){ 2127 exports.register = function (events, options) { 2128 addMouseEventListeners(events, options); 2129 }; 2130 2131 exports.unregister = function (events) { 2132 removeMouseEventListeners(events); 2133 }; 2134 2135 function addMouseEventListeners (events, options) { 2136 if (options.click) { 2137 events.on('click', function (event) { 2138 if (event.target.nodeName === 'A') { 2139 // Don't interfere when clicking link 2140 return; 2141 } 2142 else if (event.button === 0) { 2143 events.emit('gotoNextSlide'); 2144 } 2145 }); 2146 events.on('contextmenu', function (event) { 2147 if (event.target.nodeName === 'A') { 2148 // Don't interfere when right-clicking link 2149 return; 2150 } 2151 event.preventDefault(); 2152 events.emit('gotoPreviousSlide'); 2153 }); 2154 } 2155 2156 if (options.scroll !== false) { 2157 var scrollHandler = function (event) { 2158 if (event.wheelDeltaY > 0 || event.detail < 0) { 2159 events.emit('gotoPreviousSlide'); 2160 } 2161 else if (event.wheelDeltaY < 0 || event.detail > 0) { 2162 events.emit('gotoNextSlide'); 2163 } 2164 }; 2165 2166 // IE9, Chrome, Safari, Opera 2167 events.on('mousewheel', scrollHandler); 2168 // Firefox 2169 events.on('DOMMouseScroll', scrollHandler); 2170 } 2171 } 2172 2173 function removeMouseEventListeners(events) { 2174 events.removeAllListeners('click'); 2175 events.removeAllListeners('contextmenu'); 2176 events.removeAllListeners('mousewheel'); 2177 } 2178 2179 },{}],12:[function(require,module,exports){ 2180 exports.register = function (events, options) { 2181 addTouchEventListeners(events, options); 2182 }; 2183 2184 exports.unregister = function (events) { 2185 removeTouchEventListeners(events); 2186 }; 2187 2188 function addTouchEventListeners (events, options) { 2189 var touch 2190 , startX 2191 , endX 2192 ; 2193 2194 if (options.touch === false) { 2195 return; 2196 } 2197 2198 var isTap = function () { 2199 return Math.abs(startX - endX) < 10; 2200 }; 2201 2202 var handleTap = function () { 2203 events.emit('tap', endX); 2204 }; 2205 2206 var handleSwipe = function () { 2207 if (startX > endX) { 2208 events.emit('gotoNextSlide'); 2209 } 2210 else { 2211 events.emit('gotoPreviousSlide'); 2212 } 2213 }; 2214 2215 events.on('touchstart', function (event) { 2216 touch = event.touches[0]; 2217 startX = touch.clientX; 2218 }); 2219 2220 events.on('touchend', function (event) { 2221 if (event.target.nodeName.toUpperCase() === 'A') { 2222 return; 2223 } 2224 2225 touch = event.changedTouches[0]; 2226 endX = touch.clientX; 2227 2228 if (isTap()) { 2229 handleTap(); 2230 } 2231 else { 2232 handleSwipe(); 2233 } 2234 }); 2235 2236 events.on('touchmove', function (event) { 2237 event.preventDefault(); 2238 }); 2239 } 2240 2241 function removeTouchEventListeners(events) { 2242 events.removeAllListeners("touchstart"); 2243 events.removeAllListeners("touchend"); 2244 events.removeAllListeners("touchmove"); 2245 } 2246 2247 },{}],13:[function(require,module,exports){ 2248 var marked = require('marked') 2249 , converter = module.exports = {} 2250 , element = document.createElement('div') 2251 ; 2252 2253 marked.setOptions({ 2254 gfm: true, 2255 tables: true, 2256 breaks: false, 2257 2258 // Without this set to true, converting something like 2259 // <p>*</p><p>*</p> will become <p><em></p><p></em></p> 2260 pedantic: true, 2261 2262 sanitize: false, 2263 smartLists: true, 2264 langPrefix: '' 2265 }); 2266 2267 converter.convertMarkdown = function (content, links, inline) { 2268 element.innerHTML = convertMarkdown(content, links || {}, inline); 2269 element.innerHTML = element.innerHTML.replace(/<p>\s*<\/p>/g, ''); 2270 return element.innerHTML.replace(/\n\r?$/, ''); 2271 }; 2272 2273 function convertMarkdown (content, links, insideContentClass) { 2274 var i, tag, markdown = '', html; 2275 2276 for (i = 0; i < content.length; ++i) { 2277 if (typeof content[i] === 'string') { 2278 markdown += content[i]; 2279 } 2280 else { 2281 tag = content[i].block ? 'div' : 'span'; 2282 markdown += '<' + tag + ' class="' + content[i].class + '">'; 2283 markdown += convertMarkdown(content[i].content, links, !content[i].block); 2284 markdown += '</' + tag + '>'; 2285 } 2286 } 2287 2288 var tokens = marked.Lexer.lex(markdown.replace(/^\s+/, '')); 2289 tokens.links = links; 2290 html = marked.Parser.parse(tokens); 2291 2292 if (insideContentClass) { 2293 element.innerHTML = html; 2294 if (element.children.length === 1 && element.children[0].tagName === 'P') { 2295 html = element.children[0].innerHTML; 2296 } 2297 } 2298 2299 return html; 2300 } 2301 2302 },{"marked":3}],14:[function(require,module,exports){ 2303 module.exports = Dom; 2304 2305 function Dom () { } 2306 2307 Dom.prototype.XMLHttpRequest = XMLHttpRequest; 2308 2309 Dom.prototype.getHTMLElement = function () { 2310 return document.getElementsByTagName('html')[0]; 2311 }; 2312 2313 Dom.prototype.getBodyElement = function () { 2314 return document.body; 2315 }; 2316 2317 Dom.prototype.getElementById = function (id) { 2318 return document.getElementById(id); 2319 }; 2320 2321 Dom.prototype.getLocationHash = function () { 2322 return window.location.hash; 2323 }; 2324 2325 Dom.prototype.setLocationHash = function (hash) { 2326 if (typeof window.history.replaceState === 'function' && window.origin !== 'null') { 2327 window.history.replaceState(undefined, undefined, hash); 2328 } 2329 else { 2330 window.location.hash = hash; 2331 } 2332 }; 2333 2334 },{}],15:[function(require,module,exports){ 2335 /* Automatically generated */ 2336 2337 var hljs = (function() { 2338 var exports = {}; 2339 /* 2340 Syntax highlighting with language autodetection. 2341 https://highlightjs.org/ 2342 */ 2343 2344 (function(factory) { 2345 2346 // Find the global object for export to both the browser and web workers. 2347 var globalObject = typeof window === 'object' && window || 2348 typeof self === 'object' && self; 2349 2350 // Setup highlight.js for different environments. First is Node.js or 2351 // CommonJS. 2352 // `nodeType` is checked to ensure that `exports` is not a HTML element. 2353 if(typeof exports !== 'undefined' && !exports.nodeType) { 2354 factory(exports); 2355 } else if(globalObject) { 2356 // Export hljs globally even when using AMD for cases when this script 2357 // is loaded with others that may still expect a global hljs. 2358 globalObject.hljs = factory({}); 2359 2360 // Finally register the global hljs with AMD. 2361 if(typeof define === 'function' && define.amd) { 2362 define([], function() { 2363 return globalObject.hljs; 2364 }); 2365 } 2366 } 2367 2368 }(function(hljs) { 2369 // Convenience variables for build-in objects 2370 var ArrayProto = [], 2371 objectKeys = Object.keys; 2372 2373 // Global internal variables used within the highlight.js library. 2374 var languages = {}, 2375 aliases = {}; 2376 2377 // Regular expressions used throughout the highlight.js library. 2378 var noHighlightRe = /^(no-?highlight|plain|text)$/i, 2379 languagePrefixRe = /\blang(?:uage)?-([\w-]+)\b/i, 2380 fixMarkupRe = /((^(<[^>]+>|\t|)+|(?:\n)))/gm; 2381 2382 // The object will be assigned by the build tool. It used to synchronize API 2383 // of external language files with minified version of the highlight.js library. 2384 var API_REPLACES; 2385 2386 var spanEndTag = '</span>'; 2387 2388 // Global options used when within external APIs. This is modified when 2389 // calling the `hljs.configure` function. 2390 var options = { 2391 classPrefix: 'hljs-', 2392 tabReplace: null, 2393 useBR: false, 2394 languages: undefined 2395 }; 2396 2397 2398 /* Utility functions */ 2399 2400 function escape(value) { 2401 return value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); 2402 } 2403 2404 function tag(node) { 2405 return node.nodeName.toLowerCase(); 2406 } 2407 2408 function testRe(re, lexeme) { 2409 var match = re && re.exec(lexeme); 2410 return match && match.index === 0; 2411 } 2412 2413 function isNotHighlighted(language) { 2414 return noHighlightRe.test(language); 2415 } 2416 2417 function blockLanguage(block) { 2418 var i, match, length, _class; 2419 var classes = block.className + ' '; 2420 2421 classes += block.parentNode ? block.parentNode.className : ''; 2422 2423 // language-* takes precedence over non-prefixed class names. 2424 match = languagePrefixRe.exec(classes); 2425 if (match) { 2426 return getLanguage(match[1]) ? match[1] : 'no-highlight'; 2427 } 2428 2429 classes = classes.split(/\s+/); 2430 2431 for (i = 0, length = classes.length; i < length; i++) { 2432 _class = classes[i]; 2433 2434 if (isNotHighlighted(_class) || getLanguage(_class)) { 2435 return _class; 2436 } 2437 } 2438 } 2439 2440 function inherit(parent) { // inherit(parent, override_obj, override_obj, ...) 2441 var key; 2442 var result = {}; 2443 var objects = Array.prototype.slice.call(arguments, 1); 2444 2445 for (key in parent) 2446 result[key] = parent[key]; 2447 objects.forEach(function(obj) { 2448 for (key in obj) 2449 result[key] = obj[key]; 2450 }); 2451 return result; 2452 } 2453 2454 /* Stream merging */ 2455 2456 function nodeStream(node) { 2457 var result = []; 2458 (function _nodeStream(node, offset) { 2459 for (var child = node.firstChild; child; child = child.nextSibling) { 2460 if (child.nodeType === 3) 2461 offset += child.nodeValue.length; 2462 else if (child.nodeType === 1) { 2463 result.push({ 2464 event: 'start', 2465 offset: offset, 2466 node: child 2467 }); 2468 offset = _nodeStream(child, offset); 2469 // Prevent void elements from having an end tag that would actually 2470 // double them in the output. There are more void elements in HTML 2471 // but we list only those realistically expected in code display. 2472 if (!tag(child).match(/br|hr|img|input/)) { 2473 result.push({ 2474 event: 'stop', 2475 offset: offset, 2476 node: child 2477 }); 2478 } 2479 } 2480 } 2481 return offset; 2482 })(node, 0); 2483 return result; 2484 } 2485 2486 function mergeStreams(original, highlighted, value) { 2487 var processed = 0; 2488 var result = ''; 2489 var nodeStack = []; 2490 2491 function selectStream() { 2492 if (!original.length || !highlighted.length) { 2493 return original.length ? original : highlighted; 2494 } 2495 if (original[0].offset !== highlighted[0].offset) { 2496 return (original[0].offset < highlighted[0].offset) ? original : highlighted; 2497 } 2498 2499 /* 2500 To avoid starting the stream just before it should stop the order is 2501 ensured that original always starts first and closes last: 2502 2503 if (event1 == 'start' && event2 == 'start') 2504 return original; 2505 if (event1 == 'start' && event2 == 'stop') 2506 return highlighted; 2507 if (event1 == 'stop' && event2 == 'start') 2508 return original; 2509 if (event1 == 'stop' && event2 == 'stop') 2510 return highlighted; 2511 2512 ... which is collapsed to: 2513 */ 2514 return highlighted[0].event === 'start' ? original : highlighted; 2515 } 2516 2517 function open(node) { 2518 function attr_str(a) {return ' ' + a.nodeName + '="' + escape(a.value).replace('"', '"') + '"';} 2519 result += '<' + tag(node) + ArrayProto.map.call(node.attributes, attr_str).join('') + '>'; 2520 } 2521 2522 function close(node) { 2523 result += '</' + tag(node) + '>'; 2524 } 2525 2526 function render(event) { 2527 (event.event === 'start' ? open : close)(event.node); 2528 } 2529 2530 while (original.length || highlighted.length) { 2531 var stream = selectStream(); 2532 result += escape(value.substring(processed, stream[0].offset)); 2533 processed = stream[0].offset; 2534 if (stream === original) { 2535 /* 2536 On any opening or closing tag of the original markup we first close 2537 the entire highlighted node stack, then render the original tag along 2538 with all the following original tags at the same offset and then 2539 reopen all the tags on the highlighted stack. 2540 */ 2541 nodeStack.reverse().forEach(close); 2542 do { 2543 render(stream.splice(0, 1)[0]); 2544 stream = selectStream(); 2545 } while (stream === original && stream.length && stream[0].offset === processed); 2546 nodeStack.reverse().forEach(open); 2547 } else { 2548 if (stream[0].event === 'start') { 2549 nodeStack.push(stream[0].node); 2550 } else { 2551 nodeStack.pop(); 2552 } 2553 render(stream.splice(0, 1)[0]); 2554 } 2555 } 2556 return result + escape(value.substr(processed)); 2557 } 2558 2559 /* Initialization */ 2560 2561 function expand_mode(mode) { 2562 if (mode.variants && !mode.cached_variants) { 2563 mode.cached_variants = mode.variants.map(function(variant) { 2564 return inherit(mode, {variants: null}, variant); 2565 }); 2566 } 2567 return mode.cached_variants || (mode.endsWithParent && [inherit(mode)]) || [mode]; 2568 } 2569 2570 function restoreLanguageApi(obj) { 2571 if(API_REPLACES && !obj.langApiRestored) { 2572 obj.langApiRestored = true; 2573 for(var key in API_REPLACES) 2574 obj[key] && (obj[API_REPLACES[key]] = obj[key]); 2575 (obj.contains || []).concat(obj.variants || []).forEach(restoreLanguageApi); 2576 } 2577 } 2578 2579 function compileLanguage(language) { 2580 2581 function reStr(re) { 2582 return (re && re.source) || re; 2583 } 2584 2585 function langRe(value, global) { 2586 return new RegExp( 2587 reStr(value), 2588 'm' + (language.case_insensitive ? 'i' : '') + (global ? 'g' : '') 2589 ); 2590 } 2591 2592 // joinRe logically computes regexps.join(separator), but fixes the 2593 // backreferences so they continue to match. 2594 function joinRe(regexps, separator) { 2595 // backreferenceRe matches an open parenthesis or backreference. To avoid 2596 // an incorrect parse, it additionally matches the following: 2597 // - [...] elements, where the meaning of parentheses and escapes change 2598 // - other escape sequences, so we do not misparse escape sequences as 2599 // interesting elements 2600 // - non-matching or lookahead parentheses, which do not capture. These 2601 // follow the '(' with a '?'. 2602 var backreferenceRe = /\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./; 2603 var numCaptures = 0; 2604 var ret = ''; 2605 for (var i = 0; i < regexps.length; i++) { 2606 var offset = numCaptures; 2607 var re = reStr(regexps[i]); 2608 if (i > 0) { 2609 ret += separator; 2610 } 2611 while (re.length > 0) { 2612 var match = backreferenceRe.exec(re); 2613 if (match == null) { 2614 ret += re; 2615 break; 2616 } 2617 ret += re.substring(0, match.index); 2618 re = re.substring(match.index + match[0].length); 2619 if (match[0][0] == '\\' && match[1]) { 2620 // Adjust the backreference. 2621 ret += '\\' + String(Number(match[1]) + offset); 2622 } else { 2623 ret += match[0]; 2624 if (match[0] == '(') { 2625 numCaptures++; 2626 } 2627 } 2628 } 2629 } 2630 return ret; 2631 } 2632 2633 function compileMode(mode, parent) { 2634 if (mode.compiled) 2635 return; 2636 mode.compiled = true; 2637 2638 mode.keywords = mode.keywords || mode.beginKeywords; 2639 if (mode.keywords) { 2640 var compiled_keywords = {}; 2641 2642 var flatten = function(className, str) { 2643 if (language.case_insensitive) { 2644 str = str.toLowerCase(); 2645 } 2646 str.split(' ').forEach(function(kw) { 2647 var pair = kw.split('|'); 2648 compiled_keywords[pair[0]] = [className, pair[1] ? Number(pair[1]) : 1]; 2649 }); 2650 }; 2651 2652 if (typeof mode.keywords === 'string') { // string 2653 flatten('keyword', mode.keywords); 2654 } else { 2655 objectKeys(mode.keywords).forEach(function (className) { 2656 flatten(className, mode.keywords[className]); 2657 }); 2658 } 2659 mode.keywords = compiled_keywords; 2660 } 2661 mode.lexemesRe = langRe(mode.lexemes || /\w+/, true); 2662 2663 if (parent) { 2664 if (mode.beginKeywords) { 2665 mode.begin = '\\b(' + mode.beginKeywords.split(' ').join('|') + ')\\b'; 2666 } 2667 if (!mode.begin) 2668 mode.begin = /\B|\b/; 2669 mode.beginRe = langRe(mode.begin); 2670 if (mode.endSameAsBegin) 2671 mode.end = mode.begin; 2672 if (!mode.end && !mode.endsWithParent) 2673 mode.end = /\B|\b/; 2674 if (mode.end) 2675 mode.endRe = langRe(mode.end); 2676 mode.terminator_end = reStr(mode.end) || ''; 2677 if (mode.endsWithParent && parent.terminator_end) 2678 mode.terminator_end += (mode.end ? '|' : '') + parent.terminator_end; 2679 } 2680 if (mode.illegal) 2681 mode.illegalRe = langRe(mode.illegal); 2682 if (mode.relevance == null) 2683 mode.relevance = 1; 2684 if (!mode.contains) { 2685 mode.contains = []; 2686 } 2687 mode.contains = Array.prototype.concat.apply([], mode.contains.map(function(c) { 2688 return expand_mode(c === 'self' ? mode : c); 2689 })); 2690 mode.contains.forEach(function(c) {compileMode(c, mode);}); 2691 2692 if (mode.starts) { 2693 compileMode(mode.starts, parent); 2694 } 2695 2696 var terminators = 2697 mode.contains.map(function(c) { 2698 return c.beginKeywords ? '\\.?(?:' + c.begin + ')\\.?' : c.begin; 2699 }) 2700 .concat([mode.terminator_end, mode.illegal]) 2701 .map(reStr) 2702 .filter(Boolean); 2703 mode.terminators = terminators.length ? langRe(joinRe(terminators, '|'), true) : {exec: function(/*s*/) {return null;}}; 2704 } 2705 2706 compileMode(language); 2707 } 2708 2709 /* 2710 Core highlighting function. Accepts a language name, or an alias, and a 2711 string with the code to highlight. Returns an object with the following 2712 properties: 2713 2714 - relevance (int) 2715 - value (an HTML string with highlighting markup) 2716 2717 */ 2718 function highlight(name, value, ignore_illegals, continuation) { 2719 2720 function escapeRe(value) { 2721 return new RegExp(value.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'), 'm'); 2722 } 2723 2724 function subMode(lexeme, mode) { 2725 var i, length; 2726 2727 for (i = 0, length = mode.contains.length; i < length; i++) { 2728 if (testRe(mode.contains[i].beginRe, lexeme)) { 2729 if (mode.contains[i].endSameAsBegin) { 2730 mode.contains[i].endRe = escapeRe( mode.contains[i].beginRe.exec(lexeme)[0] ); 2731 } 2732 return mode.contains[i]; 2733 } 2734 } 2735 } 2736 2737 function endOfMode(mode, lexeme) { 2738 if (testRe(mode.endRe, lexeme)) { 2739 while (mode.endsParent && mode.parent) { 2740 mode = mode.parent; 2741 } 2742 return mode; 2743 } 2744 if (mode.endsWithParent) { 2745 return endOfMode(mode.parent, lexeme); 2746 } 2747 } 2748 2749 function isIllegal(lexeme, mode) { 2750 return !ignore_illegals && testRe(mode.illegalRe, lexeme); 2751 } 2752 2753 function keywordMatch(mode, match) { 2754 var match_str = language.case_insensitive ? match[0].toLowerCase() : match[0]; 2755 return mode.keywords.hasOwnProperty(match_str) && mode.keywords[match_str]; 2756 } 2757 2758 function buildSpan(classname, insideSpan, leaveOpen, noPrefix) { 2759 var classPrefix = noPrefix ? '' : options.classPrefix, 2760 openSpan = '<span class="' + classPrefix, 2761 closeSpan = leaveOpen ? '' : spanEndTag; 2762 2763 openSpan += classname + '">'; 2764 2765 if (!classname) return insideSpan; 2766 return openSpan + insideSpan + closeSpan; 2767 } 2768 2769 function processKeywords() { 2770 var keyword_match, last_index, match, result; 2771 2772 if (!top.keywords) 2773 return escape(mode_buffer); 2774 2775 result = ''; 2776 last_index = 0; 2777 top.lexemesRe.lastIndex = 0; 2778 match = top.lexemesRe.exec(mode_buffer); 2779 2780 while (match) { 2781 result += escape(mode_buffer.substring(last_index, match.index)); 2782 keyword_match = keywordMatch(top, match); 2783 if (keyword_match) { 2784 relevance += keyword_match[1]; 2785 result += buildSpan(keyword_match[0], escape(match[0])); 2786 } else { 2787 result += escape(match[0]); 2788 } 2789 last_index = top.lexemesRe.lastIndex; 2790 match = top.lexemesRe.exec(mode_buffer); 2791 } 2792 return result + escape(mode_buffer.substr(last_index)); 2793 } 2794 2795 function processSubLanguage() { 2796 var explicit = typeof top.subLanguage === 'string'; 2797 if (explicit && !languages[top.subLanguage]) { 2798 return escape(mode_buffer); 2799 } 2800 2801 var result = explicit ? 2802 highlight(top.subLanguage, mode_buffer, true, continuations[top.subLanguage]) : 2803 highlightAuto(mode_buffer, top.subLanguage.length ? top.subLanguage : undefined); 2804 2805 // Counting embedded language score towards the host language may be disabled 2806 // with zeroing the containing mode relevance. Usecase in point is Markdown that 2807 // allows XML everywhere and makes every XML snippet to have a much larger Markdown 2808 // score. 2809 if (top.relevance > 0) { 2810 relevance += result.relevance; 2811 } 2812 if (explicit) { 2813 continuations[top.subLanguage] = result.top; 2814 } 2815 return buildSpan(result.language, result.value, false, true); 2816 } 2817 2818 function processBuffer() { 2819 result += (top.subLanguage != null ? processSubLanguage() : processKeywords()); 2820 mode_buffer = ''; 2821 } 2822 2823 function startNewMode(mode) { 2824 result += mode.className? buildSpan(mode.className, '', true): ''; 2825 top = Object.create(mode, {parent: {value: top}}); 2826 } 2827 2828 function processLexeme(buffer, lexeme) { 2829 2830 mode_buffer += buffer; 2831 2832 if (lexeme == null) { 2833 processBuffer(); 2834 return 0; 2835 } 2836 2837 var new_mode = subMode(lexeme, top); 2838 if (new_mode) { 2839 if (new_mode.skip) { 2840 mode_buffer += lexeme; 2841 } else { 2842 if (new_mode.excludeBegin) { 2843 mode_buffer += lexeme; 2844 } 2845 processBuffer(); 2846 if (!new_mode.returnBegin && !new_mode.excludeBegin) { 2847 mode_buffer = lexeme; 2848 } 2849 } 2850 startNewMode(new_mode, lexeme); 2851 return new_mode.returnBegin ? 0 : lexeme.length; 2852 } 2853 2854 var end_mode = endOfMode(top, lexeme); 2855 if (end_mode) { 2856 var origin = top; 2857 if (origin.skip) { 2858 mode_buffer += lexeme; 2859 } else { 2860 if (!(origin.returnEnd || origin.excludeEnd)) { 2861 mode_buffer += lexeme; 2862 } 2863 processBuffer(); 2864 if (origin.excludeEnd) { 2865 mode_buffer = lexeme; 2866 } 2867 } 2868 do { 2869 if (top.className) { 2870 result += spanEndTag; 2871 } 2872 if (!top.skip && !top.subLanguage) { 2873 relevance += top.relevance; 2874 } 2875 top = top.parent; 2876 } while (top !== end_mode.parent); 2877 if (end_mode.starts) { 2878 if (end_mode.endSameAsBegin) { 2879 end_mode.starts.endRe = end_mode.endRe; 2880 } 2881 startNewMode(end_mode.starts, ''); 2882 } 2883 return origin.returnEnd ? 0 : lexeme.length; 2884 } 2885 2886 if (isIllegal(lexeme, top)) 2887 throw new Error('Illegal lexeme "' + lexeme + '" for mode "' + (top.className || '<unnamed>') + '"'); 2888 2889 /* 2890 Parser should not reach this point as all types of lexemes should be caught 2891 earlier, but if it does due to some bug make sure it advances at least one 2892 character forward to prevent infinite looping. 2893 */ 2894 mode_buffer += lexeme; 2895 return lexeme.length || 1; 2896 } 2897 2898 var language = getLanguage(name); 2899 if (!language) { 2900 throw new Error('Unknown language: "' + name + '"'); 2901 } 2902 2903 compileLanguage(language); 2904 var top = continuation || language; 2905 var continuations = {}; // keep continuations for sub-languages 2906 var result = '', current; 2907 for(current = top; current !== language; current = current.parent) { 2908 if (current.className) { 2909 result = buildSpan(current.className, '', true) + result; 2910 } 2911 } 2912 var mode_buffer = ''; 2913 var relevance = 0; 2914 try { 2915 var match, count, index = 0; 2916 while (true) { 2917 top.terminators.lastIndex = index; 2918 match = top.terminators.exec(value); 2919 if (!match) 2920 break; 2921 count = processLexeme(value.substring(index, match.index), match[0]); 2922 index = match.index + count; 2923 } 2924 processLexeme(value.substr(index)); 2925 for(current = top; current.parent; current = current.parent) { // close dangling modes 2926 if (current.className) { 2927 result += spanEndTag; 2928 } 2929 } 2930 return { 2931 relevance: relevance, 2932 value: result, 2933 language: name, 2934 top: top 2935 }; 2936 } catch (e) { 2937 if (e.message && e.message.indexOf('Illegal') !== -1) { 2938 return { 2939 relevance: 0, 2940 value: escape(value) 2941 }; 2942 } else { 2943 throw e; 2944 } 2945 } 2946 } 2947 2948 /* 2949 Highlighting with language detection. Accepts a string with the code to 2950 highlight. Returns an object with the following properties: 2951 2952 - language (detected language) 2953 - relevance (int) 2954 - value (an HTML string with highlighting markup) 2955 - second_best (object with the same structure for second-best heuristically 2956 detected language, may be absent) 2957 2958 */ 2959 function highlightAuto(text, languageSubset) { 2960 languageSubset = languageSubset || options.languages || objectKeys(languages); 2961 var result = { 2962 relevance: 0, 2963 value: escape(text) 2964 }; 2965 var second_best = result; 2966 languageSubset.filter(getLanguage).filter(autoDetection).forEach(function(name) { 2967 var current = highlight(name, text, false); 2968 current.language = name; 2969 if (current.relevance > second_best.relevance) { 2970 second_best = current; 2971 } 2972 if (current.relevance > result.relevance) { 2973 second_best = result; 2974 result = current; 2975 } 2976 }); 2977 if (second_best.language) { 2978 result.second_best = second_best; 2979 } 2980 return result; 2981 } 2982 2983 /* 2984 Post-processing of the highlighted markup: 2985 2986 - replace TABs with something more useful 2987 - replace real line-breaks with '<br>' for non-pre containers 2988 2989 */ 2990 function fixMarkup(value) { 2991 return !(options.tabReplace || options.useBR) 2992 ? value 2993 : value.replace(fixMarkupRe, function(match, p1) { 2994 if (options.useBR && match === '\n') { 2995 return '<br>'; 2996 } else if (options.tabReplace) { 2997 return p1.replace(/\t/g, options.tabReplace); 2998 } 2999 return ''; 3000 }); 3001 } 3002 3003 function buildClassName(prevClassName, currentLang, resultLang) { 3004 var language = currentLang ? aliases[currentLang] : resultLang, 3005 result = [prevClassName.trim()]; 3006 3007 if (!prevClassName.match(/\bhljs\b/)) { 3008 result.push('hljs'); 3009 } 3010 3011 if (prevClassName.indexOf(language) === -1) { 3012 result.push(language); 3013 } 3014 3015 return result.join(' ').trim(); 3016 } 3017 3018 /* 3019 Applies highlighting to a DOM node containing code. Accepts a DOM node and 3020 two optional parameters for fixMarkup. 3021 */ 3022 function highlightBlock(block) { 3023 var node, originalStream, result, resultNode, text; 3024 var language = blockLanguage(block); 3025 3026 if (isNotHighlighted(language)) 3027 return; 3028 3029 if (options.useBR) { 3030 node = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'); 3031 node.innerHTML = block.innerHTML.replace(/\n/g, '').replace(/<br[ \/]*>/g, '\n'); 3032 } else { 3033 node = block; 3034 } 3035 text = node.textContent; 3036 result = language ? highlight(language, text, true) : highlightAuto(text); 3037 3038 originalStream = nodeStream(node); 3039 if (originalStream.length) { 3040 resultNode = document.createElementNS('http://www.w3.org/1999/xhtml', 'div'); 3041 resultNode.innerHTML = result.value; 3042 result.value = mergeStreams(originalStream, nodeStream(resultNode), text); 3043 } 3044 result.value = fixMarkup(result.value); 3045 3046 block.innerHTML = result.value; 3047 block.className = buildClassName(block.className, language, result.language); 3048 block.result = { 3049 language: result.language, 3050 re: result.relevance 3051 }; 3052 if (result.second_best) { 3053 block.second_best = { 3054 language: result.second_best.language, 3055 re: result.second_best.relevance 3056 }; 3057 } 3058 } 3059 3060 /* 3061 Updates highlight.js global options with values passed in the form of an object. 3062 */ 3063 function configure(user_options) { 3064 options = inherit(options, user_options); 3065 } 3066 3067 /* 3068 Applies highlighting to all <pre><code>..</code></pre> blocks on a page. 3069 */ 3070 function initHighlighting() { 3071 if (initHighlighting.called) 3072 return; 3073 initHighlighting.called = true; 3074 3075 var blocks = document.querySelectorAll('pre code'); 3076 ArrayProto.forEach.call(blocks, highlightBlock); 3077 } 3078 3079 /* 3080 Attaches highlighting to the page load event. 3081 */ 3082 function initHighlightingOnLoad() { 3083 addEventListener('DOMContentLoaded', initHighlighting, false); 3084 addEventListener('load', initHighlighting, false); 3085 } 3086 3087 function registerLanguage(name, language) { 3088 var lang = languages[name] = language(hljs); 3089 restoreLanguageApi(lang); 3090 if (lang.aliases) { 3091 lang.aliases.forEach(function(alias) {aliases[alias] = name;}); 3092 } 3093 } 3094 3095 function listLanguages() { 3096 return objectKeys(languages); 3097 } 3098 3099 function getLanguage(name) { 3100 name = (name || '').toLowerCase(); 3101 return languages[name] || languages[aliases[name]]; 3102 } 3103 3104 function autoDetection(name) { 3105 var lang = getLanguage(name); 3106 return lang && !lang.disableAutodetect; 3107 } 3108 3109 /* Interface definition */ 3110 3111 hljs.highlight = highlight; 3112 hljs.highlightAuto = highlightAuto; 3113 hljs.fixMarkup = fixMarkup; 3114 hljs.highlightBlock = highlightBlock; 3115 hljs.configure = configure; 3116 hljs.initHighlighting = initHighlighting; 3117 hljs.initHighlightingOnLoad = initHighlightingOnLoad; 3118 hljs.registerLanguage = registerLanguage; 3119 hljs.listLanguages = listLanguages; 3120 hljs.getLanguage = getLanguage; 3121 hljs.autoDetection = autoDetection; 3122 hljs.inherit = inherit; 3123 3124 // Common regexps 3125 hljs.IDENT_RE = '[a-zA-Z]\\w*'; 3126 hljs.UNDERSCORE_IDENT_RE = '[a-zA-Z_]\\w*'; 3127 hljs.NUMBER_RE = '\\b\\d+(\\.\\d+)?'; 3128 hljs.C_NUMBER_RE = '(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)'; // 0x..., 0..., decimal, float 3129 hljs.BINARY_NUMBER_RE = '\\b(0b[01]+)'; // 0b... 3130 hljs.RE_STARTERS_RE = '!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~'; 3131 3132 // Common modes 3133 hljs.BACKSLASH_ESCAPE = { 3134 begin: '\\\\[\\s\\S]', relevance: 0 3135 }; 3136 hljs.APOS_STRING_MODE = { 3137 className: 'string', 3138 begin: '\'', end: '\'', 3139 illegal: '\\n', 3140 contains: [hljs.BACKSLASH_ESCAPE] 3141 }; 3142 hljs.QUOTE_STRING_MODE = { 3143 className: 'string', 3144 begin: '"', end: '"', 3145 illegal: '\\n', 3146 contains: [hljs.BACKSLASH_ESCAPE] 3147 }; 3148 hljs.PHRASAL_WORDS_MODE = { 3149 begin: /\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ 3150 }; 3151 hljs.COMMENT = function (begin, end, inherits) { 3152 var mode = hljs.inherit( 3153 { 3154 className: 'comment', 3155 begin: begin, end: end, 3156 contains: [] 3157 }, 3158 inherits || {} 3159 ); 3160 mode.contains.push(hljs.PHRASAL_WORDS_MODE); 3161 mode.contains.push({ 3162 className: 'doctag', 3163 begin: '(?:TODO|FIXME|NOTE|BUG|XXX):', 3164 relevance: 0 3165 }); 3166 return mode; 3167 }; 3168 hljs.C_LINE_COMMENT_MODE = hljs.COMMENT('//', '$'); 3169 hljs.C_BLOCK_COMMENT_MODE = hljs.COMMENT('/\\*', '\\*/'); 3170 hljs.HASH_COMMENT_MODE = hljs.COMMENT('#', '$'); 3171 hljs.NUMBER_MODE = { 3172 className: 'number', 3173 begin: hljs.NUMBER_RE, 3174 relevance: 0 3175 }; 3176 hljs.C_NUMBER_MODE = { 3177 className: 'number', 3178 begin: hljs.C_NUMBER_RE, 3179 relevance: 0 3180 }; 3181 hljs.BINARY_NUMBER_MODE = { 3182 className: 'number', 3183 begin: hljs.BINARY_NUMBER_RE, 3184 relevance: 0 3185 }; 3186 hljs.CSS_NUMBER_MODE = { 3187 className: 'number', 3188 begin: hljs.NUMBER_RE + '(' + 3189 '%|em|ex|ch|rem' + 3190 '|vw|vh|vmin|vmax' + 3191 '|cm|mm|in|pt|pc|px' + 3192 '|deg|grad|rad|turn' + 3193 '|s|ms' + 3194 '|Hz|kHz' + 3195 '|dpi|dpcm|dppx' + 3196 ')?', 3197 relevance: 0 3198 }; 3199 hljs.REGEXP_MODE = { 3200 className: 'regexp', 3201 begin: /\//, end: /\/[gimuy]*/, 3202 illegal: /\n/, 3203 contains: [ 3204 hljs.BACKSLASH_ESCAPE, 3205 { 3206 begin: /\[/, end: /\]/, 3207 relevance: 0, 3208 contains: [hljs.BACKSLASH_ESCAPE] 3209 } 3210 ] 3211 }; 3212 hljs.TITLE_MODE = { 3213 className: 'title', 3214 begin: hljs.IDENT_RE, 3215 relevance: 0 3216 }; 3217 hljs.UNDERSCORE_TITLE_MODE = { 3218 className: 'title', 3219 begin: hljs.UNDERSCORE_IDENT_RE, 3220 relevance: 0 3221 }; 3222 hljs.METHOD_GUARD = { 3223 // excludes method names from keyword processing 3224 begin: '\\.\\s*' + hljs.UNDERSCORE_IDENT_RE, 3225 relevance: 0 3226 }; 3227 3228 return hljs; 3229 })); 3230 ; 3231 return exports; 3232 }()) 3233 , languages = [{name:"cpp",create:/* 3234 Language: C++ 3235 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 3236 Contributors: Evgeny Stepanischev <imbolk@gmail.com>, Zaven Muradyan <megalivoithos@gmail.com>, Roel Deckers <admin@codingcat.nl>, Sam Wu <samsam2310@gmail.com>, Jordi Petit <jordi.petit@gmail.com>, Pieter Vantorre <pietervantorre@gmail.com>, Google Inc. (David Benjamin) <davidben@google.com> 3237 Category: common, system 3238 */ 3239 3240 function(hljs) { 3241 var CPP_PRIMITIVE_TYPES = { 3242 className: 'keyword', 3243 begin: '\\b[a-z\\d_]*_t\\b' 3244 }; 3245 3246 var STRINGS = { 3247 className: 'string', 3248 variants: [ 3249 { 3250 begin: '(u8?|U|L)?"', end: '"', 3251 illegal: '\\n', 3252 contains: [hljs.BACKSLASH_ESCAPE] 3253 }, 3254 { begin: /(?:u8?|U|L)?R"([^()\\ ]{0,16})\((?:.|\n)*?\)\1"/ }, 3255 { 3256 begin: '\'\\\\?.', end: '\'', 3257 illegal: '.' 3258 } 3259 ] 3260 }; 3261 3262 var NUMBERS = { 3263 className: 'number', 3264 variants: [ 3265 { begin: '\\b(0b[01\']+)' }, 3266 { begin: '(-?)\\b([\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)(u|U|l|L|ul|UL|f|F|b|B)' }, 3267 { begin: '(-?)(\\b0[xX][a-fA-F0-9\']+|(\\b[\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)([eE][-+]?[\\d\']+)?)' } 3268 ], 3269 relevance: 0 3270 }; 3271 3272 var PREPROCESSOR = { 3273 className: 'meta', 3274 begin: /#\s*[a-z]+\b/, end: /$/, 3275 keywords: { 3276 'meta-keyword': 3277 'if else elif endif define undef warning error line ' + 3278 'pragma ifdef ifndef include' 3279 }, 3280 contains: [ 3281 { 3282 begin: /\\\n/, relevance: 0 3283 }, 3284 hljs.inherit(STRINGS, {className: 'meta-string'}), 3285 { 3286 className: 'meta-string', 3287 begin: /<[^\n>]*>/, end: /$/, 3288 illegal: '\\n', 3289 }, 3290 hljs.C_LINE_COMMENT_MODE, 3291 hljs.C_BLOCK_COMMENT_MODE 3292 ] 3293 }; 3294 3295 var FUNCTION_TITLE = hljs.IDENT_RE + '\\s*\\('; 3296 3297 var CPP_KEYWORDS = { 3298 keyword: 'int float while private char catch import module export virtual operator sizeof ' + 3299 'dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace ' + 3300 'unsigned long volatile static protected bool template mutable if public friend ' + 3301 'do goto auto void enum else break extern using asm case typeid ' + 3302 'short reinterpret_cast|10 default double register explicit signed typename try this ' + 3303 'switch continue inline delete alignof constexpr decltype ' + 3304 'noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary ' + 3305 'atomic_bool atomic_char atomic_schar ' + 3306 'atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong ' + 3307 'atomic_ullong new throw return ' + 3308 'and or not', 3309 built_in: 'std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream ' + 3310 'auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set ' + 3311 'unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos ' + 3312 'asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp ' + 3313 'fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper ' + 3314 'isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow ' + 3315 'printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp ' + 3316 'strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan ' + 3317 'vfprintf vprintf vsprintf endl initializer_list unique_ptr', 3318 literal: 'true false nullptr NULL' 3319 }; 3320 3321 var EXPRESSION_CONTAINS = [ 3322 CPP_PRIMITIVE_TYPES, 3323 hljs.C_LINE_COMMENT_MODE, 3324 hljs.C_BLOCK_COMMENT_MODE, 3325 NUMBERS, 3326 STRINGS 3327 ]; 3328 3329 return { 3330 aliases: ['c', 'cc', 'h', 'c++', 'h++', 'hpp', 'hh', 'hxx', 'cxx'], 3331 keywords: CPP_KEYWORDS, 3332 illegal: '</', 3333 contains: EXPRESSION_CONTAINS.concat([ 3334 PREPROCESSOR, 3335 { 3336 begin: '\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<', end: '>', 3337 keywords: CPP_KEYWORDS, 3338 contains: ['self', CPP_PRIMITIVE_TYPES] 3339 }, 3340 { 3341 begin: hljs.IDENT_RE + '::', 3342 keywords: CPP_KEYWORDS 3343 }, 3344 { 3345 // This mode covers expression context where we can't expect a function 3346 // definition and shouldn't highlight anything that looks like one: 3347 // `return some()`, `else if()`, `(x*sum(1, 2))` 3348 variants: [ 3349 {begin: /=/, end: /;/}, 3350 {begin: /\(/, end: /\)/}, 3351 {beginKeywords: 'new throw return else', end: /;/} 3352 ], 3353 keywords: CPP_KEYWORDS, 3354 contains: EXPRESSION_CONTAINS.concat([ 3355 { 3356 begin: /\(/, end: /\)/, 3357 keywords: CPP_KEYWORDS, 3358 contains: EXPRESSION_CONTAINS.concat(['self']), 3359 relevance: 0 3360 } 3361 ]), 3362 relevance: 0 3363 }, 3364 { 3365 className: 'function', 3366 begin: '(' + hljs.IDENT_RE + '[\\*&\\s]+)+' + FUNCTION_TITLE, 3367 returnBegin: true, end: /[{;=]/, 3368 excludeEnd: true, 3369 keywords: CPP_KEYWORDS, 3370 illegal: /[^\w\s\*&]/, 3371 contains: [ 3372 { 3373 begin: FUNCTION_TITLE, returnBegin: true, 3374 contains: [hljs.TITLE_MODE], 3375 relevance: 0 3376 }, 3377 { 3378 className: 'params', 3379 begin: /\(/, end: /\)/, 3380 keywords: CPP_KEYWORDS, 3381 relevance: 0, 3382 contains: [ 3383 hljs.C_LINE_COMMENT_MODE, 3384 hljs.C_BLOCK_COMMENT_MODE, 3385 STRINGS, 3386 NUMBERS, 3387 CPP_PRIMITIVE_TYPES, 3388 // Count matching parentheses. 3389 { 3390 begin: /\(/, end: /\)/, 3391 keywords: CPP_KEYWORDS, 3392 relevance: 0, 3393 contains: [ 3394 'self', 3395 hljs.C_LINE_COMMENT_MODE, 3396 hljs.C_BLOCK_COMMENT_MODE, 3397 STRINGS, 3398 NUMBERS, 3399 CPP_PRIMITIVE_TYPES 3400 ] 3401 } 3402 ] 3403 }, 3404 hljs.C_LINE_COMMENT_MODE, 3405 hljs.C_BLOCK_COMMENT_MODE, 3406 PREPROCESSOR 3407 ] 3408 }, 3409 { 3410 className: 'class', 3411 beginKeywords: 'class struct', end: /[{;:]/, 3412 contains: [ 3413 {begin: /</, end: />/, contains: ['self']}, // skip generic stuff 3414 hljs.TITLE_MODE 3415 ] 3416 } 3417 ]), 3418 exports: { 3419 preprocessor: PREPROCESSOR, 3420 strings: STRINGS, 3421 keywords: CPP_KEYWORDS 3422 } 3423 }; 3424 } 3425 },{name:"1c",create:/* 3426 Language: 1C:Enterprise (v7, v8) 3427 Author: Stanislav Belov <stbelov@gmail.com> 3428 Description: built-in language 1C:Enterprise (v7, v8) 3429 Category: enterprise 3430 */ 3431 3432 function(hljs){ 3433 3434 // общий паттерн для определения идентификаторов 3435 var UNDERSCORE_IDENT_RE = '[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]+'; 3436 3437 // v7 уникальные ключевые слова, отсутствующие в v8 ==> keyword 3438 var v7_keywords = 3439 'далее '; 3440 3441 // v8 ключевые слова ==> keyword 3442 var v8_keywords = 3443 'возврат вызватьисключение выполнить для если и из или иначе иначеесли исключение каждого конецесли ' + 3444 'конецпопытки конеццикла не новый перейти перем по пока попытка прервать продолжить тогда цикл экспорт '; 3445 3446 // keyword : ключевые слова 3447 var KEYWORD = v7_keywords + v8_keywords; 3448 3449 // v7 уникальные директивы, отсутствующие в v8 ==> meta-keyword 3450 var v7_meta_keywords = 3451 'загрузитьизфайла '; 3452 3453 // v8 ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях ==> meta-keyword 3454 var v8_meta_keywords = 3455 'вебклиент вместо внешнеесоединение клиент конецобласти мобильноеприложениеклиент мобильноеприложениесервер ' + 3456 'наклиенте наклиентенасервере наклиентенасерверебезконтекста насервере насерверебезконтекста область перед ' + 3457 'после сервер толстыйклиентобычноеприложение толстыйклиентуправляемоеприложение тонкийклиент '; 3458 3459 // meta-keyword : ключевые слова в инструкциях препроцессора, директивах компиляции, аннотациях 3460 var METAKEYWORD = v7_meta_keywords + v8_meta_keywords; 3461 3462 // v7 системные константы ==> built_in 3463 var v7_system_constants = 3464 'разделительстраниц разделительстрок символтабуляции '; 3465 3466 // v7 уникальные методы глобального контекста, отсутствующие в v8 ==> built_in 3467 var v7_global_context_methods = 3468 'ansitooem oemtoansi ввестивидсубконто ввестиперечисление ввестипериод ввестиплансчетов выбранныйплансчетов ' + 3469 'датагод датамесяц датачисло заголовоксистемы значениевстроку значениеизстроки каталогиб каталогпользователя ' + 3470 'кодсимв конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца ' + 3471 'коннедели лог лог10 максимальноеколичествосубконто названиеинтерфейса названиенабораправ назначитьвид ' + 3472 'назначитьсчет найтиссылки началопериодаби началостандартногоинтервала начгода начквартала начмесяца ' + 3473 'начнедели номерднягода номерднянедели номернеделигода обработкаожидания основнойжурналрасчетов ' + 3474 'основнойплансчетов основнойязык очиститьокносообщений периодстр получитьвремята получитьдатута ' + 3475 'получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта ' + 3476 'префиксавтонумерации пропись пустоезначение разм разобратьпозициюдокумента рассчитатьрегистрына ' + 3477 'рассчитатьрегистрыпо симв создатьобъект статусвозврата стрколичествострок сформироватьпозициюдокумента ' + 3478 'счетпокоду текущеевремя типзначения типзначениястр установитьтана установитьтапо фиксшаблон шаблон '; 3479 3480 // v8 методы глобального контекста ==> built_in 3481 var v8_global_context_methods = 3482 'acos asin atan base64значение base64строка cos exp log log10 pow sin sqrt tan xmlзначение xmlстрока ' + 3483 'xmlтип xmlтипзнч активноеокно безопасныйрежим безопасныйрежимразделенияданных булево ввестидату ввестизначение ' + 3484 'ввестистроку ввестичисло возможностьчтенияxml вопрос восстановитьзначение врег выгрузитьжурналрегистрации ' + 3485 'выполнитьобработкуоповещения выполнитьпроверкуправдоступа вычислить год данныеформывзначение дата день деньгода ' + 3486 'деньнедели добавитьмесяц заблокироватьданныедляредактирования заблокироватьработупользователя завершитьработусистемы ' + 3487 'загрузитьвнешнююкомпоненту закрытьсправку записатьjson записатьxml записатьдатуjson записьжурналарегистрации ' + 3488 'заполнитьзначениясвойств запроситьразрешениепользователя запуститьприложение запуститьсистему зафиксироватьтранзакцию ' + 3489 'значениевданныеформы значениевстрокувнутр значениевфайл значениезаполнено значениеизстрокивнутр значениеизфайла ' + 3490 'изxmlтипа импортмоделиxdto имякомпьютера имяпользователя инициализироватьпредопределенныеданные информацияобошибке ' + 3491 'каталогбиблиотекимобильногоустройства каталогвременныхфайлов каталогдокументов каталогпрограммы кодироватьстроку ' + 3492 'кодлокализацииинформационнойбазы кодсимвола командасистемы конецгода конецдня конецквартала конецмесяца конецминуты ' + 3493 'конецнедели конецчаса конфигурациябазыданныхизмененадинамически конфигурацияизменена копироватьданныеформы ' + 3494 'копироватьфайл краткоепредставлениеошибки лев макс местноевремя месяц мин минута монопольныйрежим найти ' + 3495 'найтинедопустимыесимволыxml найтиокнопонавигационнойссылке найтипомеченныенаудаление найтипоссылкам найтифайлы ' + 3496 'началогода началодня началоквартала началомесяца началоминуты началонедели началочаса начатьзапросразрешенияпользователя ' + 3497 'начатьзапускприложения начатькопированиефайла начатьперемещениефайла начатьподключениевнешнейкомпоненты ' + 3498 'начатьподключениерасширенияработыскриптографией начатьподключениерасширенияработысфайлами начатьпоискфайлов ' + 3499 'начатьполучениекаталогавременныхфайлов начатьполучениекаталогадокументов начатьполучениерабочегокаталогаданныхпользователя ' + 3500 'начатьполучениефайлов начатьпомещениефайла начатьпомещениефайлов начатьсозданиедвоичныхданныхизфайла начатьсозданиекаталога ' + 3501 'начатьтранзакцию начатьудалениефайлов начатьустановкувнешнейкомпоненты начатьустановкурасширенияработыскриптографией ' + 3502 'начатьустановкурасширенияработысфайлами неделягода необходимостьзавершениясоединения номерсеансаинформационнойбазы ' + 3503 'номерсоединенияинформационнойбазы нрег нстр обновитьинтерфейс обновитьнумерациюобъектов обновитьповторноиспользуемыезначения ' + 3504 'обработкапрерыванияпользователя объединитьфайлы окр описаниеошибки оповестить оповеститьобизменении ' + 3505 'отключитьобработчикзапросанастроекклиенталицензирования отключитьобработчикожидания отключитьобработчикоповещения ' + 3506 'открытьзначение открытьиндекссправки открытьсодержаниесправки открытьсправку открытьформу открытьформумодально ' + 3507 'отменитьтранзакцию очиститьжурналрегистрации очиститьнастройкипользователя очиститьсообщения параметрыдоступа ' + 3508 'перейтипонавигационнойссылке переместитьфайл подключитьвнешнююкомпоненту ' + 3509 'подключитьобработчикзапросанастроекклиенталицензирования подключитьобработчикожидания подключитьобработчикоповещения ' + 3510 'подключитьрасширениеработыскриптографией подключитьрасширениеработысфайлами подробноепредставлениеошибки ' + 3511 'показатьвводдаты показатьвводзначения показатьвводстроки показатьвводчисла показатьвопрос показатьзначение ' + 3512 'показатьинформациюобошибке показатьнакарте показатьоповещениепользователя показатьпредупреждение полноеимяпользователя ' + 3513 'получитьcomобъект получитьxmlтип получитьадреспоместоположению получитьблокировкусеансов получитьвремязавершенияспящегосеанса ' + 3514 'получитьвремязасыпанияпассивногосеанса получитьвремяожиданияблокировкиданных получитьданныевыбора ' + 3515 'получитьдополнительныйпараметрклиенталицензирования получитьдопустимыекодылокализации получитьдопустимыечасовыепояса ' + 3516 'получитьзаголовокклиентскогоприложения получитьзаголовоксистемы получитьзначенияотборажурналарегистрации ' + 3517 'получитьидентификаторконфигурации получитьизвременногохранилища получитьимявременногофайла ' + 3518 'получитьимяклиенталицензирования получитьинформациюэкрановклиента получитьиспользованиежурналарегистрации ' + 3519 'получитьиспользованиесобытияжурналарегистрации получитькраткийзаголовокприложения получитьмакетоформления ' + 3520 'получитьмаскувсефайлы получитьмаскувсефайлыклиента получитьмаскувсефайлысервера получитьместоположениепоадресу ' + 3521 'получитьминимальнуюдлинупаролейпользователей получитьнавигационнуюссылку получитьнавигационнуюссылкуинформационнойбазы ' + 3522 'получитьобновлениеконфигурациибазыданных получитьобновлениепредопределенныхданныхинформационнойбазы получитьобщиймакет ' + 3523 'получитьобщуюформу получитьокна получитьоперативнуюотметкувремени получитьотключениебезопасногорежима ' + 3524 'получитьпараметрыфункциональныхопцийинтерфейса получитьполноеимяпредопределенногозначения ' + 3525 'получитьпредставлениянавигационныхссылок получитьпроверкусложностипаролейпользователей получитьразделительпути ' + 3526 'получитьразделительпутиклиента получитьразделительпутисервера получитьсеансыинформационнойбазы ' + 3527 'получитьскоростьклиентскогосоединения получитьсоединенияинформационнойбазы получитьсообщенияпользователю ' + 3528 'получитьсоответствиеобъектаиформы получитьсоставстандартногоинтерфейсаodata получитьструктурухранениябазыданных ' + 3529 'получитьтекущийсеансинформационнойбазы получитьфайл получитьфайлы получитьформу получитьфункциональнуюопцию ' + 3530 'получитьфункциональнуюопциюинтерфейса получитьчасовойпоясинформационнойбазы пользователиос поместитьвовременноехранилище ' + 3531 'поместитьфайл поместитьфайлы прав праводоступа предопределенноезначение представлениекодалокализации представлениепериода ' + 3532 'представлениеправа представлениеприложения представлениесобытияжурналарегистрации представлениечасовогопояса предупреждение ' + 3533 'прекратитьработусистемы привилегированныйрежим продолжитьвызов прочитатьjson прочитатьxml прочитатьдатуjson пустаястрока ' + 3534 'рабочийкаталогданныхпользователя разблокироватьданныедляредактирования разделитьфайл разорватьсоединениесвнешнимисточникомданных ' + 3535 'раскодироватьстроку рольдоступна секунда сигнал символ скопироватьжурналрегистрации смещениелетнеговремени ' + 3536 'смещениестандартноговремени соединитьбуферыдвоичныхданных создатькаталог создатьфабрикуxdto сокрл сокрлп сокрп сообщить ' + 3537 'состояние сохранитьзначение сохранитьнастройкипользователя сред стрдлина стрзаканчиваетсяна стрзаменить стрнайти стрначинаетсяс ' + 3538 'строка строкасоединенияинформационнойбазы стрполучитьстроку стрразделить стрсоединить стрсравнить стрчисловхождений '+ 3539 'стрчислострок стршаблон текущаядата текущаядатасеанса текущаяуниверсальнаядата текущаяуниверсальнаядатавмиллисекундах ' + 3540 'текущийвариантинтерфейсаклиентскогоприложения текущийвариантосновногошрифтаклиентскогоприложения текущийкодлокализации ' + 3541 'текущийрежимзапуска текущийязык текущийязыксистемы тип типзнч транзакцияактивна трег удалитьданныеинформационнойбазы ' + 3542 'удалитьизвременногохранилища удалитьобъекты удалитьфайлы универсальноевремя установитьбезопасныйрежим ' + 3543 'установитьбезопасныйрежимразделенияданных установитьблокировкусеансов установитьвнешнююкомпоненту ' + 3544 'установитьвремязавершенияспящегосеанса установитьвремязасыпанияпассивногосеанса установитьвремяожиданияблокировкиданных ' + 3545 'установитьзаголовокклиентскогоприложения установитьзаголовоксистемы установитьиспользованиежурналарегистрации ' + 3546 'установитьиспользованиесобытияжурналарегистрации установитькраткийзаголовокприложения ' + 3547 'установитьминимальнуюдлинупаролейпользователей установитьмонопольныйрежим установитьнастройкиклиенталицензирования ' + 3548 'установитьобновлениепредопределенныхданныхинформационнойбазы установитьотключениебезопасногорежима ' + 3549 'установитьпараметрыфункциональныхопцийинтерфейса установитьпривилегированныйрежим ' + 3550 'установитьпроверкусложностипаролейпользователей установитьрасширениеработыскриптографией ' + 3551 'установитьрасширениеработысфайлами установитьсоединениесвнешнимисточникомданных установитьсоответствиеобъектаиформы ' + 3552 'установитьсоставстандартногоинтерфейсаodata установитьчасовойпоясинформационнойбазы установитьчасовойпояссеанса ' + 3553 'формат цел час часовойпояс часовойпояссеанса число числопрописью этоадресвременногохранилища '; 3554 3555 // v8 свойства глобального контекста ==> built_in 3556 var v8_global_context_property = 3557 'wsссылки библиотекакартинок библиотекамакетовоформлениякомпоновкиданных библиотекастилей бизнеспроцессы ' + 3558 'внешниеисточникиданных внешниеобработки внешниеотчеты встроенныепокупки главныйинтерфейс главныйстиль ' + 3559 'документы доставляемыеуведомления журналыдокументов задачи информацияобинтернетсоединении использованиерабочейдаты ' + 3560 'историяработыпользователя константы критерииотбора метаданные обработки отображениерекламы отправкадоставляемыхуведомлений ' + 3561 'отчеты панельзадачос параметрзапуска параметрысеанса перечисления планывидоврасчета планывидовхарактеристик ' + 3562 'планыобмена планысчетов полнотекстовыйпоиск пользователиинформационнойбазы последовательности проверкавстроенныхпокупок ' + 3563 'рабочаядата расширенияконфигурации регистрыбухгалтерии регистрынакопления регистрырасчета регистрысведений ' + 3564 'регламентныезадания сериализаторxdto справочники средствагеопозиционирования средствакриптографии средствамультимедиа ' + 3565 'средстваотображениярекламы средствапочты средствателефонии фабрикаxdto файловыепотоки фоновыезадания хранилищанастроек ' + 3566 'хранилищевариантовотчетов хранилищенастроекданныхформ хранилищеобщихнастроек хранилищепользовательскихнастроекдинамическихсписков ' + 3567 'хранилищепользовательскихнастроекотчетов хранилищесистемныхнастроек '; 3568 3569 // built_in : встроенные или библиотечные объекты (константы, классы, функции) 3570 var BUILTIN = 3571 v7_system_constants + 3572 v7_global_context_methods + v8_global_context_methods + 3573 v8_global_context_property; 3574 3575 // v8 системные наборы значений ==> class 3576 var v8_system_sets_of_values = 3577 'webцвета windowsцвета windowsшрифты библиотекакартинок рамкистиля символы цветастиля шрифтыстиля '; 3578 3579 // v8 системные перечисления - интерфейсные ==> class 3580 var v8_system_enums_interface = 3581 'автоматическоесохранениеданныхформывнастройках автонумерациявформе автораздвижениесерий ' + 3582 'анимациядиаграммы вариантвыравниванияэлементовизаголовков вариантуправлениявысотойтаблицы ' + 3583 'вертикальнаяпрокруткаформы вертикальноеположение вертикальноеположениеэлемента видгруппыформы ' + 3584 'виддекорацииформы виддополненияэлементаформы видизмененияданных видкнопкиформы видпереключателя ' + 3585 'видподписейкдиаграмме видполяформы видфлажка влияниеразмеранапузырекдиаграммы горизонтальноеположение ' + 3586 'горизонтальноеположениеэлемента группировкаколонок группировкаподчиненныхэлементовформы ' + 3587 'группыиэлементы действиеперетаскивания дополнительныйрежимотображения допустимыедействияперетаскивания ' + 3588 'интервалмеждуэлементамиформы использованиевывода использованиеполосыпрокрутки ' + 3589 'используемоезначениеточкибиржевойдиаграммы историявыборапривводе источникзначенийоситочекдиаграммы ' + 3590 'источникзначенияразмерапузырькадиаграммы категориягруппыкоманд максимумсерий начальноеотображениедерева ' + 3591 'начальноеотображениесписка обновлениетекстаредактирования ориентациядендрограммы ориентациядиаграммы ' + 3592 'ориентацияметокдиаграммы ориентацияметоксводнойдиаграммы ориентацияэлементаформы отображениевдиаграмме ' + 3593 'отображениевлегендедиаграммы отображениегруппыкнопок отображениезаголовкашкалыдиаграммы ' + 3594 'отображениезначенийсводнойдиаграммы отображениезначенияизмерительнойдиаграммы ' + 3595 'отображениеинтерваладиаграммыганта отображениекнопки отображениекнопкивыбора отображениеобсужденийформы ' + 3596 'отображениеобычнойгруппы отображениеотрицательныхзначенийпузырьковойдиаграммы отображениепанелипоиска ' + 3597 'отображениеподсказки отображениепредупрежденияприредактировании отображениеразметкиполосырегулирования ' + 3598 'отображениестраницформы отображениетаблицы отображениетекстазначениядиаграммыганта ' + 3599 'отображениеуправленияобычнойгруппы отображениефигурыкнопки палитрацветовдиаграммы поведениеобычнойгруппы ' + 3600 'поддержкамасштабадендрограммы поддержкамасштабадиаграммыганта поддержкамасштабасводнойдиаграммы ' + 3601 'поисквтаблицепривводе положениезаголовкаэлементаформы положениекартинкикнопкиформы ' + 3602 'положениекартинкиэлементаграфическойсхемы положениекоманднойпанелиформы положениекоманднойпанелиэлементаформы ' + 3603 'положениеопорнойточкиотрисовки положениеподписейкдиаграмме положениеподписейшкалызначенийизмерительнойдиаграммы ' + 3604 'положениесостоянияпросмотра положениестрокипоиска положениетекстасоединительнойлинии положениеуправленияпоиском ' + 3605 'положениешкалывремени порядокотображенияточекгоризонтальнойгистограммы порядоксерийвлегендедиаграммы ' + 3606 'размеркартинки расположениезаголовкашкалыдиаграммы растягиваниеповертикалидиаграммыганта ' + 3607 'режимавтоотображениясостояния режимвводастроктаблицы режимвыборанезаполненного режимвыделениядаты ' + 3608 'режимвыделениястрокитаблицы режимвыделениятаблицы режимизмененияразмера режимизменениясвязанногозначения ' + 3609 'режимиспользованиядиалогапечати режимиспользованияпараметракоманды режиммасштабированияпросмотра ' + 3610 'режимосновногоокнаклиентскогоприложения режимоткрытияокнаформы режимотображениявыделения ' + 3611 'режимотображениягеографическойсхемы режимотображениязначенийсерии режимотрисовкисеткиграфическойсхемы ' + 3612 'режимполупрозрачностидиаграммы режимпробеловдиаграммы режимразмещениянастранице режимредактированияколонки ' + 3613 'режимсглаживаниядиаграммы режимсглаживанияиндикатора режимсписказадач сквозноевыравнивание ' + 3614 'сохранениеданныхформывнастройках способзаполнениятекстазаголовкашкалыдиаграммы ' + 3615 'способопределенияограничивающегозначениядиаграммы стандартнаягруппакоманд стандартноеоформление ' + 3616 'статусоповещенияпользователя стильстрелки типаппроксимациилиниитрендадиаграммы типдиаграммы ' + 3617 'типединицышкалывремени типимпортасерийслоягеографическойсхемы типлиниигеографическойсхемы типлиниидиаграммы ' + 3618 'типмаркерагеографическойсхемы типмаркерадиаграммы типобластиоформления ' + 3619 'типорганизацииисточникаданныхгеографическойсхемы типотображениясериислоягеографическойсхемы ' + 3620 'типотображенияточечногообъектагеографическойсхемы типотображенияшкалыэлементалегендыгеографическойсхемы ' + 3621 'типпоискаобъектовгеографическойсхемы типпроекциигеографическойсхемы типразмещенияизмерений ' + 3622 'типразмещенияреквизитовизмерений типрамкиэлементауправления типсводнойдиаграммы ' + 3623 'типсвязидиаграммыганта типсоединениязначенийпосериямдиаграммы типсоединенияточекдиаграммы ' + 3624 'типсоединительнойлинии типстороныэлементаграфическойсхемы типформыотчета типшкалырадарнойдиаграммы ' + 3625 'факторлиниитрендадиаграммы фигуракнопки фигурыграфическойсхемы фиксациявтаблице форматдняшкалывремени ' + 3626 'форматкартинки ширинаподчиненныхэлементовформы '; 3627 3628 // v8 системные перечисления - свойства прикладных объектов ==> class 3629 var v8_system_enums_objects_properties = 3630 'виддвижениябухгалтерии виддвижениянакопления видпериодарегистрарасчета видсчета видточкимаршрутабизнеспроцесса ' + 3631 'использованиеагрегатарегистранакопления использованиегруппиэлементов использованиережимапроведения ' + 3632 'использованиесреза периодичностьагрегатарегистранакопления режимавтовремя режимзаписидокумента режимпроведениядокумента '; 3633 3634 // v8 системные перечисления - планы обмена ==> class 3635 var v8_system_enums_exchange_plans = 3636 'авторегистрацияизменений допустимыйномерсообщения отправкаэлементаданных получениеэлементаданных '; 3637 3638 // v8 системные перечисления - табличный документ ==> class 3639 var v8_system_enums_tabular_document = 3640 'использованиерасшифровкитабличногодокумента ориентациястраницы положениеитоговколоноксводнойтаблицы ' + 3641 'положениеитоговстроксводнойтаблицы положениетекстаотносительнокартинки расположениезаголовкагруппировкитабличногодокумента ' + 3642 'способчтениязначенийтабличногодокумента типдвустороннейпечати типзаполненияобластитабличногодокумента ' + 3643 'типкурсоровтабличногодокумента типлиниирисункатабличногодокумента типлинииячейкитабличногодокумента ' + 3644 'типнаправленияпереходатабличногодокумента типотображениявыделениятабличногодокумента типотображениялинийсводнойтаблицы ' + 3645 'типразмещениятекстатабличногодокумента типрисункатабличногодокумента типсмещениятабличногодокумента ' + 3646 'типузоратабличногодокумента типфайлатабличногодокумента точностьпечати чередованиерасположениястраниц '; 3647 3648 // v8 системные перечисления - планировщик ==> class 3649 var v8_system_enums_sheduler = 3650 'отображениевремениэлементовпланировщика '; 3651 3652 // v8 системные перечисления - форматированный документ ==> class 3653 var v8_system_enums_formatted_document = 3654 'типфайлаформатированногодокумента '; 3655 3656 // v8 системные перечисления - запрос ==> class 3657 var v8_system_enums_query = 3658 'обходрезультатазапроса типзаписизапроса '; 3659 3660 // v8 системные перечисления - построитель отчета ==> class 3661 var v8_system_enums_report_builder = 3662 'видзаполнениярасшифровкипостроителяотчета типдобавленияпредставлений типизмеренияпостроителяотчета типразмещенияитогов '; 3663 3664 // v8 системные перечисления - работа с файлами ==> class 3665 var v8_system_enums_files = 3666 'доступкфайлу режимдиалогавыборафайла режимоткрытияфайла '; 3667 3668 // v8 системные перечисления - построитель запроса ==> class 3669 var v8_system_enums_query_builder = 3670 'типизмеренияпостроителязапроса '; 3671 3672 // v8 системные перечисления - анализ данных ==> class 3673 var v8_system_enums_data_analysis = 3674 'видданныханализа методкластеризации типединицыинтервалавременианализаданных типзаполнениятаблицырезультатаанализаданных ' + 3675 'типиспользованиячисловыхзначенийанализаданных типисточникаданныхпоискаассоциаций типколонкианализаданныхдереворешений ' + 3676 'типколонкианализаданныхкластеризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций ' + 3677 'типколонкианализаданныхпоискпоследовательностей типколонкимоделипрогноза типмерырасстоянияанализаданных ' + 3678 'типотсеченияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных ' + 3679 'типупорядочиванияшаблоновпоследовательностейанализаданных типупрощениядереварешений '; 3680 3681 // v8 системные перечисления - xml, json, xs, dom, xdto, web-сервисы ==> class 3682 var v8_system_enums_xml_json_xs_dom_xdto_ws = 3683 'wsнаправлениепараметра вариантxpathxs вариантзаписидатыjson вариантпростоготипаxs видгруппымоделиxs видфасетаxdto ' + 3684 'действиепостроителяdom завершенностьпростоготипаxs завершенностьсоставноготипаxs завершенностьсхемыxs запрещенныеподстановкиxs ' + 3685 'исключениягруппподстановкиxs категорияиспользованияатрибутаxs категорияограниченияидентичностиxs категорияограниченияпространствименxs ' + 3686 'методнаследованияxs модельсодержимогоxs назначениетипаxml недопустимыеподстановкиxs обработкапробельныхсимволовxs обработкасодержимогоxs ' + 3687 'ограничениезначенияxs параметрыотбораузловdom переносстрокjson позициявдокументеdom пробельныесимволыxml типатрибутаxml типзначенияjson ' + 3688 'типканоническогоxml типкомпонентыxs типпроверкиxml типрезультатаdomxpath типузлаdom типузлаxml формаxml формапредставленияxs ' + 3689 'форматдатыjson экранированиесимволовjson '; 3690 3691 // v8 системные перечисления - система компоновки данных ==> class 3692 var v8_system_enums_data_composition_system = 3693 'видсравнениякомпоновкиданных действиеобработкирасшифровкикомпоновкиданных направлениесортировкикомпоновкиданных ' + 3694 'расположениевложенныхэлементоврезультатакомпоновкиданных расположениеитоговкомпоновкиданных расположениегруппировкикомпоновкиданных ' + 3695 'расположениеполейгруппировкикомпоновкиданных расположениеполякомпоновкиданных расположениереквизитовкомпоновкиданных ' + 3696 'расположениересурсовкомпоновкиданных типбухгалтерскогоостаткакомпоновкиданных типвыводатекстакомпоновкиданных ' + 3697 'типгруппировкикомпоновкиданных типгруппыэлементовотборакомпоновкиданных типдополненияпериодакомпоновкиданных ' + 3698 'типзаголовкаполейкомпоновкиданных типмакетагруппировкикомпоновкиданных типмакетаобластикомпоновкиданных типостаткакомпоновкиданных ' + 3699 'типпериодакомпоновкиданных типразмещениятекстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных типэлементарезультатакомпоновкиданных ' + 3700 'расположениелегендыдиаграммыкомпоновкиданных типпримененияотборакомпоновкиданных режимотображенияэлементанастройкикомпоновкиданных ' + 3701 'режимотображениянастроеккомпоновкиданных состояниеэлементанастройкикомпоновкиданных способвосстановлениянастроеккомпоновкиданных ' + 3702 'режимкомпоновкирезультата использованиепараметракомпоновкиданных автопозицияресурсовкомпоновкиданных '+ 3703 'вариантиспользованиягруппировкикомпоновкиданных расположениересурсоввдиаграммекомпоновкиданных фиксациякомпоновкиданных ' + 3704 'использованиеусловногооформлениякомпоновкиданных '; 3705 3706 // v8 системные перечисления - почта ==> class 3707 var v8_system_enums_email = 3708 'важностьинтернетпочтовогосообщения обработкатекстаинтернетпочтовогосообщения способкодированияинтернетпочтовоговложения ' + 3709 'способкодированиянеasciiсимволовинтернетпочтовогосообщения типтекстапочтовогосообщения протоколинтернетпочты ' + 3710 'статусразборапочтовогосообщения '; 3711 3712 // v8 системные перечисления - журнал регистрации ==> class 3713 var v8_system_enums_logbook = 3714 'режимтранзакциизаписижурналарегистрации статустранзакциизаписижурналарегистрации уровеньжурналарегистрации '; 3715 3716 // v8 системные перечисления - криптография ==> class 3717 var v8_system_enums_cryptography = 3718 'расположениехранилищасертификатовкриптографии режимвключениясертификатовкриптографии режимпроверкисертификатакриптографии ' + 3719 'типхранилищасертификатовкриптографии '; 3720 3721 // v8 системные перечисления - ZIP ==> class 3722 var v8_system_enums_zip = 3723 'кодировкаименфайловвzipфайле методсжатияzip методшифрованияzip режимвосстановленияпутейфайловzip режимобработкиподкаталоговzip ' + 3724 'режимсохраненияпутейzip уровеньсжатияzip '; 3725 3726 // v8 системные перечисления - 3727 // Блокировка данных, Фоновые задания, Автоматизированное тестирование, 3728 // Доставляемые уведомления, Встроенные покупки, Интернет, Работа с двоичными данными ==> class 3729 var v8_system_enums_other = 3730 'звуковоеоповещение направлениепереходакстроке позициявпотоке порядокбайтов режимблокировкиданных режимуправленияблокировкойданных ' + 3731 'сервисвстроенныхпокупок состояниефоновогозадания типподписчикадоставляемыхуведомлений уровеньиспользованиязащищенногосоединенияftp '; 3732 3733 // v8 системные перечисления - схема запроса ==> class 3734 var v8_system_enums_request_schema = 3735 'направлениепорядкасхемызапроса типдополненияпериодамисхемызапроса типконтрольнойточкисхемызапроса типобъединениясхемызапроса ' + 3736 'типпараметрадоступнойтаблицысхемызапроса типсоединениясхемызапроса '; 3737 3738 // v8 системные перечисления - свойства объектов метаданных ==> class 3739 var v8_system_enums_properties_of_metadata_objects = 3740 'httpметод автоиспользованиеобщегореквизита автопрефиксномеразадачи вариантвстроенногоязыка видиерархии видрегистранакопления ' + 3741 'видтаблицывнешнегоисточникаданных записьдвиженийприпроведении заполнениепоследовательностей индексирование ' + 3742 'использованиебазыпланавидоврасчета использованиебыстроговыбора использованиеобщегореквизита использованиеподчинения ' + 3743 'использованиеполнотекстовогопоиска использованиеразделяемыхданныхобщегореквизита использованиереквизита ' + 3744 'назначениеиспользованияприложения назначениерасширенияконфигурации направлениепередачи обновлениепредопределенныхданных ' + 3745 'оперативноепроведение основноепредставлениевидарасчета основноепредставлениевидахарактеристики основноепредставлениезадачи ' + 3746 'основноепредставлениепланаобмена основноепредставлениесправочника основноепредставлениесчета перемещениеграницыприпроведении ' + 3747 'периодичностьномерабизнеспроцесса периодичностьномерадокумента периодичностьрегистрарасчета периодичностьрегистрасведений ' + 3748 'повторноеиспользованиевозвращаемыхзначений полнотекстовыйпоискпривводепостроке принадлежностьобъекта проведение ' + 3749 'разделениеаутентификацииобщегореквизита разделениеданныхобщегореквизита разделениерасширенийконфигурацииобщегореквизита '+ 3750 'режимавтонумерацииобъектов режимзаписирегистра режимиспользованиямодальности ' + 3751 'режимиспользованиясинхронныхвызововрасширенийплатформыивнешнихкомпонент режимповторногоиспользованиясеансов ' + 3752 'режимполученияданныхвыборапривводепостроке режимсовместимости режимсовместимостиинтерфейса ' + 3753 'режимуправленияблокировкойданныхпоумолчанию сериикодовпланавидовхарактеристик сериикодовпланасчетов ' + 3754 'сериикодовсправочника созданиепривводе способвыбора способпоискастрокипривводепостроке способредактирования ' + 3755 'типданныхтаблицывнешнегоисточникаданных типкодапланавидоврасчета типкодасправочника типмакета типномерабизнеспроцесса ' + 3756 'типномерадокумента типномеразадачи типформы удалениедвижений '; 3757 3758 // v8 системные перечисления - разные ==> class 3759 var v8_system_enums_differents = 3760 'важностьпроблемыприменениярасширенияконфигурации вариантинтерфейсаклиентскогоприложения вариантмасштабаформклиентскогоприложения ' + 3761 'вариантосновногошрифтаклиентскогоприложения вариантстандартногопериода вариантстандартнойдатыначала видграницы видкартинки ' + 3762 'видотображенияполнотекстовогопоиска видрамки видсравнения видцвета видчисловогозначения видшрифта допустимаядлина допустимыйзнак ' + 3763 'использованиеbyteordermark использованиеметаданныхполнотекстовогопоиска источникрасширенийконфигурации клавиша кодвозвратадиалога ' + 3764 'кодировкаxbase кодировкатекста направлениепоиска направлениесортировки обновлениепредопределенныхданных обновлениеприизмененииданных ' + 3765 'отображениепанелиразделов проверказаполнения режимдиалогавопрос режимзапускаклиентскогоприложения режимокругления режимоткрытияформприложения ' + 3766 'режимполнотекстовогопоиска скоростьклиентскогосоединения состояниевнешнегоисточникаданных состояниеобновленияконфигурациибазыданных ' + 3767 'способвыборасертификатаwindows способкодированиястроки статуссообщения типвнешнейкомпоненты типплатформы типповеденияклавишиenter ' + 3768 'типэлементаинформацииовыполненииобновленияконфигурациибазыданных уровеньизоляциитранзакций хешфункция частидаты'; 3769 3770 // class: встроенные наборы значений, системные перечисления (содержат дочерние значения, обращения к которым через разыменование) 3771 var CLASS = 3772 v8_system_sets_of_values + 3773 v8_system_enums_interface + 3774 v8_system_enums_objects_properties + 3775 v8_system_enums_exchange_plans + 3776 v8_system_enums_tabular_document + 3777 v8_system_enums_sheduler + 3778 v8_system_enums_formatted_document + 3779 v8_system_enums_query + 3780 v8_system_enums_report_builder + 3781 v8_system_enums_files + 3782 v8_system_enums_query_builder + 3783 v8_system_enums_data_analysis + 3784 v8_system_enums_xml_json_xs_dom_xdto_ws + 3785 v8_system_enums_data_composition_system + 3786 v8_system_enums_email + 3787 v8_system_enums_logbook + 3788 v8_system_enums_cryptography + 3789 v8_system_enums_zip + 3790 v8_system_enums_other + 3791 v8_system_enums_request_schema + 3792 v8_system_enums_properties_of_metadata_objects + 3793 v8_system_enums_differents; 3794 3795 // v8 общие объекты (у объектов есть конструктор, экземпляры создаются методом НОВЫЙ) ==> type 3796 var v8_shared_object = 3797 'comобъект ftpсоединение httpзапрос httpсервисответ httpсоединение wsопределения wsпрокси xbase анализданных аннотацияxs ' + 3798 'блокировкаданных буфердвоичныхданных включениеxs выражениекомпоновкиданных генераторслучайныхчисел географическаясхема ' + 3799 'географическиекоординаты графическаясхема группамоделиxs данныерасшифровкикомпоновкиданных двоичныеданные дендрограмма ' + 3800 'диаграмма диаграммаганта диалогвыборафайла диалогвыборацвета диалогвыборашрифта диалограсписаниярегламентногозадания ' + 3801 'диалогредактированиястандартногопериода диапазон документdom документhtml документацияxs доставляемоеуведомление ' + 3802 'записьdom записьfastinfoset записьhtml записьjson записьxml записьzipфайла записьданных записьтекста записьузловdom ' + 3803 'запрос защищенноесоединениеopenssl значенияполейрасшифровкикомпоновкиданных извлечениетекста импортxs интернетпочта ' + 3804 'интернетпочтовоесообщение интернетпочтовыйпрофиль интернетпрокси интернетсоединение информациядляприложенияxs ' + 3805 'использованиеатрибутаxs использованиесобытияжурналарегистрации источникдоступныхнастроеккомпоновкиданных ' + 3806 'итераторузловdom картинка квалификаторыдаты квалификаторыдвоичныхданных квалификаторыстроки квалификаторычисла ' + 3807 'компоновщикмакетакомпоновкиданных компоновщикнастроеккомпоновкиданных конструктормакетаоформлениякомпоновкиданных ' + 3808 'конструкторнастроеккомпоновкиданных конструкторформатнойстроки линия макеткомпоновкиданных макетобластикомпоновкиданных ' + 3809 'макетоформлениякомпоновкиданных маскаxs менеджеркриптографии наборсхемxml настройкикомпоновкиданных настройкисериализацииjson ' + 3810 'обработкакартинок обработкарасшифровкикомпоновкиданных обходдереваdom объявлениеатрибутаxs объявлениенотацииxs ' + 3811 'объявлениеэлементаxs описаниеиспользованиясобытиядоступжурналарегистрации ' + 3812 'описаниеиспользованиясобытияотказвдоступежурналарегистрации описаниеобработкирасшифровкикомпоновкиданных ' + 3813 'описаниепередаваемогофайла описаниетипов определениегруппыатрибутовxs определениегруппымоделиxs ' + 3814 'определениеограниченияидентичностиxs определениепростоготипаxs определениесоставноготипаxs определениетипадокументаdom ' + 3815 'определенияxpathxs отборкомпоновкиданных пакетотображаемыхдокументов параметрвыбора параметркомпоновкиданных ' + 3816 'параметрызаписиjson параметрызаписиxml параметрычтенияxml переопределениеxs планировщик полеанализаданных ' + 3817 'полекомпоновкиданных построительdom построительзапроса построительотчета построительотчетаанализаданных ' + 3818 'построительсхемxml поток потоквпамяти почта почтовоесообщение преобразованиеxsl преобразованиекканоническомуxml ' + 3819 'процессорвыводарезультатакомпоновкиданныхвколлекциюзначений процессорвыводарезультатакомпоновкиданныхвтабличныйдокумент ' + 3820 'процессоркомпоновкиданных разыменовательпространствименdom рамка расписаниерегламентногозадания расширенноеимяxml ' + 3821 'результатчтенияданных своднаядиаграмма связьпараметравыбора связьпотипу связьпотипукомпоновкиданных сериализаторxdto ' + 3822 'сертификатклиентаwindows сертификатклиентафайл сертификаткриптографии сертификатыудостоверяющихцентровwindows ' + 3823 'сертификатыудостоверяющихцентровфайл сжатиеданных системнаяинформация сообщениепользователю сочетаниеклавиш ' + 3824 'сравнениезначений стандартнаядатаначала стандартныйпериод схемаxml схемакомпоновкиданных табличныйдокумент ' + 3825 'текстовыйдокумент тестируемоеприложение типданныхxml уникальныйидентификатор фабрикаxdto файл файловыйпоток ' + 3826 'фасетдлиныxs фасетколичестваразрядовдробнойчастиxs фасетмаксимальноговключающегозначенияxs ' + 3827 'фасетмаксимальногоисключающегозначенияxs фасетмаксимальнойдлиныxs фасетминимальноговключающегозначенияxs ' + 3828 'фасетминимальногоисключающегозначенияxs фасетминимальнойдлиныxs фасетобразцаxs фасетобщегоколичестваразрядовxs ' + 3829 'фасетперечисленияxs фасетпробельныхсимволовxs фильтрузловdom форматированнаястрока форматированныйдокумент ' + 3830 'фрагментxs хешированиеданных хранилищезначения цвет чтениеfastinfoset чтениеhtml чтениеjson чтениеxml чтениеzipфайла ' + 3831 'чтениеданных чтениетекста чтениеузловdom шрифт элементрезультатакомпоновкиданных '; 3832 3833 // v8 универсальные коллекции значений ==> type 3834 var v8_universal_collection = 3835 'comsafearray деревозначений массив соответствие списокзначений структура таблицазначений фиксированнаяструктура ' + 3836 'фиксированноесоответствие фиксированныймассив '; 3837 3838 // type : встроенные типы 3839 var TYPE = 3840 v8_shared_object + 3841 v8_universal_collection; 3842 3843 // literal : примитивные типы 3844 var LITERAL = 'null истина ложь неопределено'; 3845 3846 // number : числа 3847 var NUMBERS = hljs.inherit(hljs.NUMBER_MODE); 3848 3849 // string : строки 3850 var STRINGS = { 3851 className: 'string', 3852 begin: '"|\\|', end: '"|$', 3853 contains: [{begin: '""'}] 3854 }; 3855 3856 // number : даты 3857 var DATE = { 3858 begin: "'", end: "'", excludeBegin: true, excludeEnd: true, 3859 contains: [ 3860 { 3861 className: 'number', 3862 begin: '\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}' 3863 } 3864 ] 3865 }; 3866 3867 // comment : комментарии 3868 var COMMENTS = hljs.inherit(hljs.C_LINE_COMMENT_MODE); 3869 3870 // meta : инструкции препроцессора, директивы компиляции 3871 var META = { 3872 className: 'meta', 3873 lexemes: UNDERSCORE_IDENT_RE, 3874 begin: '#|&', end: '$', 3875 keywords: {'meta-keyword': KEYWORD + METAKEYWORD}, 3876 contains: [ 3877 COMMENTS 3878 ] 3879 }; 3880 3881 // symbol : метка goto 3882 var SYMBOL = { 3883 className: 'symbol', 3884 begin: '~', end: ';|:', excludeEnd: true 3885 }; 3886 3887 // function : объявление процедур и функций 3888 var FUNCTION = { 3889 className: 'function', 3890 lexemes: UNDERSCORE_IDENT_RE, 3891 variants: [ 3892 {begin: 'процедура|функция', end: '\\)', keywords: 'процедура функция'}, 3893 {begin: 'конецпроцедуры|конецфункции', keywords: 'конецпроцедуры конецфункции'} 3894 ], 3895 contains: [ 3896 { 3897 begin: '\\(', end: '\\)', endsParent : true, 3898 contains: [ 3899 { 3900 className: 'params', 3901 lexemes: UNDERSCORE_IDENT_RE, 3902 begin: UNDERSCORE_IDENT_RE, end: ',', excludeEnd: true, endsWithParent: true, 3903 keywords: { 3904 keyword: 'знач', 3905 literal: LITERAL 3906 }, 3907 contains: [ 3908 NUMBERS, 3909 STRINGS, 3910 DATE 3911 ] 3912 }, 3913 COMMENTS 3914 ] 3915 }, 3916 hljs.inherit(hljs.TITLE_MODE, {begin: UNDERSCORE_IDENT_RE}) 3917 ] 3918 }; 3919 3920 return { 3921 case_insensitive: true, 3922 lexemes: UNDERSCORE_IDENT_RE, 3923 keywords: { 3924 keyword: KEYWORD, 3925 built_in: BUILTIN, 3926 class: CLASS, 3927 type: TYPE, 3928 literal: LITERAL 3929 }, 3930 contains: [ 3931 META, 3932 FUNCTION, 3933 COMMENTS, 3934 SYMBOL, 3935 NUMBERS, 3936 STRINGS, 3937 DATE 3938 ] 3939 } 3940 }},{name:"abnf",create:/* 3941 Language: Augmented Backus-Naur Form 3942 Author: Alex McKibben <alex@nullscope.net> 3943 */ 3944 3945 function(hljs) { 3946 var regexes = { 3947 ruleDeclaration: "^[a-zA-Z][a-zA-Z0-9-]*", 3948 unexpectedChars: "[!@#$^&',?+~`|:]" 3949 }; 3950 3951 var keywords = [ 3952 "ALPHA", 3953 "BIT", 3954 "CHAR", 3955 "CR", 3956 "CRLF", 3957 "CTL", 3958 "DIGIT", 3959 "DQUOTE", 3960 "HEXDIG", 3961 "HTAB", 3962 "LF", 3963 "LWSP", 3964 "OCTET", 3965 "SP", 3966 "VCHAR", 3967 "WSP" 3968 ]; 3969 3970 var commentMode = hljs.COMMENT(";", "$"); 3971 3972 var terminalBinaryMode = { 3973 className: "symbol", 3974 begin: /%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/ 3975 }; 3976 3977 var terminalDecimalMode = { 3978 className: "symbol", 3979 begin: /%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/ 3980 }; 3981 3982 var terminalHexadecimalMode = { 3983 className: "symbol", 3984 begin: /%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/, 3985 }; 3986 3987 var caseSensitivityIndicatorMode = { 3988 className: "symbol", 3989 begin: /%[si]/ 3990 }; 3991 3992 var ruleDeclarationMode = { 3993 begin: regexes.ruleDeclaration + '\\s*=', 3994 returnBegin: true, 3995 end: /=/, 3996 relevance: 0, 3997 contains: [{className: "attribute", begin: regexes.ruleDeclaration}] 3998 }; 3999 4000 return { 4001 illegal: regexes.unexpectedChars, 4002 keywords: keywords.join(" "), 4003 contains: [ 4004 ruleDeclarationMode, 4005 commentMode, 4006 terminalBinaryMode, 4007 terminalDecimalMode, 4008 terminalHexadecimalMode, 4009 caseSensitivityIndicatorMode, 4010 hljs.QUOTE_STRING_MODE, 4011 hljs.NUMBER_MODE 4012 ] 4013 }; 4014 } 4015 },{name:"accesslog",create:/* 4016 Language: Access log 4017 Author: Oleg Efimov <efimovov@gmail.com> 4018 Description: Apache/Nginx Access Logs 4019 */ 4020 4021 function(hljs) { 4022 return { 4023 contains: [ 4024 // IP 4025 { 4026 className: 'number', 4027 begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b' 4028 }, 4029 // Other numbers 4030 { 4031 className: 'number', 4032 begin: '\\b\\d+\\b', 4033 relevance: 0 4034 }, 4035 // Requests 4036 { 4037 className: 'string', 4038 begin: '"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)', end: '"', 4039 keywords: 'GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE', 4040 illegal: '\\n', 4041 relevance: 10 4042 }, 4043 // Dates 4044 { 4045 className: 'string', 4046 begin: /\[/, end: /\]/, 4047 illegal: '\\n' 4048 }, 4049 // Strings 4050 { 4051 className: 'string', 4052 begin: '"', end: '"', 4053 illegal: '\\n' 4054 } 4055 ] 4056 }; 4057 } 4058 },{name:"actionscript",create:/* 4059 Language: ActionScript 4060 Author: Alexander Myadzel <myadzel@gmail.com> 4061 Category: scripting 4062 */ 4063 4064 function(hljs) { 4065 var IDENT_RE = '[a-zA-Z_$][a-zA-Z0-9_$]*'; 4066 var IDENT_FUNC_RETURN_TYPE_RE = '([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)'; 4067 4068 var AS3_REST_ARG_MODE = { 4069 className: 'rest_arg', 4070 begin: '[.]{3}', end: IDENT_RE, 4071 relevance: 10 4072 }; 4073 4074 return { 4075 aliases: ['as'], 4076 keywords: { 4077 keyword: 'as break case catch class const continue default delete do dynamic each ' + 4078 'else extends final finally for function get if implements import in include ' + 4079 'instanceof interface internal is namespace native new override package private ' + 4080 'protected public return set static super switch this throw try typeof use var void ' + 4081 'while with', 4082 literal: 'true false null undefined' 4083 }, 4084 contains: [ 4085 hljs.APOS_STRING_MODE, 4086 hljs.QUOTE_STRING_MODE, 4087 hljs.C_LINE_COMMENT_MODE, 4088 hljs.C_BLOCK_COMMENT_MODE, 4089 hljs.C_NUMBER_MODE, 4090 { 4091 className: 'class', 4092 beginKeywords: 'package', end: '{', 4093 contains: [hljs.TITLE_MODE] 4094 }, 4095 { 4096 className: 'class', 4097 beginKeywords: 'class interface', end: '{', excludeEnd: true, 4098 contains: [ 4099 { 4100 beginKeywords: 'extends implements' 4101 }, 4102 hljs.TITLE_MODE 4103 ] 4104 }, 4105 { 4106 className: 'meta', 4107 beginKeywords: 'import include', end: ';', 4108 keywords: {'meta-keyword': 'import include'} 4109 }, 4110 { 4111 className: 'function', 4112 beginKeywords: 'function', end: '[{;]', excludeEnd: true, 4113 illegal: '\\S', 4114 contains: [ 4115 hljs.TITLE_MODE, 4116 { 4117 className: 'params', 4118 begin: '\\(', end: '\\)', 4119 contains: [ 4120 hljs.APOS_STRING_MODE, 4121 hljs.QUOTE_STRING_MODE, 4122 hljs.C_LINE_COMMENT_MODE, 4123 hljs.C_BLOCK_COMMENT_MODE, 4124 AS3_REST_ARG_MODE 4125 ] 4126 }, 4127 { 4128 begin: ':\\s*' + IDENT_FUNC_RETURN_TYPE_RE 4129 } 4130 ] 4131 }, 4132 hljs.METHOD_GUARD 4133 ], 4134 illegal: /#/ 4135 }; 4136 } 4137 },{name:"ada",create:/* 4138 Language: Ada 4139 Author: Lars Schulna <kartoffelbrei.mit.muskatnuss@gmail.org> 4140 Description: Ada is a general-purpose programming language that has great support for saftey critical and real-time applications. 4141 It has been developed by the DoD and thus has been used in military and safety-critical applications (like civil aviation). 4142 The first version appeared in the 80s, but it's still actively developed today with 4143 the newest standard being Ada2012. 4144 */ 4145 4146 // We try to support full Ada2012 4147 // 4148 // We highlight all appearances of types, keywords, literals (string, char, number, bool) 4149 // and titles (user defined function/procedure/package) 4150 // CSS classes are set accordingly 4151 // 4152 // Languages causing problems for language detection: 4153 // xml (broken by Foo : Bar type), elm (broken by Foo : Bar type), vbscript-html (broken by body keyword) 4154 // sql (ada default.txt has a lot of sql keywords) 4155 4156 function(hljs) { 4157 // Regular expression for Ada numeric literals. 4158 // stolen form the VHDL highlighter 4159 4160 // Decimal literal: 4161 var INTEGER_RE = '\\d(_|\\d)*'; 4162 var EXPONENT_RE = '[eE][-+]?' + INTEGER_RE; 4163 var DECIMAL_LITERAL_RE = INTEGER_RE + '(\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?'; 4164 4165 // Based literal: 4166 var BASED_INTEGER_RE = '\\w+'; 4167 var BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?'; 4168 4169 var NUMBER_RE = '\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')'; 4170 4171 // Identifier regex 4172 var ID_REGEX = '[A-Za-z](_?[A-Za-z0-9.])*'; 4173 4174 // bad chars, only allowed in literals 4175 var BAD_CHARS = '[]{}%#\'\"' 4176 4177 // Ada doesn't have block comments, only line comments 4178 var COMMENTS = hljs.COMMENT('--', '$'); 4179 4180 // variable declarations of the form 4181 // Foo : Bar := Baz; 4182 // where only Bar will be highlighted 4183 var VAR_DECLS = { 4184 // TODO: These spaces are not required by the Ada syntax 4185 // however, I have yet to see handwritten Ada code where 4186 // someone does not put spaces around : 4187 begin: '\\s+:\\s+', end: '\\s*(:=|;|\\)|=>|$)', 4188 // endsWithParent: true, 4189 // returnBegin: true, 4190 illegal: BAD_CHARS, 4191 contains: [ 4192 { 4193 // workaround to avoid highlighting 4194 // named loops and declare blocks 4195 beginKeywords: 'loop for declare others', 4196 endsParent: true, 4197 }, 4198 { 4199 // properly highlight all modifiers 4200 className: 'keyword', 4201 beginKeywords: 'not null constant access function procedure in out aliased exception' 4202 }, 4203 { 4204 className: 'type', 4205 begin: ID_REGEX, 4206 endsParent: true, 4207 relevance: 0, 4208 } 4209 ] 4210 }; 4211 4212 return { 4213 case_insensitive: true, 4214 keywords: { 4215 keyword: 4216 'abort else new return abs elsif not reverse abstract end ' + 4217 'accept entry select access exception of separate aliased exit or some ' + 4218 'all others subtype and for out synchronized array function overriding ' + 4219 'at tagged generic package task begin goto pragma terminate ' + 4220 'body private then if procedure type case in protected constant interface ' + 4221 'is raise use declare range delay limited record when delta loop rem while ' + 4222 'digits renames with do mod requeue xor', 4223 literal: 4224 'True False', 4225 }, 4226 contains: [ 4227 COMMENTS, 4228 // strings "foobar" 4229 { 4230 className: 'string', 4231 begin: /"/, end: /"/, 4232 contains: [{begin: /""/, relevance: 0}] 4233 }, 4234 // characters '' 4235 { 4236 // character literals always contain one char 4237 className: 'string', 4238 begin: /'.'/ 4239 }, 4240 { 4241 // number literals 4242 className: 'number', 4243 begin: NUMBER_RE, 4244 relevance: 0 4245 }, 4246 { 4247 // Attributes 4248 className: 'symbol', 4249 begin: "'" + ID_REGEX, 4250 }, 4251 { 4252 // package definition, maybe inside generic 4253 className: 'title', 4254 begin: '(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?', end: '(is|$)', 4255 keywords: 'package body', 4256 excludeBegin: true, 4257 excludeEnd: true, 4258 illegal: BAD_CHARS 4259 }, 4260 { 4261 // function/procedure declaration/definition 4262 // maybe inside generic 4263 begin: '(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+', end: '(\\bis|\\bwith|\\brenames|\\)\\s*;)', 4264 keywords: 'overriding function procedure with is renames return', 4265 // we need to re-match the 'function' keyword, so that 4266 // the title mode below matches only exactly once 4267 returnBegin: true, 4268 contains: 4269 [ 4270 COMMENTS, 4271 { 4272 // name of the function/procedure 4273 className: 'title', 4274 begin: '(\\bwith\\s+)?\\b(function|procedure)\\s+', 4275 end: '(\\(|\\s+|$)', 4276 excludeBegin: true, 4277 excludeEnd: true, 4278 illegal: BAD_CHARS 4279 }, 4280 // 'self' 4281 // // parameter types 4282 VAR_DECLS, 4283 { 4284 // return type 4285 className: 'type', 4286 begin: '\\breturn\\s+', end: '(\\s+|;|$)', 4287 keywords: 'return', 4288 excludeBegin: true, 4289 excludeEnd: true, 4290 // we are done with functions 4291 endsParent: true, 4292 illegal: BAD_CHARS 4293 4294 }, 4295 ] 4296 }, 4297 { 4298 // new type declarations 4299 // maybe inside generic 4300 className: 'type', 4301 begin: '\\b(sub)?type\\s+', end: '\\s+', 4302 keywords: 'type', 4303 excludeBegin: true, 4304 illegal: BAD_CHARS 4305 }, 4306 4307 // see comment above the definition 4308 VAR_DECLS, 4309 4310 // no markup 4311 // relevance boosters for small snippets 4312 // {begin: '\\s*=>\\s*'}, 4313 // {begin: '\\s*:=\\s*'}, 4314 // {begin: '\\s+:=\\s+'}, 4315 ] 4316 }; 4317 } 4318 },{name:"angelscript",create:/* 4319 Language: AngelScript 4320 Author: Melissa Geels <melissa@nimble.tools> 4321 Category: scripting 4322 */ 4323 4324 function(hljs) { 4325 var builtInTypeMode = { 4326 className: 'built_in', 4327 begin: '\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)' 4328 }; 4329 4330 var objectHandleMode = { 4331 className: 'symbol', 4332 begin: '[a-zA-Z0-9_]+@' 4333 }; 4334 4335 var genericMode = { 4336 className: 'keyword', 4337 begin: '<', end: '>', 4338 contains: [ builtInTypeMode, objectHandleMode ] 4339 }; 4340 4341 builtInTypeMode.contains = [ genericMode ]; 4342 objectHandleMode.contains = [ genericMode ]; 4343 4344 return { 4345 aliases: [ 'asc' ], 4346 4347 keywords: 4348 'for in|0 break continue while do|0 return if else case switch namespace is cast ' + 4349 'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' + 4350 'final shared external mixin|10 enum typedef funcdef this super import from interface ' + 4351 'abstract|0 try catch protected explicit', 4352 4353 // avoid close detection with C# and JS 4354 illegal: '(^using\\s+[A-Za-z0-9_\\.]+;$|\\bfunction\s*[^\\(])', 4355 4356 contains: [ 4357 { // 'strings' 4358 className: 'string', 4359 begin: '\'', end: '\'', 4360 illegal: '\\n', 4361 contains: [ hljs.BACKSLASH_ESCAPE ], 4362 relevance: 0 4363 }, 4364 4365 { // "strings" 4366 className: 'string', 4367 begin: '"', end: '"', 4368 illegal: '\\n', 4369 contains: [ hljs.BACKSLASH_ESCAPE ], 4370 relevance: 0 4371 }, 4372 4373 // """heredoc strings""" 4374 { 4375 className: 'string', 4376 begin: '"""', end: '"""' 4377 }, 4378 4379 hljs.C_LINE_COMMENT_MODE, // single-line comments 4380 hljs.C_BLOCK_COMMENT_MODE, // comment blocks 4381 4382 { // interface or namespace declaration 4383 beginKeywords: 'interface namespace', end: '{', 4384 illegal: '[;.\\-]', 4385 contains: [ 4386 { // interface or namespace name 4387 className: 'symbol', 4388 begin: '[a-zA-Z0-9_]+' 4389 } 4390 ] 4391 }, 4392 4393 { // class declaration 4394 beginKeywords: 'class', end: '{', 4395 illegal: '[;.\\-]', 4396 contains: [ 4397 { // class name 4398 className: 'symbol', 4399 begin: '[a-zA-Z0-9_]+', 4400 contains: [ 4401 { 4402 begin: '[:,]\\s*', 4403 contains: [ 4404 { 4405 className: 'symbol', 4406 begin: '[a-zA-Z0-9_]+' 4407 } 4408 ] 4409 } 4410 ] 4411 } 4412 ] 4413 }, 4414 4415 builtInTypeMode, // built-in types 4416 objectHandleMode, // object handles 4417 4418 { // literals 4419 className: 'literal', 4420 begin: '\\b(null|true|false)' 4421 }, 4422 4423 { // numbers 4424 className: 'number', 4425 begin: '(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?f?|\\.\\d+f?)([eE][-+]?\\d+f?)?)' 4426 } 4427 ] 4428 }; 4429 } 4430 },{name:"apache",create:/* 4431 Language: Apache 4432 Author: Ruslan Keba <rukeba@gmail.com> 4433 Contributors: Ivan Sagalaev <maniac@softwaremaniacs.org> 4434 Website: http://rukeba.com/ 4435 Description: language definition for Apache configuration files (httpd.conf & .htaccess) 4436 Category: common, config 4437 */ 4438 4439 function(hljs) { 4440 var NUMBER = {className: 'number', begin: '[\\$%]\\d+'}; 4441 return { 4442 aliases: ['apacheconf'], 4443 case_insensitive: true, 4444 contains: [ 4445 hljs.HASH_COMMENT_MODE, 4446 {className: 'section', begin: '</?', end: '>'}, 4447 { 4448 className: 'attribute', 4449 begin: /\w+/, 4450 relevance: 0, 4451 // keywords aren’t needed for highlighting per se, they only boost relevance 4452 // for a very generally defined mode (starts with a word, ends with line-end 4453 keywords: { 4454 nomarkup: 4455 'order deny allow setenv rewriterule rewriteengine rewritecond documentroot ' + 4456 'sethandler errordocument loadmodule options header listen serverroot ' + 4457 'servername' 4458 }, 4459 starts: { 4460 end: /$/, 4461 relevance: 0, 4462 keywords: { 4463 literal: 'on off all' 4464 }, 4465 contains: [ 4466 { 4467 className: 'meta', 4468 begin: '\\s\\[', end: '\\]$' 4469 }, 4470 { 4471 className: 'variable', 4472 begin: '[\\$%]\\{', end: '\\}', 4473 contains: ['self', NUMBER] 4474 }, 4475 NUMBER, 4476 hljs.QUOTE_STRING_MODE 4477 ] 4478 } 4479 } 4480 ], 4481 illegal: /\S/ 4482 }; 4483 } 4484 },{name:"applescript",create:/* 4485 Language: AppleScript 4486 Authors: Nathan Grigg <nathan@nathanamy.org>, Dr. Drang <drdrang@gmail.com> 4487 Category: scripting 4488 */ 4489 4490 function(hljs) { 4491 var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: ''}); 4492 var PARAMS = { 4493 className: 'params', 4494 begin: '\\(', end: '\\)', 4495 contains: ['self', hljs.C_NUMBER_MODE, STRING] 4496 }; 4497 var COMMENT_MODE_1 = hljs.COMMENT('--', '$'); 4498 var COMMENT_MODE_2 = hljs.COMMENT( 4499 '\\(\\*', 4500 '\\*\\)', 4501 { 4502 contains: ['self', COMMENT_MODE_1] //allow nesting 4503 } 4504 ); 4505 var COMMENTS = [ 4506 COMMENT_MODE_1, 4507 COMMENT_MODE_2, 4508 hljs.HASH_COMMENT_MODE 4509 ]; 4510 4511 return { 4512 aliases: ['osascript'], 4513 keywords: { 4514 keyword: 4515 'about above after against and around as at back before beginning ' + 4516 'behind below beneath beside between but by considering ' + 4517 'contain contains continue copy div does eighth else end equal ' + 4518 'equals error every exit fifth first for fourth from front ' + 4519 'get given global if ignoring in into is it its last local me ' + 4520 'middle mod my ninth not of on onto or over prop property put ref ' + 4521 'reference repeat returning script second set seventh since ' + 4522 'sixth some tell tenth that the|0 then third through thru ' + 4523 'timeout times to transaction try until where while whose with ' + 4524 'without', 4525 literal: 4526 'AppleScript false linefeed return pi quote result space tab true', 4527 built_in: 4528 'alias application boolean class constant date file integer list ' + 4529 'number real record string text ' + 4530 'activate beep count delay launch log offset read round ' + 4531 'run say summarize write ' + 4532 'character characters contents day frontmost id item length ' + 4533 'month name paragraph paragraphs rest reverse running time version ' + 4534 'weekday word words year' 4535 }, 4536 contains: [ 4537 STRING, 4538 hljs.C_NUMBER_MODE, 4539 { 4540 className: 'built_in', 4541 begin: 4542 '\\b(clipboard info|the clipboard|info for|list (disks|folder)|' + 4543 'mount volume|path to|(close|open for) access|(get|set) eof|' + 4544 'current date|do shell script|get volume settings|random number|' + 4545 'set volume|system attribute|system info|time to GMT|' + 4546 '(load|run|store) script|scripting components|' + 4547 'ASCII (character|number)|localized string|' + 4548 'choose (application|color|file|file name|' + 4549 'folder|from list|remote application|URL)|' + 4550 'display (alert|dialog))\\b|^\\s*return\\b' 4551 }, 4552 { 4553 className: 'literal', 4554 begin: 4555 '\\b(text item delimiters|current application|missing value)\\b' 4556 }, 4557 { 4558 className: 'keyword', 4559 begin: 4560 '\\b(apart from|aside from|instead of|out of|greater than|' + 4561 "isn't|(doesn't|does not) (equal|come before|come after|contain)|" + 4562 '(greater|less) than( or equal)?|(starts?|ends|begins?) with|' + 4563 'contained by|comes (before|after)|a (ref|reference)|POSIX file|' + 4564 'POSIX path|(date|time) string|quoted form)\\b' 4565 }, 4566 { 4567 beginKeywords: 'on', 4568 illegal: '[${=;\\n]', 4569 contains: [hljs.UNDERSCORE_TITLE_MODE, PARAMS] 4570 } 4571 ].concat(COMMENTS), 4572 illegal: '//|->|=>|\\[\\[' 4573 }; 4574 } 4575 },{name:"arcade",create:/* 4576 Language: ArcGIS Arcade 4577 Category: scripting 4578 Author: John Foster <jfoster@esri.com> 4579 Description: ArcGIS Arcade is an expression language used in many Esri ArcGIS products such as Pro, Online, Server, Runtime, JavaScript, and Python 4580 */ 4581 function(hljs) { 4582 var IDENT_RE = '[A-Za-z_][0-9A-Za-z_]*'; 4583 var KEYWORDS = { 4584 keyword: 4585 'if for while var new function do return void else break', 4586 literal: 4587 'true false null undefined NaN Infinity PI BackSlash DoubleQuote ForwardSlash NewLine SingleQuote Tab', 4588 built_in: 4589 'Abs Acos Area AreaGeodetic Asin Atan Atan2 Average Boolean Buffer BufferGeodetic ' + 4590 'Ceil Centroid Clip Console Constrain Contains Cos Count Crosses Cut Date DateAdd ' + 4591 'DateDiff Day Decode DefaultValue Dictionary Difference Disjoint Distance Distinct ' + 4592 'DomainCode DomainName Equals Exp Extent Feature FeatureSet FeatureSetById FeatureSetByTitle ' + 4593 'FeatureSetByUrl Filter First Floor Geometry Guid HasKey Hour IIf IndexOf Intersection ' + 4594 'Intersects IsEmpty Length LengthGeodetic Log Max Mean Millisecond Min Minute Month ' + 4595 'MultiPartToSinglePart Multipoint NextSequenceValue Now Number OrderBy Overlaps Point Polygon ' + 4596 'Polyline Pow Random Relate Reverse Round Second SetGeometry Sin Sort Sqrt Stdev Sum ' + 4597 'SymmetricDifference Tan Text Timestamp Today ToLocal Top Touches ToUTC TypeOf Union Variance ' + 4598 'Weekday When Within Year ' 4599 }; 4600 var EXPRESSIONS; 4601 var SYMBOL = { 4602 className: 'symbol', 4603 begin: '\\$[feature|layer|map|value|view]+' 4604 }; 4605 var NUMBER = { 4606 className: 'number', 4607 variants: [ 4608 { begin: '\\b(0[bB][01]+)' }, 4609 { begin: '\\b(0[oO][0-7]+)' }, 4610 { begin: hljs.C_NUMBER_RE } 4611 ], 4612 relevance: 0 4613 }; 4614 var SUBST = { 4615 className: 'subst', 4616 begin: '\\$\\{', end: '\\}', 4617 keywords: KEYWORDS, 4618 contains: [] // defined later 4619 }; 4620 var TEMPLATE_STRING = { 4621 className: 'string', 4622 begin: '`', end: '`', 4623 contains: [ 4624 hljs.BACKSLASH_ESCAPE, 4625 SUBST 4626 ] 4627 }; 4628 SUBST.contains = [ 4629 hljs.APOS_STRING_MODE, 4630 hljs.QUOTE_STRING_MODE, 4631 TEMPLATE_STRING, 4632 NUMBER, 4633 hljs.REGEXP_MODE 4634 ]; 4635 var PARAMS_CONTAINS = SUBST.contains.concat([ 4636 hljs.C_BLOCK_COMMENT_MODE, 4637 hljs.C_LINE_COMMENT_MODE 4638 ]); 4639 4640 return { 4641 aliases: ['arcade'], 4642 keywords: KEYWORDS, 4643 contains: [ 4644 hljs.APOS_STRING_MODE, 4645 hljs.QUOTE_STRING_MODE, 4646 TEMPLATE_STRING, 4647 hljs.C_LINE_COMMENT_MODE, 4648 hljs.C_BLOCK_COMMENT_MODE, 4649 SYMBOL, 4650 NUMBER, 4651 { // object attr container 4652 begin: /[{,]\s*/, relevance: 0, 4653 contains: [ 4654 { 4655 begin: IDENT_RE + '\\s*:', returnBegin: true, 4656 relevance: 0, 4657 contains: [{className: 'attr', begin: IDENT_RE, relevance: 0}] 4658 } 4659 ] 4660 }, 4661 { // "value" container 4662 begin: '(' + hljs.RE_STARTERS_RE + '|\\b(return)\\b)\\s*', 4663 keywords: 'return', 4664 contains: [ 4665 hljs.C_LINE_COMMENT_MODE, 4666 hljs.C_BLOCK_COMMENT_MODE, 4667 hljs.REGEXP_MODE, 4668 { 4669 className: 'function', 4670 begin: '(\\(.*?\\)|' + IDENT_RE + ')\\s*=>', returnBegin: true, 4671 end: '\\s*=>', 4672 contains: [ 4673 { 4674 className: 'params', 4675 variants: [ 4676 { 4677 begin: IDENT_RE 4678 }, 4679 { 4680 begin: /\(\s*\)/, 4681 }, 4682 { 4683 begin: /\(/, end: /\)/, 4684 excludeBegin: true, excludeEnd: true, 4685 keywords: KEYWORDS, 4686 contains: PARAMS_CONTAINS 4687 } 4688 ] 4689 } 4690 ] 4691 } 4692 ], 4693 relevance: 0 4694 }, 4695 { 4696 className: 'function', 4697 beginKeywords: 'function', end: /\{/, excludeEnd: true, 4698 contains: [ 4699 hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE}), 4700 { 4701 className: 'params', 4702 begin: /\(/, end: /\)/, 4703 excludeBegin: true, 4704 excludeEnd: true, 4705 contains: PARAMS_CONTAINS 4706 } 4707 ], 4708 illegal: /\[|%/ 4709 }, 4710 { 4711 begin: /\$[(.]/ 4712 } 4713 ], 4714 illegal: /#(?!!)/ 4715 }; 4716 } 4717 },{name:"arduino",create:/* 4718 Language: Arduino 4719 Author: Stefania Mellai <s.mellai@arduino.cc> 4720 Description: The Arduino® Language is a superset of C++. This rules are designed to highlight the Arduino® source code. For info about language see http://www.arduino.cc. 4721 Requires: cpp.js 4722 */ 4723 4724 function(hljs) { 4725 var CPP = hljs.getLanguage('cpp').exports; 4726 return { 4727 keywords: { 4728 keyword: 4729 'boolean byte word string String array ' + CPP.keywords.keyword, 4730 built_in: 4731 'setup loop while catch for if do goto try switch case else ' + 4732 'default break continue return ' + 4733 'KeyboardController MouseController SoftwareSerial ' + 4734 'EthernetServer EthernetClient LiquidCrystal ' + 4735 'RobotControl GSMVoiceCall EthernetUDP EsploraTFT ' + 4736 'HttpClient RobotMotor WiFiClient GSMScanner ' + 4737 'FileSystem Scheduler GSMServer YunClient YunServer ' + 4738 'IPAddress GSMClient GSMModem Keyboard Ethernet ' + 4739 'Console GSMBand Esplora Stepper Process ' + 4740 'WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage ' + 4741 'Client Server GSMPIN FileIO Bridge Serial ' + 4742 'EEPROM Stream Mouse Audio Servo File Task ' + 4743 'GPRS WiFi Wire TFT GSM SPI SD ' + 4744 'runShellCommandAsynchronously analogWriteResolution ' + 4745 'retrieveCallingNumber printFirmwareVersion ' + 4746 'analogReadResolution sendDigitalPortPair ' + 4747 'noListenOnLocalhost readJoystickButton setFirmwareVersion ' + 4748 'readJoystickSwitch scrollDisplayRight getVoiceCallStatus ' + 4749 'scrollDisplayLeft writeMicroseconds delayMicroseconds ' + 4750 'beginTransmission getSignalStrength runAsynchronously ' + 4751 'getAsynchronously listenOnLocalhost getCurrentCarrier ' + 4752 'readAccelerometer messageAvailable sendDigitalPorts ' + 4753 'lineFollowConfig countryNameWrite runShellCommand ' + 4754 'readStringUntil rewindDirectory readTemperature ' + 4755 'setClockDivider readLightSensor endTransmission ' + 4756 'analogReference detachInterrupt countryNameRead ' + 4757 'attachInterrupt encryptionType readBytesUntil ' + 4758 'robotNameWrite readMicrophone robotNameRead cityNameWrite ' + 4759 'userNameWrite readJoystickY readJoystickX mouseReleased ' + 4760 'openNextFile scanNetworks noInterrupts digitalWrite ' + 4761 'beginSpeaker mousePressed isActionDone mouseDragged ' + 4762 'displayLogos noAutoscroll addParameter remoteNumber ' + 4763 'getModifiers keyboardRead userNameRead waitContinue ' + 4764 'processInput parseCommand printVersion readNetworks ' + 4765 'writeMessage blinkVersion cityNameRead readMessage ' + 4766 'setDataMode parsePacket isListening setBitOrder ' + 4767 'beginPacket isDirectory motorsWrite drawCompass ' + 4768 'digitalRead clearScreen serialEvent rightToLeft ' + 4769 'setTextSize leftToRight requestFrom keyReleased ' + 4770 'compassRead analogWrite interrupts WiFiServer ' + 4771 'disconnect playMelody parseFloat autoscroll ' + 4772 'getPINUsed setPINUsed setTimeout sendAnalog ' + 4773 'readSlider analogRead beginWrite createChar ' + 4774 'motorsStop keyPressed tempoWrite readButton ' + 4775 'subnetMask debugPrint macAddress writeGreen ' + 4776 'randomSeed attachGPRS readString sendString ' + 4777 'remotePort releaseAll mouseMoved background ' + 4778 'getXChange getYChange answerCall getResult ' + 4779 'voiceCall endPacket constrain getSocket writeJSON ' + 4780 'getButton available connected findUntil readBytes ' + 4781 'exitValue readGreen writeBlue startLoop IPAddress ' + 4782 'isPressed sendSysex pauseMode gatewayIP setCursor ' + 4783 'getOemKey tuneWrite noDisplay loadImage switchPIN ' + 4784 'onRequest onReceive changePIN playFile noBuffer ' + 4785 'parseInt overflow checkPIN knobRead beginTFT ' + 4786 'bitClear updateIR bitWrite position writeRGB ' + 4787 'highByte writeRed setSpeed readBlue noStroke ' + 4788 'remoteIP transfer shutdown hangCall beginSMS ' + 4789 'endWrite attached maintain noCursor checkReg ' + 4790 'checkPUK shiftOut isValid shiftIn pulseIn ' + 4791 'connect println localIP pinMode getIMEI ' + 4792 'display noBlink process getBand running beginSD ' + 4793 'drawBMP lowByte setBand release bitRead prepare ' + 4794 'pointTo readRed setMode noFill remove listen ' + 4795 'stroke detach attach noTone exists buffer ' + 4796 'height bitSet circle config cursor random ' + 4797 'IRread setDNS endSMS getKey micros ' + 4798 'millis begin print write ready flush width ' + 4799 'isPIN blink clear press mkdir rmdir close ' + 4800 'point yield image BSSID click delay ' + 4801 'read text move peek beep rect line open ' + 4802 'seek fill size turn stop home find ' + 4803 'step tone sqrt RSSI SSID ' + 4804 'end bit tan cos sin pow map abs max ' + 4805 'min get run put', 4806 literal: 4807 'DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE ' + 4808 'REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP ' + 4809 'SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN ' + 4810 'INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL ' + 4811 'DEFAULT OUTPUT INPUT HIGH LOW' 4812 }, 4813 contains: [ 4814 CPP.preprocessor, 4815 hljs.C_LINE_COMMENT_MODE, 4816 hljs.C_BLOCK_COMMENT_MODE, 4817 hljs.APOS_STRING_MODE, 4818 hljs.QUOTE_STRING_MODE, 4819 hljs.C_NUMBER_MODE 4820 ] 4821 }; 4822 } 4823 },{name:"armasm",create:/* 4824 Language: ARM Assembly 4825 Author: Dan Panzarella <alsoelp@gmail.com> 4826 Description: ARM Assembly including Thumb and Thumb2 instructions 4827 Category: assembler 4828 */ 4829 4830 function(hljs) { 4831 //local labels: %?[FB]?[AT]?\d{1,2}\w+ 4832 return { 4833 case_insensitive: true, 4834 aliases: ['arm'], 4835 lexemes: '\\.?' + hljs.IDENT_RE, 4836 keywords: { 4837 meta: 4838 //GNU preprocs 4839 '.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg '+ 4840 //ARM directives 4841 'ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ', 4842 built_in: 4843 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 '+ //standard registers 4844 'pc lr sp ip sl sb fp '+ //typical regs plus backward compatibility 4845 'a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 '+ //more regs and fp 4846 'p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 '+ //coprocessor regs 4847 'c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 '+ //more coproc 4848 'q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 '+ //advanced SIMD NEON regs 4849 4850 //program status registers 4851 'cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf '+ 4852 'spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf '+ 4853 4854 //NEON and VFP registers 4855 's0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 '+ 4856 's16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 '+ 4857 'd0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 '+ 4858 'd16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 ' + 4859 4860 '{PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @' 4861 }, 4862 contains: [ 4863 { 4864 className: 'keyword', 4865 begin: '\\b('+ //mnemonics 4866 'adc|'+ 4867 '(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|'+ 4868 'and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|'+ 4869 'bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|'+ 4870 'setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|'+ 4871 'ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|'+ 4872 'mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|'+ 4873 'mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|'+ 4874 'mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|'+ 4875 'rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|'+ 4876 'stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|'+ 4877 '[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|'+ 4878 'wfe|wfi|yield'+ 4879 ')'+ 4880 '(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?'+ //condition codes 4881 '[sptrx]?' , //legal postfixes 4882 end: '\\s' 4883 }, 4884 hljs.COMMENT('[;@]', '$', {relevance: 0}), 4885 hljs.C_BLOCK_COMMENT_MODE, 4886 hljs.QUOTE_STRING_MODE, 4887 { 4888 className: 'string', 4889 begin: '\'', 4890 end: '[^\\\\]\'', 4891 relevance: 0 4892 }, 4893 { 4894 className: 'title', 4895 begin: '\\|', end: '\\|', 4896 illegal: '\\n', 4897 relevance: 0 4898 }, 4899 { 4900 className: 'number', 4901 variants: [ 4902 {begin: '[#$=]?0x[0-9a-f]+'}, //hex 4903 {begin: '[#$=]?0b[01]+'}, //bin 4904 {begin: '[#$=]\\d+'}, //literal 4905 {begin: '\\b\\d+'} //bare number 4906 ], 4907 relevance: 0 4908 }, 4909 { 4910 className: 'symbol', 4911 variants: [ 4912 {begin: '^[a-z_\\.\\$][a-z0-9_\\.\\$]+'}, //ARM syntax 4913 {begin: '^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:'}, //GNU ARM syntax 4914 {begin: '[=#]\\w+' } //label reference 4915 ], 4916 relevance: 0 4917 } 4918 ] 4919 }; 4920 } 4921 },{name:"asciidoc",create:/* 4922 Language: AsciiDoc 4923 Requires: xml.js 4924 Author: Dan Allen <dan.j.allen@gmail.com> 4925 Website: http://google.com/profiles/dan.j.allen 4926 Description: A semantic, text-based document format that can be exported to HTML, DocBook and other backends. 4927 Category: markup 4928 */ 4929 4930 function(hljs) { 4931 return { 4932 aliases: ['adoc'], 4933 contains: [ 4934 // block comment 4935 hljs.COMMENT( 4936 '^/{4,}\\n', 4937 '\\n/{4,}$', 4938 // can also be done as... 4939 //'^/{4,}$', 4940 //'^/{4,}$', 4941 { 4942 relevance: 10 4943 } 4944 ), 4945 // line comment 4946 hljs.COMMENT( 4947 '^//', 4948 '$', 4949 { 4950 relevance: 0 4951 } 4952 ), 4953 // title 4954 { 4955 className: 'title', 4956 begin: '^\\.\\w.*$' 4957 }, 4958 // example, admonition & sidebar blocks 4959 { 4960 begin: '^[=\\*]{4,}\\n', 4961 end: '\\n^[=\\*]{4,}$', 4962 relevance: 10 4963 }, 4964 // headings 4965 { 4966 className: 'section', 4967 relevance: 10, 4968 variants: [ 4969 {begin: '^(={1,5}) .+?( \\1)?$'}, 4970 {begin: '^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$'}, 4971 ] 4972 }, 4973 // document attributes 4974 { 4975 className: 'meta', 4976 begin: '^:.+?:', 4977 end: '\\s', 4978 excludeEnd: true, 4979 relevance: 10 4980 }, 4981 // block attributes 4982 { 4983 className: 'meta', 4984 begin: '^\\[.+?\\]$', 4985 relevance: 0 4986 }, 4987 // quoteblocks 4988 { 4989 className: 'quote', 4990 begin: '^_{4,}\\n', 4991 end: '\\n_{4,}$', 4992 relevance: 10 4993 }, 4994 // listing and literal blocks 4995 { 4996 className: 'code', 4997 begin: '^[\\-\\.]{4,}\\n', 4998 end: '\\n[\\-\\.]{4,}$', 4999 relevance: 10 5000 }, 5001 // passthrough blocks 5002 { 5003 begin: '^\\+{4,}\\n', 5004 end: '\\n\\+{4,}$', 5005 contains: [ 5006 { 5007 begin: '<', end: '>', 5008 subLanguage: 'xml', 5009 relevance: 0 5010 } 5011 ], 5012 relevance: 10 5013 }, 5014 // lists (can only capture indicators) 5015 { 5016 className: 'bullet', 5017 begin: '^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+' 5018 }, 5019 // admonition 5020 { 5021 className: 'symbol', 5022 begin: '^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+', 5023 relevance: 10 5024 }, 5025 // inline strong 5026 { 5027 className: 'strong', 5028 // must not follow a word character or be followed by an asterisk or space 5029 begin: '\\B\\*(?![\\*\\s])', 5030 end: '(\\n{2}|\\*)', 5031 // allow escaped asterisk followed by word char 5032 contains: [ 5033 { 5034 begin: '\\\\*\\w', 5035 relevance: 0 5036 } 5037 ] 5038 }, 5039 // inline emphasis 5040 { 5041 className: 'emphasis', 5042 // must not follow a word character or be followed by a single quote or space 5043 begin: '\\B\'(?![\'\\s])', 5044 end: '(\\n{2}|\')', 5045 // allow escaped single quote followed by word char 5046 contains: [ 5047 { 5048 begin: '\\\\\'\\w', 5049 relevance: 0 5050 } 5051 ], 5052 relevance: 0 5053 }, 5054 // inline emphasis (alt) 5055 { 5056 className: 'emphasis', 5057 // must not follow a word character or be followed by an underline or space 5058 begin: '_(?![_\\s])', 5059 end: '(\\n{2}|_)', 5060 relevance: 0 5061 }, 5062 // inline smart quotes 5063 { 5064 className: 'string', 5065 variants: [ 5066 {begin: "``.+?''"}, 5067 {begin: "`.+?'"} 5068 ] 5069 }, 5070 // inline code snippets (TODO should get same treatment as strong and emphasis) 5071 { 5072 className: 'code', 5073 begin: '(`.+?`|\\+.+?\\+)', 5074 relevance: 0 5075 }, 5076 // indented literal block 5077 { 5078 className: 'code', 5079 begin: '^[ \\t]', 5080 end: '$', 5081 relevance: 0 5082 }, 5083 // horizontal rules 5084 { 5085 begin: '^\'{3,}[ \\t]*$', 5086 relevance: 10 5087 }, 5088 // images and links 5089 { 5090 begin: '(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]', 5091 returnBegin: true, 5092 contains: [ 5093 { 5094 begin: '(link|image:?):', 5095 relevance: 0 5096 }, 5097 { 5098 className: 'link', 5099 begin: '\\w', 5100 end: '[^\\[]+', 5101 relevance: 0 5102 }, 5103 { 5104 className: 'string', 5105 begin: '\\[', 5106 end: '\\]', 5107 excludeBegin: true, 5108 excludeEnd: true, 5109 relevance: 0 5110 } 5111 ], 5112 relevance: 10 5113 } 5114 ] 5115 }; 5116 } 5117 },{name:"aspectj",create:/* 5118 Language: AspectJ 5119 Author: Hakan Ozler <ozler.hakan@gmail.com> 5120 Description: Syntax Highlighting for the AspectJ Language which is a general-purpose aspect-oriented extension to the Java programming language. 5121 */ 5122 function (hljs) { 5123 var KEYWORDS = 5124 'false synchronized int abstract float private char boolean static null if const ' + 5125 'for true while long throw strictfp finally protected import native final return void ' + 5126 'enum else extends implements break transient new catch instanceof byte super volatile case ' + 5127 'assert short package default double public try this switch continue throws privileged ' + 5128 'aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization ' + 5129 'staticinitialization withincode target within execution getWithinTypeName handler ' + 5130 'thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents '+ 5131 'warning error soft precedence thisAspectInstance'; 5132 var SHORTKEYS = 'get set args call'; 5133 return { 5134 keywords : KEYWORDS, 5135 illegal : /<\/|#/, 5136 contains : [ 5137 hljs.COMMENT( 5138 '/\\*\\*', 5139 '\\*/', 5140 { 5141 relevance : 0, 5142 contains : [ 5143 { 5144 // eat up @'s in emails to prevent them to be recognized as doctags 5145 begin: /\w+@/, relevance: 0 5146 }, 5147 { 5148 className : 'doctag', 5149 begin : '@[A-Za-z]+' 5150 } 5151 ] 5152 } 5153 ), 5154 hljs.C_LINE_COMMENT_MODE, 5155 hljs.C_BLOCK_COMMENT_MODE, 5156 hljs.APOS_STRING_MODE, 5157 hljs.QUOTE_STRING_MODE, 5158 { 5159 className : 'class', 5160 beginKeywords : 'aspect', 5161 end : /[{;=]/, 5162 excludeEnd : true, 5163 illegal : /[:;"\[\]]/, 5164 contains : [ 5165 { 5166 beginKeywords : 'extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton' 5167 }, 5168 hljs.UNDERSCORE_TITLE_MODE, 5169 { 5170 begin : /\([^\)]*/, 5171 end : /[)]+/, 5172 keywords : KEYWORDS + ' ' + SHORTKEYS, 5173 excludeEnd : false 5174 } 5175 ] 5176 }, 5177 { 5178 className : 'class', 5179 beginKeywords : 'class interface', 5180 end : /[{;=]/, 5181 excludeEnd : true, 5182 relevance: 0, 5183 keywords : 'class interface', 5184 illegal : /[:"\[\]]/, 5185 contains : [ 5186 {beginKeywords : 'extends implements'}, 5187 hljs.UNDERSCORE_TITLE_MODE 5188 ] 5189 }, 5190 { 5191 // AspectJ Constructs 5192 beginKeywords : 'pointcut after before around throwing returning', 5193 end : /[)]/, 5194 excludeEnd : false, 5195 illegal : /["\[\]]/, 5196 contains : [ 5197 { 5198 begin : hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', 5199 returnBegin : true, 5200 contains : [hljs.UNDERSCORE_TITLE_MODE] 5201 } 5202 ] 5203 }, 5204 { 5205 begin : /[:]/, 5206 returnBegin : true, 5207 end : /[{;]/, 5208 relevance: 0, 5209 excludeEnd : false, 5210 keywords : KEYWORDS, 5211 illegal : /["\[\]]/, 5212 contains : [ 5213 { 5214 begin : hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', 5215 keywords : KEYWORDS + ' ' + SHORTKEYS, 5216 relevance: 0 5217 }, 5218 hljs.QUOTE_STRING_MODE 5219 ] 5220 }, 5221 { 5222 // this prevents 'new Name(...), or throw ...' from being recognized as a function definition 5223 beginKeywords : 'new throw', 5224 relevance : 0 5225 }, 5226 { 5227 // the function class is a bit different for AspectJ compared to the Java language 5228 className : 'function', 5229 begin : /\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/, 5230 returnBegin : true, 5231 end : /[{;=]/, 5232 keywords : KEYWORDS, 5233 excludeEnd : true, 5234 contains : [ 5235 { 5236 begin : hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', 5237 returnBegin : true, 5238 relevance: 0, 5239 contains : [hljs.UNDERSCORE_TITLE_MODE] 5240 }, 5241 { 5242 className : 'params', 5243 begin : /\(/, end : /\)/, 5244 relevance: 0, 5245 keywords : KEYWORDS, 5246 contains : [ 5247 hljs.APOS_STRING_MODE, 5248 hljs.QUOTE_STRING_MODE, 5249 hljs.C_NUMBER_MODE, 5250 hljs.C_BLOCK_COMMENT_MODE 5251 ] 5252 }, 5253 hljs.C_LINE_COMMENT_MODE, 5254 hljs.C_BLOCK_COMMENT_MODE 5255 ] 5256 }, 5257 hljs.C_NUMBER_MODE, 5258 { 5259 // annotation is also used in this language 5260 className : 'meta', 5261 begin : '@[A-Za-z]+' 5262 } 5263 ] 5264 }; 5265 } 5266 },{name:"autohotkey",create:/* 5267 Language: AutoHotkey 5268 Author: Seongwon Lee <dlimpid@gmail.com> 5269 Description: AutoHotkey language definition 5270 Category: scripting 5271 */ 5272 5273 function(hljs) { 5274 var BACKTICK_ESCAPE = { 5275 begin: '`[\\s\\S]' 5276 }; 5277 5278 return { 5279 case_insensitive: true, 5280 aliases: [ 'ahk' ], 5281 keywords: { 5282 keyword: 'Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group', 5283 literal: 'true false NOT AND OR', 5284 built_in: 'ComSpec Clipboard ClipboardAll ErrorLevel', 5285 }, 5286 contains: [ 5287 BACKTICK_ESCAPE, 5288 hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [BACKTICK_ESCAPE]}), 5289 hljs.COMMENT(';', '$', {relevance: 0}), 5290 hljs.C_BLOCK_COMMENT_MODE, 5291 { 5292 className: 'number', 5293 begin: hljs.NUMBER_RE, 5294 relevance: 0 5295 }, 5296 { 5297 className: 'variable', //subst would be the most accurate however fails the point of highlighting. variable is comparably the most accurate that actually has some effect 5298 begin: '%[a-zA-Z0-9#_$@]+%' 5299 }, 5300 { 5301 className: 'built_in', 5302 begin: '^\\s*\\w+\\s*(,|%)' 5303 //I don't really know if this is totally relevant 5304 }, 5305 { 5306 className: 'title', //symbol would be most accurate however is higlighted just like built_in and that makes up a lot of AutoHotkey code 5307 //meaning that it would fail to highlight anything 5308 variants: [ 5309 {begin: '^[^\\n";]+::(?!=)'}, 5310 {begin: '^[^\\n";]+:(?!=)', relevance: 0} // zero relevance as it catches a lot of things 5311 // followed by a single ':' in many languages 5312 ] 5313 }, 5314 { 5315 className: 'meta', 5316 begin: '^\\s*#\\w+', end:'$', 5317 relevance: 0 5318 }, 5319 { 5320 className: 'built_in', 5321 begin: 'A_[a-zA-Z0-9]+' 5322 }, 5323 { 5324 // consecutive commas, not for highlighting but just for relevance 5325 begin: ',\\s*,' 5326 } 5327 ] 5328 } 5329 } 5330 },{name:"autoit",create:/* 5331 Language: AutoIt 5332 Author: Manh Tuan <junookyo@gmail.com> 5333 Description: AutoIt language definition 5334 Category: scripting 5335 */ 5336 5337 function(hljs) { 5338 var KEYWORDS = 'ByRef Case Const ContinueCase ContinueLoop ' + 5339 'Default Dim Do Else ElseIf EndFunc EndIf EndSelect ' + 5340 'EndSwitch EndWith Enum Exit ExitLoop For Func ' + 5341 'Global If In Local Next ReDim Return Select Static ' + 5342 'Step Switch Then To Until Volatile WEnd While With', 5343 5344 LITERAL = 'True False And Null Not Or', 5345 5346 BUILT_IN = 5347 'Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait', 5348 5349 COMMENT = { 5350 variants: [ 5351 hljs.COMMENT(';', '$', {relevance: 0}), 5352 hljs.COMMENT('#cs', '#ce'), 5353 hljs.COMMENT('#comments-start', '#comments-end') 5354 ] 5355 }, 5356 5357 VARIABLE = { 5358 begin: '\\$[A-z0-9_]+' 5359 }, 5360 5361 STRING = { 5362 className: 'string', 5363 variants: [{ 5364 begin: /"/, 5365 end: /"/, 5366 contains: [{ 5367 begin: /""/, 5368 relevance: 0 5369 }] 5370 }, { 5371 begin: /'/, 5372 end: /'/, 5373 contains: [{ 5374 begin: /''/, 5375 relevance: 0 5376 }] 5377 }] 5378 }, 5379 5380 NUMBER = { 5381 variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE] 5382 }, 5383 5384 PREPROCESSOR = { 5385 className: 'meta', 5386 begin: '#', 5387 end: '$', 5388 keywords: {'meta-keyword': 'comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin'}, 5389 contains: [{ 5390 begin: /\\\n/, 5391 relevance: 0 5392 }, { 5393 beginKeywords: 'include', 5394 keywords: {'meta-keyword': 'include'}, 5395 end: '$', 5396 contains: [ 5397 STRING, { 5398 className: 'meta-string', 5399 variants: [{ 5400 begin: '<', 5401 end: '>' 5402 }, { 5403 begin: /"/, 5404 end: /"/, 5405 contains: [{ 5406 begin: /""/, 5407 relevance: 0 5408 }] 5409 }, { 5410 begin: /'/, 5411 end: /'/, 5412 contains: [{ 5413 begin: /''/, 5414 relevance: 0 5415 }] 5416 }] 5417 } 5418 ] 5419 }, 5420 STRING, 5421 COMMENT 5422 ] 5423 }, 5424 5425 CONSTANT = { 5426 className: 'symbol', 5427 // begin: '@', 5428 // end: '$', 5429 // keywords: 'AppDataCommonDir AppDataDir AutoItExe AutoItPID AutoItVersion AutoItX64 COM_EventObj CommonFilesDir Compiled ComputerName ComSpec CPUArch CR CRLF DesktopCommonDir DesktopDepth DesktopDir DesktopHeight DesktopRefresh DesktopWidth DocumentsCommonDir error exitCode exitMethod extended FavoritesCommonDir FavoritesDir GUI_CtrlHandle GUI_CtrlId GUI_DragFile GUI_DragId GUI_DropId GUI_WinHandle HomeDrive HomePath HomeShare HotKeyPressed HOUR IPAddress1 IPAddress2 IPAddress3 IPAddress4 KBLayout LF LocalAppDataDir LogonDNSDomain LogonDomain LogonServer MDAY MIN MON MSEC MUILang MyDocumentsDir NumParams OSArch OSBuild OSLang OSServicePack OSType OSVersion ProgramFilesDir ProgramsCommonDir ProgramsDir ScriptDir ScriptFullPath ScriptLineNumber ScriptName SEC StartMenuCommonDir StartMenuDir StartupCommonDir StartupDir SW_DISABLE SW_ENABLE SW_HIDE SW_LOCK SW_MAXIMIZE SW_MINIMIZE SW_RESTORE SW_SHOW SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_SHOWMINIMIZED SW_SHOWMINNOACTIVE SW_SHOWNA SW_SHOWNOACTIVATE SW_SHOWNORMAL SW_UNLOCK SystemDir TAB TempDir TRAY_ID TrayIconFlashing TrayIconVisible UserName UserProfileDir WDAY WindowsDir WorkingDir YDAY YEAR', 5430 // relevance: 5 5431 begin: '@[A-z0-9_]+' 5432 }, 5433 5434 FUNCTION = { 5435 className: 'function', 5436 beginKeywords: 'Func', 5437 end: '$', 5438 illegal: '\\$|\\[|%', 5439 contains: [ 5440 hljs.UNDERSCORE_TITLE_MODE, { 5441 className: 'params', 5442 begin: '\\(', 5443 end: '\\)', 5444 contains: [ 5445 VARIABLE, 5446 STRING, 5447 NUMBER 5448 ] 5449 } 5450 ] 5451 }; 5452 5453 return { 5454 case_insensitive: true, 5455 illegal: /\/\*/, 5456 keywords: { 5457 keyword: KEYWORDS, 5458 built_in: BUILT_IN, 5459 literal: LITERAL 5460 }, 5461 contains: [ 5462 COMMENT, 5463 VARIABLE, 5464 STRING, 5465 NUMBER, 5466 PREPROCESSOR, 5467 CONSTANT, 5468 FUNCTION 5469 ] 5470 } 5471 } 5472 },{name:"avrasm",create:/* 5473 Language: AVR Assembler 5474 Author: Vladimir Ermakov <vooon341@gmail.com> 5475 Category: assembler 5476 */ 5477 5478 function(hljs) { 5479 return { 5480 case_insensitive: true, 5481 lexemes: '\\.?' + hljs.IDENT_RE, 5482 keywords: { 5483 keyword: 5484 /* mnemonic */ 5485 'adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs ' + 5486 'brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr ' + 5487 'clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor ' + 5488 'fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul ' + 5489 'muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs ' + 5490 'sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub ' + 5491 'subi swap tst wdr', 5492 built_in: 5493 /* general purpose registers */ 5494 'r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 ' + 5495 'r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ' + 5496 /* IO Registers (ATMega128) */ 5497 'ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h ' + 5498 'tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ' + 5499 'ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ' + 5500 'ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk ' + 5501 'tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ' + 5502 'ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr ' + 5503 'porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ' + 5504 'ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf', 5505 meta: 5506 '.byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list ' + 5507 '.listmac .macro .nolist .org .set' 5508 }, 5509 contains: [ 5510 hljs.C_BLOCK_COMMENT_MODE, 5511 hljs.COMMENT( 5512 ';', 5513 '$', 5514 { 5515 relevance: 0 5516 } 5517 ), 5518 hljs.C_NUMBER_MODE, // 0x..., decimal, float 5519 hljs.BINARY_NUMBER_MODE, // 0b... 5520 { 5521 className: 'number', 5522 begin: '\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)' // $..., 0o... 5523 }, 5524 hljs.QUOTE_STRING_MODE, 5525 { 5526 className: 'string', 5527 begin: '\'', end: '[^\\\\]\'', 5528 illegal: '[^\\\\][^\']' 5529 }, 5530 {className: 'symbol', begin: '^[A-Za-z0-9_.$]+:'}, 5531 {className: 'meta', begin: '#', end: '$'}, 5532 { // подстановка в «.macro» 5533 className: 'subst', 5534 begin: '@[0-9]+' 5535 } 5536 ] 5537 }; 5538 } 5539 },{name:"awk",create:/* 5540 Language: Awk 5541 Author: Matthew Daly <matthewbdaly@gmail.com> 5542 Website: http://matthewdaly.co.uk/ 5543 Description: language definition for Awk scripts 5544 */ 5545 5546 function(hljs) { 5547 var VARIABLE = { 5548 className: 'variable', 5549 variants: [ 5550 {begin: /\$[\w\d#@][\w\d_]*/}, 5551 {begin: /\$\{(.*?)}/} 5552 ] 5553 }; 5554 var KEYWORDS = 'BEGIN END if else while do for in break continue delete next nextfile function func exit|10'; 5555 var STRING = { 5556 className: 'string', 5557 contains: [hljs.BACKSLASH_ESCAPE], 5558 variants: [ 5559 { 5560 begin: /(u|b)?r?'''/, end: /'''/, 5561 relevance: 10 5562 }, 5563 { 5564 begin: /(u|b)?r?"""/, end: /"""/, 5565 relevance: 10 5566 }, 5567 { 5568 begin: /(u|r|ur)'/, end: /'/, 5569 relevance: 10 5570 }, 5571 { 5572 begin: /(u|r|ur)"/, end: /"/, 5573 relevance: 10 5574 }, 5575 { 5576 begin: /(b|br)'/, end: /'/ 5577 }, 5578 { 5579 begin: /(b|br)"/, end: /"/ 5580 }, 5581 hljs.APOS_STRING_MODE, 5582 hljs.QUOTE_STRING_MODE 5583 ] 5584 }; 5585 return { 5586 keywords: { 5587 keyword: KEYWORDS 5588 }, 5589 contains: [ 5590 VARIABLE, 5591 STRING, 5592 hljs.REGEXP_MODE, 5593 hljs.HASH_COMMENT_MODE, 5594 hljs.NUMBER_MODE 5595 ] 5596 } 5597 } 5598 },{name:"axapta",create:/* 5599 Language: Axapta 5600 Author: Dmitri Roudakov <dmitri@roudakov.ru> 5601 Category: enterprise 5602 */ 5603 5604 function(hljs) { 5605 return { 5606 keywords: 'false int abstract private char boolean static null if for true ' + 5607 'while long throw finally protected final return void enum else ' + 5608 'break new catch byte super case short default double public try this switch ' + 5609 'continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count ' + 5610 'order group by asc desc index hint like dispaly edit client server ttsbegin ' + 5611 'ttscommit str real date container anytype common div mod', 5612 contains: [ 5613 hljs.C_LINE_COMMENT_MODE, 5614 hljs.C_BLOCK_COMMENT_MODE, 5615 hljs.APOS_STRING_MODE, 5616 hljs.QUOTE_STRING_MODE, 5617 hljs.C_NUMBER_MODE, 5618 { 5619 className: 'meta', 5620 begin: '#', end: '$' 5621 }, 5622 { 5623 className: 'class', 5624 beginKeywords: 'class interface', end: '{', excludeEnd: true, 5625 illegal: ':', 5626 contains: [ 5627 {beginKeywords: 'extends implements'}, 5628 hljs.UNDERSCORE_TITLE_MODE 5629 ] 5630 } 5631 ] 5632 }; 5633 } 5634 },{name:"bash",create:/* 5635 Language: Bash 5636 Author: vah <vahtenberg@gmail.com> 5637 Contributrors: Benjamin Pannell <contact@sierrasoftworks.com> 5638 Category: common 5639 */ 5640 5641 function(hljs) { 5642 var VAR = { 5643 className: 'variable', 5644 variants: [ 5645 {begin: /\$[\w\d#@][\w\d_]*/}, 5646 {begin: /\$\{(.*?)}/} 5647 ] 5648 }; 5649 var QUOTE_STRING = { 5650 className: 'string', 5651 begin: /"/, end: /"/, 5652 contains: [ 5653 hljs.BACKSLASH_ESCAPE, 5654 VAR, 5655 { 5656 className: 'variable', 5657 begin: /\$\(/, end: /\)/, 5658 contains: [hljs.BACKSLASH_ESCAPE] 5659 } 5660 ] 5661 }; 5662 var ESCAPED_QUOTE = { 5663 className: '', 5664 begin: /\\"/ 5665 5666 }; 5667 var APOS_STRING = { 5668 className: 'string', 5669 begin: /'/, end: /'/ 5670 }; 5671 5672 return { 5673 aliases: ['sh', 'zsh'], 5674 lexemes: /\b-?[a-z\._]+\b/, 5675 keywords: { 5676 keyword: 5677 'if then else elif fi for while in do done case esac function', 5678 literal: 5679 'true false', 5680 built_in: 5681 // Shell built-ins 5682 // http://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html 5683 'break cd continue eval exec exit export getopts hash pwd readonly return shift test times ' + 5684 'trap umask unset ' + 5685 // Bash built-ins 5686 'alias bind builtin caller command declare echo enable help let local logout mapfile printf ' + 5687 'read readarray source type typeset ulimit unalias ' + 5688 // Shell modifiers 5689 'set shopt ' + 5690 // Zsh built-ins 5691 'autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles ' + 5692 'compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate ' + 5693 'fc fg float functions getcap getln history integer jobs kill limit log noglob popd print ' + 5694 'pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit ' + 5695 'unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof ' + 5696 'zpty zregexparse zsocket zstyle ztcp', 5697 _: 5698 '-ne -eq -lt -gt -f -d -e -s -l -a' // relevance booster 5699 }, 5700 contains: [ 5701 { 5702 className: 'meta', 5703 begin: /^#![^\n]+sh\s*$/, 5704 relevance: 10 5705 }, 5706 { 5707 className: 'function', 5708 begin: /\w[\w\d_]*\s*\(\s*\)\s*\{/, 5709 returnBegin: true, 5710 contains: [hljs.inherit(hljs.TITLE_MODE, {begin: /\w[\w\d_]*/})], 5711 relevance: 0 5712 }, 5713 hljs.HASH_COMMENT_MODE, 5714 QUOTE_STRING, 5715 ESCAPED_QUOTE, 5716 APOS_STRING, 5717 VAR 5718 ] 5719 }; 5720 } 5721 },{name:"basic",create:/* 5722 Language: Basic 5723 Author: Raphaël Assénat <raph@raphnet.net> 5724 Description: Based on the BASIC reference from the Tandy 1000 guide 5725 */ 5726 function(hljs) { 5727 return { 5728 case_insensitive: true, 5729 illegal: '^\.', 5730 // Support explicitely typed variables that end with $%! or #. 5731 lexemes: '[a-zA-Z][a-zA-Z0-9_\$\%\!\#]*', 5732 keywords: { 5733 keyword: 5734 'ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE ' + 5735 'CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ ' + 5736 'DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ ' + 5737 'EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO ' + 5738 'HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON ' + 5739 'OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET ' + 5740 'MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION ' + 5741 'BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET ' + 5742 'PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET ' + 5743 'RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP ' + 5744 'SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE ' + 5745 'WEND WIDTH WINDOW WRITE XOR' 5746 }, 5747 contains: [ 5748 hljs.QUOTE_STRING_MODE, 5749 hljs.COMMENT('REM', '$', {relevance: 10}), 5750 hljs.COMMENT('\'', '$', {relevance: 0}), 5751 { 5752 // Match line numbers 5753 className: 'symbol', 5754 begin: '^[0-9]+\ ', 5755 relevance: 10 5756 }, 5757 { 5758 // Match typed numeric constants (1000, 12.34!, 1.2e5, 1.5#, 1.2D2) 5759 className: 'number', 5760 begin: '\\b([0-9]+[0-9edED\.]*[#\!]?)', 5761 relevance: 0 5762 }, 5763 { 5764 // Match hexadecimal numbers (&Hxxxx) 5765 className: 'number', 5766 begin: '(\&[hH][0-9a-fA-F]{1,4})' 5767 }, 5768 { 5769 // Match octal numbers (&Oxxxxxx) 5770 className: 'number', 5771 begin: '(\&[oO][0-7]{1,6})' 5772 } 5773 ] 5774 }; 5775 } 5776 },{name:"bnf",create:/* 5777 Language: Backus–Naur Form 5778 Author: Oleg Efimov <efimovov@gmail.com> 5779 */ 5780 5781 function(hljs){ 5782 return { 5783 contains: [ 5784 // Attribute 5785 { 5786 className: 'attribute', 5787 begin: /</, end: />/ 5788 }, 5789 // Specific 5790 { 5791 begin: /::=/, 5792 starts: { 5793 end: /$/, 5794 contains: [ 5795 { 5796 begin: /</, end: />/ 5797 }, 5798 // Common 5799 hljs.C_LINE_COMMENT_MODE, 5800 hljs.C_BLOCK_COMMENT_MODE, 5801 hljs.APOS_STRING_MODE, 5802 hljs.QUOTE_STRING_MODE 5803 ] 5804 } 5805 } 5806 ] 5807 }; 5808 } 5809 },{name:"brainfuck",create:/* 5810 Language: Brainfuck 5811 Author: Evgeny Stepanischev <imbolk@gmail.com> 5812 */ 5813 5814 function(hljs){ 5815 var LITERAL = { 5816 className: 'literal', 5817 begin: '[\\+\\-]', 5818 relevance: 0 5819 }; 5820 return { 5821 aliases: ['bf'], 5822 contains: [ 5823 hljs.COMMENT( 5824 '[^\\[\\]\\.,\\+\\-<> \r\n]', 5825 '[\\[\\]\\.,\\+\\-<> \r\n]', 5826 { 5827 returnEnd: true, 5828 relevance: 0 5829 } 5830 ), 5831 { 5832 className: 'title', 5833 begin: '[\\[\\]]', 5834 relevance: 0 5835 }, 5836 { 5837 className: 'string', 5838 begin: '[\\.,]', 5839 relevance: 0 5840 }, 5841 { 5842 // this mode works as the only relevance counter 5843 begin: /\+\+|\-\-/, returnBegin: true, 5844 contains: [LITERAL] 5845 }, 5846 LITERAL 5847 ] 5848 }; 5849 } 5850 },{name:"cal",create:/* 5851 Language: C/AL 5852 Author: Kenneth Fuglsang Christensen <kfuglsang@gmail.com> 5853 Description: Provides highlighting of Microsoft Dynamics NAV C/AL code files 5854 */ 5855 5856 function(hljs) { 5857 var KEYWORDS = 5858 'div mod in and or not xor asserterror begin case do downto else end exit for if of repeat then to ' + 5859 'until while with var'; 5860 var LITERALS = 'false true'; 5861 var COMMENT_MODES = [ 5862 hljs.C_LINE_COMMENT_MODE, 5863 hljs.COMMENT( 5864 /\{/, 5865 /\}/, 5866 { 5867 relevance: 0 5868 } 5869 ), 5870 hljs.COMMENT( 5871 /\(\*/, 5872 /\*\)/, 5873 { 5874 relevance: 10 5875 } 5876 ) 5877 ]; 5878 var STRING = { 5879 className: 'string', 5880 begin: /'/, end: /'/, 5881 contains: [{begin: /''/}] 5882 }; 5883 var CHAR_STRING = { 5884 className: 'string', begin: /(#\d+)+/ 5885 }; 5886 var DATE = { 5887 className: 'number', 5888 begin: '\\b\\d+(\\.\\d+)?(DT|D|T)', 5889 relevance: 0 5890 }; 5891 var DBL_QUOTED_VARIABLE = { 5892 className: 'string', // not a string technically but makes sense to be highlighted in the same style 5893 begin: '"', 5894 end: '"' 5895 }; 5896 5897 var PROCEDURE = { 5898 className: 'function', 5899 beginKeywords: 'procedure', end: /[:;]/, 5900 keywords: 'procedure|10', 5901 contains: [ 5902 hljs.TITLE_MODE, 5903 { 5904 className: 'params', 5905 begin: /\(/, end: /\)/, 5906 keywords: KEYWORDS, 5907 contains: [STRING, CHAR_STRING] 5908 } 5909 ].concat(COMMENT_MODES) 5910 }; 5911 5912 var OBJECT = { 5913 className: 'class', 5914 begin: 'OBJECT (Table|Form|Report|Dataport|Codeunit|XMLport|MenuSuite|Page|Query) (\\d+) ([^\\r\\n]+)', 5915 returnBegin: true, 5916 contains: [ 5917 hljs.TITLE_MODE, 5918 PROCEDURE 5919 ] 5920 }; 5921 5922 return { 5923 case_insensitive: true, 5924 keywords: { keyword: KEYWORDS, literal: LITERALS }, 5925 illegal: /\/\*/, 5926 contains: [ 5927 STRING, CHAR_STRING, 5928 DATE, DBL_QUOTED_VARIABLE, 5929 hljs.NUMBER_MODE, 5930 OBJECT, 5931 PROCEDURE 5932 ] 5933 }; 5934 } 5935 },{name:"capnproto",create:/* 5936 Language: Cap’n Proto 5937 Author: Oleg Efimov <efimovov@gmail.com> 5938 Description: Cap’n Proto message definition format 5939 Category: protocols 5940 */ 5941 5942 function(hljs) { 5943 return { 5944 aliases: ['capnp'], 5945 keywords: { 5946 keyword: 5947 'struct enum interface union group import using const annotation extends in of on as with from fixed', 5948 built_in: 5949 'Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 ' + 5950 'Text Data AnyPointer AnyStruct Capability List', 5951 literal: 5952 'true false' 5953 }, 5954 contains: [ 5955 hljs.QUOTE_STRING_MODE, 5956 hljs.NUMBER_MODE, 5957 hljs.HASH_COMMENT_MODE, 5958 { 5959 className: 'meta', 5960 begin: /@0x[\w\d]{16};/, 5961 illegal: /\n/ 5962 }, 5963 { 5964 className: 'symbol', 5965 begin: /@\d+\b/ 5966 }, 5967 { 5968 className: 'class', 5969 beginKeywords: 'struct enum', end: /\{/, 5970 illegal: /\n/, 5971 contains: [ 5972 hljs.inherit(hljs.TITLE_MODE, { 5973 starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 5974 }) 5975 ] 5976 }, 5977 { 5978 className: 'class', 5979 beginKeywords: 'interface', end: /\{/, 5980 illegal: /\n/, 5981 contains: [ 5982 hljs.inherit(hljs.TITLE_MODE, { 5983 starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 5984 }) 5985 ] 5986 } 5987 ] 5988 }; 5989 } 5990 },{name:"ceylon",create:/* 5991 Language: Ceylon 5992 Author: Lucas Werkmeister <mail@lucaswerkmeister.de> 5993 */ 5994 function(hljs) { 5995 // 2.3. Identifiers and keywords 5996 var KEYWORDS = 5997 'assembly module package import alias class interface object given value ' + 5998 'assign void function new of extends satisfies abstracts in out return ' + 5999 'break continue throw assert dynamic if else switch case for while try ' + 6000 'catch finally then let this outer super is exists nonempty'; 6001 // 7.4.1 Declaration Modifiers 6002 var DECLARATION_MODIFIERS = 6003 'shared abstract formal default actual variable late native deprecated' + 6004 'final sealed annotation suppressWarnings small'; 6005 // 7.4.2 Documentation 6006 var DOCUMENTATION = 6007 'doc by license see throws tagged'; 6008 var SUBST = { 6009 className: 'subst', excludeBegin: true, excludeEnd: true, 6010 begin: /``/, end: /``/, 6011 keywords: KEYWORDS, 6012 relevance: 10 6013 }; 6014 var EXPRESSIONS = [ 6015 { 6016 // verbatim string 6017 className: 'string', 6018 begin: '"""', 6019 end: '"""', 6020 relevance: 10 6021 }, 6022 { 6023 // string literal or template 6024 className: 'string', 6025 begin: '"', end: '"', 6026 contains: [SUBST] 6027 }, 6028 { 6029 // character literal 6030 className: 'string', 6031 begin: "'", 6032 end: "'" 6033 }, 6034 { 6035 // numeric literal 6036 className: 'number', 6037 begin: '#[0-9a-fA-F_]+|\\$[01_]+|[0-9_]+(?:\\.[0-9_](?:[eE][+-]?\\d+)?)?[kMGTPmunpf]?', 6038 relevance: 0 6039 } 6040 ]; 6041 SUBST.contains = EXPRESSIONS; 6042 6043 return { 6044 keywords: { 6045 keyword: KEYWORDS + ' ' + DECLARATION_MODIFIERS, 6046 meta: DOCUMENTATION 6047 }, 6048 illegal: '\\$[^01]|#[^0-9a-fA-F]', 6049 contains: [ 6050 hljs.C_LINE_COMMENT_MODE, 6051 hljs.COMMENT('/\\*', '\\*/', {contains: ['self']}), 6052 { 6053 // compiler annotation 6054 className: 'meta', 6055 begin: '@[a-z]\\w*(?:\\:\"[^\"]*\")?' 6056 } 6057 ].concat(EXPRESSIONS) 6058 }; 6059 } 6060 },{name:"clean",create:/* 6061 Language: Clean 6062 Author: Camil Staps <info@camilstaps.nl> 6063 Category: functional 6064 Website: http://clean.cs.ru.nl 6065 */ 6066 6067 function(hljs) { 6068 return { 6069 aliases: ['clean','icl','dcl'], 6070 keywords: { 6071 keyword: 6072 'if let in with where case of class instance otherwise ' + 6073 'implementation definition system module from import qualified as ' + 6074 'special code inline foreign export ccall stdcall generic derive ' + 6075 'infix infixl infixr', 6076 built_in: 6077 'Int Real Char Bool', 6078 literal: 6079 'True False' 6080 }, 6081 contains: [ 6082 6083 hljs.C_LINE_COMMENT_MODE, 6084 hljs.C_BLOCK_COMMENT_MODE, 6085 hljs.APOS_STRING_MODE, 6086 hljs.QUOTE_STRING_MODE, 6087 hljs.C_NUMBER_MODE, 6088 6089 {begin: '->|<-[|:]?|#!?|>>=|\\{\\||\\|\\}|:==|=:|<>'} // relevance booster 6090 ] 6091 }; 6092 } 6093 },{name:"clojure-repl",create:/* 6094 Language: Clojure REPL 6095 Description: Clojure REPL sessions 6096 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 6097 Requires: clojure.js 6098 Category: lisp 6099 */ 6100 6101 function(hljs) { 6102 return { 6103 contains: [ 6104 { 6105 className: 'meta', 6106 begin: /^([\w.-]+|\s*#_)?=>/, 6107 starts: { 6108 end: /$/, 6109 subLanguage: 'clojure' 6110 } 6111 } 6112 ] 6113 } 6114 } 6115 },{name:"clojure",create:/* 6116 Language: Clojure 6117 Description: Clojure syntax (based on lisp.js) 6118 Author: mfornos 6119 Contributors: Martin Clausen <martin.clausene@gmail.com> 6120 Category: lisp 6121 */ 6122 6123 function(hljs) { 6124 var keywords = { 6125 'builtin-name': 6126 // Clojure keywords 6127 'def defonce cond apply if-not if-let if not not= = < > <= >= == + / * - rem '+ 6128 'quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? '+ 6129 'set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? '+ 6130 'class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? '+ 6131 'string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . '+ 6132 'inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last '+ 6133 'drop-while while intern condp case reduced cycle split-at split-with repeat replicate '+ 6134 'iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext '+ 6135 'nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends '+ 6136 'add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler '+ 6137 'set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter '+ 6138 'monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or '+ 6139 'when when-not when-let comp juxt partial sequence memoize constantly complement identity assert '+ 6140 'peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast '+ 6141 'sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import '+ 6142 'refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! '+ 6143 'assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger '+ 6144 'bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline '+ 6145 'flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking '+ 6146 'assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! '+ 6147 'reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! '+ 6148 'new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty '+ 6149 'hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list '+ 6150 'disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer '+ 6151 'chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate '+ 6152 'unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta '+ 6153 'lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize' 6154 }; 6155 6156 var SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\''; 6157 var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*'; 6158 var SIMPLE_NUMBER_RE = '[-+]?\\d+(\\.\\d+)?'; 6159 6160 var SYMBOL = { 6161 begin: SYMBOL_RE, 6162 relevance: 0 6163 }; 6164 var NUMBER = { 6165 className: 'number', begin: SIMPLE_NUMBER_RE, 6166 relevance: 0 6167 }; 6168 var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}); 6169 var COMMENT = hljs.COMMENT( 6170 ';', 6171 '$', 6172 { 6173 relevance: 0 6174 } 6175 ); 6176 var LITERAL = { 6177 className: 'literal', 6178 begin: /\b(true|false|nil)\b/ 6179 }; 6180 var COLLECTION = { 6181 begin: '[\\[\\{]', end: '[\\]\\}]' 6182 }; 6183 var HINT = { 6184 className: 'comment', 6185 begin: '\\^' + SYMBOL_RE 6186 }; 6187 var HINT_COL = hljs.COMMENT('\\^\\{', '\\}'); 6188 var KEY = { 6189 className: 'symbol', 6190 begin: '[:]{1,2}' + SYMBOL_RE 6191 }; 6192 var LIST = { 6193 begin: '\\(', end: '\\)' 6194 }; 6195 var BODY = { 6196 endsWithParent: true, 6197 relevance: 0 6198 }; 6199 var NAME = { 6200 keywords: keywords, 6201 lexemes: SYMBOL_RE, 6202 className: 'name', begin: SYMBOL_RE, 6203 starts: BODY 6204 }; 6205 var DEFAULT_CONTAINS = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL, SYMBOL]; 6206 6207 LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY]; 6208 BODY.contains = DEFAULT_CONTAINS; 6209 COLLECTION.contains = DEFAULT_CONTAINS; 6210 HINT_COL.contains = [COLLECTION]; 6211 6212 return { 6213 aliases: ['clj'], 6214 illegal: /\S/, 6215 contains: [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL] 6216 } 6217 } 6218 },{name:"cmake",create:/* 6219 Language: CMake 6220 Description: CMake is an open-source cross-platform system for build automation. 6221 Author: Igor Kalnitsky <igor@kalnitsky.org> 6222 Website: http://kalnitsky.org/ 6223 */ 6224 6225 function(hljs) { 6226 return { 6227 aliases: ['cmake.in'], 6228 case_insensitive: true, 6229 keywords: { 6230 keyword: 6231 // scripting commands 6232 'break cmake_host_system_information cmake_minimum_required cmake_parse_arguments ' + 6233 'cmake_policy configure_file continue elseif else endforeach endfunction endif endmacro ' + 6234 'endwhile execute_process file find_file find_library find_package find_path ' + 6235 'find_program foreach function get_cmake_property get_directory_property ' + 6236 'get_filename_component get_property if include include_guard list macro ' + 6237 'mark_as_advanced math message option return separate_arguments ' + 6238 'set_directory_properties set_property set site_name string unset variable_watch while ' + 6239 // project commands 6240 'add_compile_definitions add_compile_options add_custom_command add_custom_target ' + 6241 'add_definitions add_dependencies add_executable add_library add_link_options ' + 6242 'add_subdirectory add_test aux_source_directory build_command create_test_sourcelist ' + 6243 'define_property enable_language enable_testing export fltk_wrap_ui ' + 6244 'get_source_file_property get_target_property get_test_property include_directories ' + 6245 'include_external_msproject include_regular_expression install link_directories ' + 6246 'link_libraries load_cache project qt_wrap_cpp qt_wrap_ui remove_definitions ' + 6247 'set_source_files_properties set_target_properties set_tests_properties source_group ' + 6248 'target_compile_definitions target_compile_features target_compile_options ' + 6249 'target_include_directories target_link_directories target_link_libraries ' + 6250 'target_link_options target_sources try_compile try_run ' + 6251 // CTest commands 6252 'ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ' + 6253 'ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ' + 6254 'ctest_test ctest_update ctest_upload ' + 6255 // deprecated commands 6256 'build_name exec_program export_library_dependencies install_files install_programs ' + 6257 'install_targets load_command make_directory output_required_files remove ' + 6258 'subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file ' + 6259 'qt5_use_modules qt5_use_package qt5_wrap_cpp ' + 6260 // core keywords 6261 'on off true false and or not command policy target test exists is_newer_than ' + 6262 'is_directory is_symlink is_absolute matches less greater equal less_equal ' + 6263 'greater_equal strless strgreater strequal strless_equal strgreater_equal version_less ' + 6264 'version_greater version_equal version_less_equal version_greater_equal in_list defined' 6265 }, 6266 contains: [ 6267 { 6268 className: 'variable', 6269 begin: '\\${', end: '}' 6270 }, 6271 hljs.HASH_COMMENT_MODE, 6272 hljs.QUOTE_STRING_MODE, 6273 hljs.NUMBER_MODE 6274 ] 6275 }; 6276 } 6277 },{name:"coffeescript",create:/* 6278 Language: CoffeeScript 6279 Author: Dmytrii Nagirniak <dnagir@gmail.com> 6280 Contributors: Oleg Efimov <efimovov@gmail.com>, Cédric Néhémie <cedric.nehemie@gmail.com> 6281 Description: CoffeeScript is a programming language that transcompiles to JavaScript. For info about language see http://coffeescript.org/ 6282 Category: common, scripting 6283 */ 6284 6285 function(hljs) { 6286 var KEYWORDS = { 6287 keyword: 6288 // JS keywords 6289 'in if for while finally new do return else break catch instanceof throw try this ' + 6290 'switch continue typeof delete debugger super yield import export from as default await ' + 6291 // Coffee keywords 6292 'then unless until loop of by when and or is isnt not', 6293 literal: 6294 // JS literals 6295 'true false null undefined ' + 6296 // Coffee literals 6297 'yes no on off', 6298 built_in: 6299 'npm require console print module global window document' 6300 }; 6301 var JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*'; 6302 var SUBST = { 6303 className: 'subst', 6304 begin: /#\{/, end: /}/, 6305 keywords: KEYWORDS 6306 }; 6307 var EXPRESSIONS = [ 6308 hljs.BINARY_NUMBER_MODE, 6309 hljs.inherit(hljs.C_NUMBER_MODE, {starts: {end: '(\\s*/)?', relevance: 0}}), // a number tries to eat the following slash to prevent treating it as a regexp 6310 { 6311 className: 'string', 6312 variants: [ 6313 { 6314 begin: /'''/, end: /'''/, 6315 contains: [hljs.BACKSLASH_ESCAPE] 6316 }, 6317 { 6318 begin: /'/, end: /'/, 6319 contains: [hljs.BACKSLASH_ESCAPE] 6320 }, 6321 { 6322 begin: /"""/, end: /"""/, 6323 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 6324 }, 6325 { 6326 begin: /"/, end: /"/, 6327 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 6328 } 6329 ] 6330 }, 6331 { 6332 className: 'regexp', 6333 variants: [ 6334 { 6335 begin: '///', end: '///', 6336 contains: [SUBST, hljs.HASH_COMMENT_MODE] 6337 }, 6338 { 6339 begin: '//[gim]*', 6340 relevance: 0 6341 }, 6342 { 6343 // regex can't start with space to parse x / 2 / 3 as two divisions 6344 // regex can't start with *, and it supports an "illegal" in the main mode 6345 begin: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/ 6346 } 6347 ] 6348 }, 6349 { 6350 begin: '@' + JS_IDENT_RE // relevance booster 6351 }, 6352 { 6353 subLanguage: 'javascript', 6354 excludeBegin: true, excludeEnd: true, 6355 variants: [ 6356 { 6357 begin: '```', end: '```', 6358 }, 6359 { 6360 begin: '`', end: '`', 6361 } 6362 ] 6363 } 6364 ]; 6365 SUBST.contains = EXPRESSIONS; 6366 6367 var TITLE = hljs.inherit(hljs.TITLE_MODE, {begin: JS_IDENT_RE}); 6368 var PARAMS_RE = '(\\(.*\\))?\\s*\\B[-=]>'; 6369 var PARAMS = { 6370 className: 'params', 6371 begin: '\\([^\\(]', returnBegin: true, 6372 /* We need another contained nameless mode to not have every nested 6373 pair of parens to be called "params" */ 6374 contains: [{ 6375 begin: /\(/, end: /\)/, 6376 keywords: KEYWORDS, 6377 contains: ['self'].concat(EXPRESSIONS) 6378 }] 6379 }; 6380 6381 return { 6382 aliases: ['coffee', 'cson', 'iced'], 6383 keywords: KEYWORDS, 6384 illegal: /\/\*/, 6385 contains: EXPRESSIONS.concat([ 6386 hljs.COMMENT('###', '###'), 6387 hljs.HASH_COMMENT_MODE, 6388 { 6389 className: 'function', 6390 begin: '^\\s*' + JS_IDENT_RE + '\\s*=\\s*' + PARAMS_RE, end: '[-=]>', 6391 returnBegin: true, 6392 contains: [TITLE, PARAMS] 6393 }, 6394 { 6395 // anonymous function start 6396 begin: /[:\(,=]\s*/, 6397 relevance: 0, 6398 contains: [ 6399 { 6400 className: 'function', 6401 begin: PARAMS_RE, end: '[-=]>', 6402 returnBegin: true, 6403 contains: [PARAMS] 6404 } 6405 ] 6406 }, 6407 { 6408 className: 'class', 6409 beginKeywords: 'class', 6410 end: '$', 6411 illegal: /[:="\[\]]/, 6412 contains: [ 6413 { 6414 beginKeywords: 'extends', 6415 endsWithParent: true, 6416 illegal: /[:="\[\]]/, 6417 contains: [TITLE] 6418 }, 6419 TITLE 6420 ] 6421 }, 6422 { 6423 begin: JS_IDENT_RE + ':', end: ':', 6424 returnBegin: true, returnEnd: true, 6425 relevance: 0 6426 } 6427 ]) 6428 }; 6429 } 6430 },{name:"coq",create:/* 6431 Language: Coq 6432 Author: Stephan Boyer <stephan@stephanboyer.com> 6433 Category: functional 6434 */ 6435 6436 function(hljs) { 6437 return { 6438 keywords: { 6439 keyword: 6440 '_ as at cofix else end exists exists2 fix for forall fun if IF in let ' + 6441 'match mod Prop return Set then Type using where with ' + 6442 'Abort About Add Admit Admitted All Arguments Assumptions Axiom Back BackTo ' + 6443 'Backtrack Bind Blacklist Canonical Cd Check Class Classes Close Coercion ' + 6444 'Coercions CoFixpoint CoInductive Collection Combined Compute Conjecture ' + 6445 'Conjectures Constant constr Constraint Constructors Context Corollary ' + 6446 'CreateHintDb Cut Declare Defined Definition Delimit Dependencies Dependent' + 6447 'Derive Drop eauto End Equality Eval Example Existential Existentials ' + 6448 'Existing Export exporting Extern Extract Extraction Fact Field Fields File ' + 6449 'Fixpoint Focus for From Function Functional Generalizable Global Goal Grab ' + 6450 'Grammar Graph Guarded Heap Hint HintDb Hints Hypotheses Hypothesis ident ' + 6451 'Identity If Immediate Implicit Import Include Inductive Infix Info Initial ' + 6452 'Inline Inspect Instance Instances Intro Intros Inversion Inversion_clear ' + 6453 'Language Left Lemma Let Libraries Library Load LoadPath Local Locate Ltac ML ' + 6454 'Mode Module Modules Monomorphic Morphism Next NoInline Notation Obligation ' + 6455 'Obligations Opaque Open Optimize Options Parameter Parameters Parametric ' + 6456 'Path Paths pattern Polymorphic Preterm Print Printing Program Projections ' + 6457 'Proof Proposition Pwd Qed Quit Rec Record Recursive Redirect Relation Remark ' + 6458 'Remove Require Reserved Reset Resolve Restart Rewrite Right Ring Rings Save ' + 6459 'Scheme Scope Scopes Script Search SearchAbout SearchHead SearchPattern ' + 6460 'SearchRewrite Section Separate Set Setoid Show Solve Sorted Step Strategies ' + 6461 'Strategy Structure SubClass Table Tables Tactic Term Test Theorem Time ' + 6462 'Timeout Transparent Type Typeclasses Types Undelimit Undo Unfocus Unfocused ' + 6463 'Unfold Universe Universes Unset Unshelve using Variable Variables Variant ' + 6464 'Verbose Visibility where with', 6465 built_in: 6466 'abstract absurd admit after apply as assert assumption at auto autorewrite ' + 6467 'autounfold before bottom btauto by case case_eq cbn cbv change ' + 6468 'classical_left classical_right clear clearbody cofix compare compute ' + 6469 'congruence constr_eq constructor contradict contradiction cut cutrewrite ' + 6470 'cycle decide decompose dependent destruct destruction dintuition ' + 6471 'discriminate discrR do double dtauto eapply eassumption eauto ecase ' + 6472 'econstructor edestruct ediscriminate eelim eexact eexists einduction ' + 6473 'einjection eleft elim elimtype enough equality erewrite eright ' + 6474 'esimplify_eq esplit evar exact exactly_once exfalso exists f_equal fail ' + 6475 'field field_simplify field_simplify_eq first firstorder fix fold fourier ' + 6476 'functional generalize generalizing gfail give_up has_evar hnf idtac in ' + 6477 'induction injection instantiate intro intro_pattern intros intuition ' + 6478 'inversion inversion_clear is_evar is_var lapply lazy left lia lra move ' + 6479 'native_compute nia nsatz omega once pattern pose progress proof psatz quote ' + 6480 'record red refine reflexivity remember rename repeat replace revert ' + 6481 'revgoals rewrite rewrite_strat right ring ring_simplify rtauto set ' + 6482 'setoid_reflexivity setoid_replace setoid_rewrite setoid_symmetry ' + 6483 'setoid_transitivity shelve shelve_unifiable simpl simple simplify_eq solve ' + 6484 'specialize split split_Rabs split_Rmult stepl stepr subst sum swap ' + 6485 'symmetry tactic tauto time timeout top transitivity trivial try tryif ' + 6486 'unfold unify until using vm_compute with' 6487 }, 6488 contains: [ 6489 hljs.QUOTE_STRING_MODE, 6490 hljs.COMMENT('\\(\\*', '\\*\\)'), 6491 hljs.C_NUMBER_MODE, 6492 { 6493 className: 'type', 6494 excludeBegin: true, 6495 begin: '\\|\\s*', 6496 end: '\\w+' 6497 }, 6498 {begin: /[-=]>/} // relevance booster 6499 ] 6500 }; 6501 } 6502 },{name:"cos",create:/* 6503 Language: Caché Object Script 6504 Author: Nikita Savchenko <zitros.lab@gmail.com> 6505 Category: enterprise, scripting 6506 */ 6507 function cos (hljs) { 6508 6509 var STRINGS = { 6510 className: 'string', 6511 variants: [ 6512 { 6513 begin: '"', 6514 end: '"', 6515 contains: [{ // escaped 6516 begin: "\"\"", 6517 relevance: 0 6518 }] 6519 } 6520 ] 6521 }; 6522 6523 var NUMBERS = { 6524 className: "number", 6525 begin: "\\b(\\d+(\\.\\d*)?|\\.\\d+)", 6526 relevance: 0 6527 }; 6528 6529 var COS_KEYWORDS = 6530 'property parameter class classmethod clientmethod extends as break ' + 6531 'catch close continue do d|0 else elseif for goto halt hang h|0 if job ' + 6532 'j|0 kill k|0 lock l|0 merge new open quit q|0 read r|0 return set s|0 ' + 6533 'tcommit throw trollback try tstart use view while write w|0 xecute x|0 ' + 6534 'zkill znspace zn ztrap zwrite zw zzdump zzwrite print zbreak zinsert ' + 6535 'zload zprint zremove zsave zzprint mv mvcall mvcrt mvdim mvprint zquit ' + 6536 'zsync ascii'; 6537 6538 // registered function - no need in them due to all functions are highlighted, 6539 // but I'll just leave this here. 6540 6541 //"$bit", "$bitcount", 6542 //"$bitfind", "$bitlogic", "$case", "$char", "$classmethod", "$classname", 6543 //"$compile", "$data", "$decimal", "$double", "$extract", "$factor", 6544 //"$find", "$fnumber", "$get", "$increment", "$inumber", "$isobject", 6545 //"$isvaliddouble", "$isvalidnum", "$justify", "$length", "$list", 6546 //"$listbuild", "$listdata", "$listfind", "$listfromstring", "$listget", 6547 //"$listlength", "$listnext", "$listsame", "$listtostring", "$listvalid", 6548 //"$locate", "$match", "$method", "$name", "$nconvert", "$next", 6549 //"$normalize", "$now", "$number", "$order", "$parameter", "$piece", 6550 //"$prefetchoff", "$prefetchon", "$property", "$qlength", "$qsubscript", 6551 //"$query", "$random", "$replace", "$reverse", "$sconvert", "$select", 6552 //"$sortbegin", "$sortend", "$stack", "$text", "$translate", "$view", 6553 //"$wascii", "$wchar", "$wextract", "$wfind", "$wiswide", "$wlength", 6554 //"$wreverse", "$xecute", "$zabs", "$zarccos", "$zarcsin", "$zarctan", 6555 //"$zcos", "$zcot", "$zcsc", "$zdate", "$zdateh", "$zdatetime", 6556 //"$zdatetimeh", "$zexp", "$zhex", "$zln", "$zlog", "$zpower", "$zsec", 6557 //"$zsin", "$zsqr", "$ztan", "$ztime", "$ztimeh", "$zboolean", 6558 //"$zconvert", "$zcrc", "$zcyc", "$zdascii", "$zdchar", "$zf", 6559 //"$ziswide", "$zlascii", "$zlchar", "$zname", "$zposition", "$zqascii", 6560 //"$zqchar", "$zsearch", "$zseek", "$zstrip", "$zwascii", "$zwchar", 6561 //"$zwidth", "$zwpack", "$zwbpack", "$zwunpack", "$zwbunpack", "$zzenkaku", 6562 //"$change", "$mv", "$mvat", "$mvfmt", "$mvfmts", "$mviconv", 6563 //"$mviconvs", "$mvinmat", "$mvlover", "$mvoconv", "$mvoconvs", "$mvraise", 6564 //"$mvtrans", "$mvv", "$mvname", "$zbitand", "$zbitcount", "$zbitfind", 6565 //"$zbitget", "$zbitlen", "$zbitnot", "$zbitor", "$zbitset", "$zbitstr", 6566 //"$zbitxor", "$zincrement", "$znext", "$zorder", "$zprevious", "$zsort", 6567 //"device", "$ecode", "$estack", "$etrap", "$halt", "$horolog", 6568 //"$io", "$job", "$key", "$namespace", "$principal", "$quit", "$roles", 6569 //"$storage", "$system", "$test", "$this", "$tlevel", "$username", 6570 //"$x", "$y", "$za", "$zb", "$zchild", "$zeof", "$zeos", "$zerror", 6571 //"$zhorolog", "$zio", "$zjob", "$zmode", "$znspace", "$zparent", "$zpi", 6572 //"$zpos", "$zreference", "$zstorage", "$ztimestamp", "$ztimezone", 6573 //"$ztrap", "$zversion" 6574 6575 return { 6576 case_insensitive: true, 6577 aliases: ["cos", "cls"], 6578 keywords: COS_KEYWORDS, 6579 contains: [ 6580 NUMBERS, 6581 STRINGS, 6582 hljs.C_LINE_COMMENT_MODE, 6583 hljs.C_BLOCK_COMMENT_MODE, 6584 { 6585 className: "comment", 6586 begin: /;/, end: "$", 6587 relevance: 0 6588 }, 6589 { // Functions and user-defined functions: write $ztime(60*60*3), $$myFunc(10), $$^Val(1) 6590 className: "built_in", 6591 begin: /(?:\$\$?|\.\.)\^?[a-zA-Z]+/ 6592 }, 6593 { // Macro command: quit $$$OK 6594 className: "built_in", 6595 begin: /\$\$\$[a-zA-Z]+/ 6596 }, 6597 { // Special (global) variables: write %request.Content; Built-in classes: %Library.Integer 6598 className: "built_in", 6599 begin: /%[a-z]+(?:\.[a-z]+)*/ 6600 }, 6601 { // Global variable: set ^globalName = 12 write ^globalName 6602 className: "symbol", 6603 begin: /\^%?[a-zA-Z][\w]*/ 6604 }, 6605 { // Some control constructions: do ##class(Package.ClassName).Method(), ##super() 6606 className: "keyword", 6607 begin: /##class|##super|#define|#dim/ 6608 }, 6609 6610 // sub-languages: are not fully supported by hljs by 11/15/2015 6611 // left for the future implementation. 6612 { 6613 begin: /&sql\(/, end: /\)/, 6614 excludeBegin: true, excludeEnd: true, 6615 subLanguage: "sql" 6616 }, 6617 { 6618 begin: /&(js|jscript|javascript)</, end: />/, 6619 excludeBegin: true, excludeEnd: true, 6620 subLanguage: "javascript" 6621 }, 6622 { 6623 // this brakes first and last tag, but this is the only way to embed a valid html 6624 begin: /&html<\s*</, end: />\s*>/, 6625 subLanguage: "xml" 6626 } 6627 ] 6628 }; 6629 } 6630 },{name:"crmsh",create:/* 6631 Language: crmsh 6632 Author: Kristoffer Gronlund <kgronlund@suse.com> 6633 Website: http://crmsh.github.io 6634 Description: Syntax Highlighting for the crmsh DSL 6635 Category: config 6636 */ 6637 6638 function(hljs) { 6639 var RESOURCES = 'primitive rsc_template'; 6640 6641 var COMMANDS = 'group clone ms master location colocation order fencing_topology ' + 6642 'rsc_ticket acl_target acl_group user role ' + 6643 'tag xml'; 6644 6645 var PROPERTY_SETS = 'property rsc_defaults op_defaults'; 6646 6647 var KEYWORDS = 'params meta operations op rule attributes utilization'; 6648 6649 var OPERATORS = 'read write deny defined not_defined in_range date spec in ' + 6650 'ref reference attribute type xpath version and or lt gt tag ' + 6651 'lte gte eq ne \\'; 6652 6653 var TYPES = 'number string'; 6654 6655 var LITERALS = 'Master Started Slave Stopped start promote demote stop monitor true false'; 6656 6657 return { 6658 aliases: ['crm', 'pcmk'], 6659 case_insensitive: true, 6660 keywords: { 6661 keyword: KEYWORDS + ' ' + OPERATORS + ' ' + TYPES, 6662 literal: LITERALS 6663 }, 6664 contains: [ 6665 hljs.HASH_COMMENT_MODE, 6666 { 6667 beginKeywords: 'node', 6668 starts: { 6669 end: '\\s*([\\w_-]+:)?', 6670 starts: { 6671 className: 'title', 6672 end: '\\s*[\\$\\w_][\\w_-]*' 6673 } 6674 } 6675 }, 6676 { 6677 beginKeywords: RESOURCES, 6678 starts: { 6679 className: 'title', 6680 end: '\\s*[\\$\\w_][\\w_-]*', 6681 starts: { 6682 end: '\\s*@?[\\w_][\\w_\\.:-]*' 6683 } 6684 } 6685 }, 6686 { 6687 begin: '\\b(' + COMMANDS.split(' ').join('|') + ')\\s+', 6688 keywords: COMMANDS, 6689 starts: { 6690 className: 'title', 6691 end: '[\\$\\w_][\\w_-]*' 6692 } 6693 }, 6694 { 6695 beginKeywords: PROPERTY_SETS, 6696 starts: { 6697 className: 'title', 6698 end: '\\s*([\\w_-]+:)?' 6699 } 6700 }, 6701 hljs.QUOTE_STRING_MODE, 6702 { 6703 className: 'meta', 6704 begin: '(ocf|systemd|service|lsb):[\\w_:-]+', 6705 relevance: 0 6706 }, 6707 { 6708 className: 'number', 6709 begin: '\\b\\d+(\\.\\d+)?(ms|s|h|m)?', 6710 relevance: 0 6711 }, 6712 { 6713 className: 'literal', 6714 begin: '[-]?(infinity|inf)', 6715 relevance: 0 6716 }, 6717 { 6718 className: 'attr', 6719 begin: /([A-Za-z\$_\#][\w_-]+)=/, 6720 relevance: 0 6721 }, 6722 { 6723 className: 'tag', 6724 begin: '</?', 6725 end: '/?>', 6726 relevance: 0 6727 } 6728 ] 6729 }; 6730 } 6731 },{name:"crystal",create:/* 6732 Language: Crystal 6733 Author: TSUYUSATO Kitsune <make.just.on@gmail.com> 6734 */ 6735 6736 function(hljs) { 6737 var INT_SUFFIX = '(_*[ui](8|16|32|64|128))?'; 6738 var FLOAT_SUFFIX = '(_*f(32|64))?'; 6739 var CRYSTAL_IDENT_RE = '[a-zA-Z_]\\w*[!?=]?'; 6740 var CRYSTAL_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~|]|//|//=|&[-+*]=?|&\\*\\*|\\[\\][=?]?'; 6741 var CRYSTAL_PATH_RE = '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?'; 6742 var CRYSTAL_KEYWORDS = { 6743 keyword: 6744 'abstract alias annotation as as? asm begin break case class def do else elsif end ensure enum extend for fun if ' + 6745 'include instance_sizeof is_a? lib macro module next nil? of out pointerof private protected rescue responds_to? ' + 6746 'return require select self sizeof struct super then type typeof union uninitialized unless until verbatim when while with yield ' + 6747 '__DIR__ __END_LINE__ __FILE__ __LINE__', 6748 literal: 'false nil true' 6749 }; 6750 var SUBST = { 6751 className: 'subst', 6752 begin: '#{', end: '}', 6753 keywords: CRYSTAL_KEYWORDS 6754 }; 6755 var EXPANSION = { 6756 className: 'template-variable', 6757 variants: [ 6758 {begin: '\\{\\{', end: '\\}\\}'}, 6759 {begin: '\\{%', end: '%\\}'} 6760 ], 6761 keywords: CRYSTAL_KEYWORDS 6762 }; 6763 6764 function recursiveParen(begin, end) { 6765 var 6766 contains = [{begin: begin, end: end}]; 6767 contains[0].contains = contains; 6768 return contains; 6769 } 6770 var STRING = { 6771 className: 'string', 6772 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 6773 variants: [ 6774 {begin: /'/, end: /'/}, 6775 {begin: /"/, end: /"/}, 6776 {begin: /`/, end: /`/}, 6777 {begin: '%[Qwi]?\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')}, 6778 {begin: '%[Qwi]?\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')}, 6779 {begin: '%[Qwi]?{', end: '}', contains: recursiveParen('{', '}')}, 6780 {begin: '%[Qwi]?<', end: '>', contains: recursiveParen('<', '>')}, 6781 {begin: '%[Qwi]?\\|', end: '\\|'}, 6782 {begin: /<<-\w+$/, end: /^\s*\w+$/}, 6783 ], 6784 relevance: 0, 6785 }; 6786 var Q_STRING = { 6787 className: 'string', 6788 variants: [ 6789 {begin: '%q\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')}, 6790 {begin: '%q\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')}, 6791 {begin: '%q{', end: '}', contains: recursiveParen('{', '}')}, 6792 {begin: '%q<', end: '>', contains: recursiveParen('<', '>')}, 6793 {begin: '%q\\|', end: '\\|'}, 6794 {begin: /<<-'\w+'$/, end: /^\s*\w+$/}, 6795 ], 6796 relevance: 0, 6797 }; 6798 var REGEXP = { 6799 begin: '(?!%})(' + hljs.RE_STARTERS_RE + '|\\n|\\b(case|if|select|unless|until|when|while)\\b)\\s*', 6800 keywords: 'case if select unless until when while', 6801 contains: [ 6802 { 6803 className: 'regexp', 6804 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 6805 variants: [ 6806 {begin: '//[a-z]*', relevance: 0}, 6807 {begin: '/(?!\\/)', end: '/[a-z]*'}, 6808 ] 6809 } 6810 ], 6811 relevance: 0 6812 }; 6813 var REGEXP2 = { 6814 className: 'regexp', 6815 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 6816 variants: [ 6817 {begin: '%r\\(', end: '\\)', contains: recursiveParen('\\(', '\\)')}, 6818 {begin: '%r\\[', end: '\\]', contains: recursiveParen('\\[', '\\]')}, 6819 {begin: '%r{', end: '}', contains: recursiveParen('{', '}')}, 6820 {begin: '%r<', end: '>', contains: recursiveParen('<', '>')}, 6821 {begin: '%r\\|', end: '\\|'}, 6822 ], 6823 relevance: 0 6824 }; 6825 var ATTRIBUTE = { 6826 className: 'meta', 6827 begin: '@\\[', end: '\\]', 6828 contains: [ 6829 hljs.inherit(hljs.QUOTE_STRING_MODE, {className: 'meta-string'}) 6830 ] 6831 }; 6832 var CRYSTAL_DEFAULT_CONTAINS = [ 6833 EXPANSION, 6834 STRING, 6835 Q_STRING, 6836 REGEXP2, 6837 REGEXP, 6838 ATTRIBUTE, 6839 hljs.HASH_COMMENT_MODE, 6840 { 6841 className: 'class', 6842 beginKeywords: 'class module struct', end: '$|;', 6843 illegal: /=/, 6844 contains: [ 6845 hljs.HASH_COMMENT_MODE, 6846 hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}), 6847 {begin: '<'} // relevance booster for inheritance 6848 ] 6849 }, 6850 { 6851 className: 'class', 6852 beginKeywords: 'lib enum union', end: '$|;', 6853 illegal: /=/, 6854 contains: [ 6855 hljs.HASH_COMMENT_MODE, 6856 hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}), 6857 ], 6858 relevance: 10 6859 }, 6860 { 6861 beginKeywords: 'annotation', end: '$|;', 6862 illegal: /=/, 6863 contains: [ 6864 hljs.HASH_COMMENT_MODE, 6865 hljs.inherit(hljs.TITLE_MODE, {begin: CRYSTAL_PATH_RE}), 6866 ], 6867 relevance: 10 6868 }, 6869 { 6870 className: 'function', 6871 beginKeywords: 'def', end: /\B\b/, 6872 contains: [ 6873 hljs.inherit(hljs.TITLE_MODE, { 6874 begin: CRYSTAL_METHOD_RE, 6875 endsParent: true 6876 }) 6877 ] 6878 }, 6879 { 6880 className: 'function', 6881 beginKeywords: 'fun macro', end: /\B\b/, 6882 contains: [ 6883 hljs.inherit(hljs.TITLE_MODE, { 6884 begin: CRYSTAL_METHOD_RE, 6885 endsParent: true 6886 }) 6887 ], 6888 relevance: 5 6889 }, 6890 { 6891 className: 'symbol', 6892 begin: hljs.UNDERSCORE_IDENT_RE + '(\\!|\\?)?:', 6893 relevance: 0 6894 }, 6895 { 6896 className: 'symbol', 6897 begin: ':', 6898 contains: [STRING, {begin: CRYSTAL_METHOD_RE}], 6899 relevance: 0 6900 }, 6901 { 6902 className: 'number', 6903 variants: [ 6904 { begin: '\\b0b([01_]+)' + INT_SUFFIX }, 6905 { begin: '\\b0o([0-7_]+)' + INT_SUFFIX }, 6906 { begin: '\\b0x([A-Fa-f0-9_]+)' + INT_SUFFIX }, 6907 { begin: '\\b([1-9][0-9_]*[0-9]|[0-9])(\\.[0-9][0-9_]*)?([eE]_*[-+]?[0-9_]*)?' + FLOAT_SUFFIX + '(?!_)' }, 6908 { begin: '\\b([1-9][0-9_]*|0)' + INT_SUFFIX } 6909 ], 6910 relevance: 0 6911 } 6912 ]; 6913 SUBST.contains = CRYSTAL_DEFAULT_CONTAINS; 6914 EXPANSION.contains = CRYSTAL_DEFAULT_CONTAINS.slice(1); // without EXPANSION 6915 6916 return { 6917 aliases: ['cr'], 6918 lexemes: CRYSTAL_IDENT_RE, 6919 keywords: CRYSTAL_KEYWORDS, 6920 contains: CRYSTAL_DEFAULT_CONTAINS 6921 }; 6922 } 6923 },{name:"cs",create:/* 6924 Language: C# 6925 Author: Jason Diamond <jason@diamond.name> 6926 Contributor: Nicolas LLOBERA <nllobera@gmail.com>, Pieter Vantorre <pietervantorre@gmail.com> 6927 Category: common 6928 */ 6929 6930 function(hljs) { 6931 var KEYWORDS = { 6932 keyword: 6933 // Normal keywords. 6934 'abstract as base bool break byte case catch char checked const continue decimal ' + 6935 'default delegate do double enum event explicit extern finally fixed float ' + 6936 'for foreach goto if implicit in int interface internal is lock long nameof ' + 6937 'object operator out override params private protected public readonly ref sbyte ' + 6938 'sealed short sizeof stackalloc static string struct switch this try typeof ' + 6939 'uint ulong unchecked unsafe ushort using virtual void volatile while ' + 6940 // Contextual keywords. 6941 'add alias ascending async await by descending dynamic equals from get global group into join ' + 6942 'let on orderby partial remove select set value var where yield', 6943 literal: 6944 'null false true' 6945 }; 6946 var NUMBERS = { 6947 className: 'number', 6948 variants: [ 6949 { begin: '\\b(0b[01\']+)' }, 6950 { begin: '(-?)\\b([\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)(u|U|l|L|ul|UL|f|F|b|B)' }, 6951 { begin: '(-?)(\\b0[xX][a-fA-F0-9\']+|(\\b[\\d\']+(\\.[\\d\']*)?|\\.[\\d\']+)([eE][-+]?[\\d\']+)?)' } 6952 ], 6953 relevance: 0 6954 }; 6955 var VERBATIM_STRING = { 6956 className: 'string', 6957 begin: '@"', end: '"', 6958 contains: [{begin: '""'}] 6959 }; 6960 var VERBATIM_STRING_NO_LF = hljs.inherit(VERBATIM_STRING, {illegal: /\n/}); 6961 var SUBST = { 6962 className: 'subst', 6963 begin: '{', end: '}', 6964 keywords: KEYWORDS 6965 }; 6966 var SUBST_NO_LF = hljs.inherit(SUBST, {illegal: /\n/}); 6967 var INTERPOLATED_STRING = { 6968 className: 'string', 6969 begin: /\$"/, end: '"', 6970 illegal: /\n/, 6971 contains: [{begin: '{{'}, {begin: '}}'}, hljs.BACKSLASH_ESCAPE, SUBST_NO_LF] 6972 }; 6973 var INTERPOLATED_VERBATIM_STRING = { 6974 className: 'string', 6975 begin: /\$@"/, end: '"', 6976 contains: [{begin: '{{'}, {begin: '}}'}, {begin: '""'}, SUBST] 6977 }; 6978 var INTERPOLATED_VERBATIM_STRING_NO_LF = hljs.inherit(INTERPOLATED_VERBATIM_STRING, { 6979 illegal: /\n/, 6980 contains: [{begin: '{{'}, {begin: '}}'}, {begin: '""'}, SUBST_NO_LF] 6981 }); 6982 SUBST.contains = [ 6983 INTERPOLATED_VERBATIM_STRING, 6984 INTERPOLATED_STRING, 6985 VERBATIM_STRING, 6986 hljs.APOS_STRING_MODE, 6987 hljs.QUOTE_STRING_MODE, 6988 NUMBERS, 6989 hljs.C_BLOCK_COMMENT_MODE 6990 ]; 6991 SUBST_NO_LF.contains = [ 6992 INTERPOLATED_VERBATIM_STRING_NO_LF, 6993 INTERPOLATED_STRING, 6994 VERBATIM_STRING_NO_LF, 6995 hljs.APOS_STRING_MODE, 6996 hljs.QUOTE_STRING_MODE, 6997 NUMBERS, 6998 hljs.inherit(hljs.C_BLOCK_COMMENT_MODE, {illegal: /\n/}) 6999 ]; 7000 var STRING = { 7001 variants: [ 7002 INTERPOLATED_VERBATIM_STRING, 7003 INTERPOLATED_STRING, 7004 VERBATIM_STRING, 7005 hljs.APOS_STRING_MODE, 7006 hljs.QUOTE_STRING_MODE 7007 ] 7008 }; 7009 7010 var TYPE_IDENT_RE = hljs.IDENT_RE + '(<' + hljs.IDENT_RE + '(\\s*,\\s*' + hljs.IDENT_RE + ')*>)?(\\[\\])?'; 7011 7012 return { 7013 aliases: ['csharp', 'c#'], 7014 keywords: KEYWORDS, 7015 illegal: /::/, 7016 contains: [ 7017 hljs.COMMENT( 7018 '///', 7019 '$', 7020 { 7021 returnBegin: true, 7022 contains: [ 7023 { 7024 className: 'doctag', 7025 variants: [ 7026 { 7027 begin: '///', relevance: 0 7028 }, 7029 { 7030 begin: '<!--|-->' 7031 }, 7032 { 7033 begin: '</?', end: '>' 7034 } 7035 ] 7036 } 7037 ] 7038 } 7039 ), 7040 hljs.C_LINE_COMMENT_MODE, 7041 hljs.C_BLOCK_COMMENT_MODE, 7042 { 7043 className: 'meta', 7044 begin: '#', end: '$', 7045 keywords: { 7046 'meta-keyword': 'if else elif endif define undef warning error line region endregion pragma checksum' 7047 } 7048 }, 7049 STRING, 7050 NUMBERS, 7051 { 7052 beginKeywords: 'class interface', end: /[{;=]/, 7053 illegal: /[^\s:,]/, 7054 contains: [ 7055 hljs.TITLE_MODE, 7056 hljs.C_LINE_COMMENT_MODE, 7057 hljs.C_BLOCK_COMMENT_MODE 7058 ] 7059 }, 7060 { 7061 beginKeywords: 'namespace', end: /[{;=]/, 7062 illegal: /[^\s:]/, 7063 contains: [ 7064 hljs.inherit(hljs.TITLE_MODE, {begin: '[a-zA-Z](\\.?\\w)*'}), 7065 hljs.C_LINE_COMMENT_MODE, 7066 hljs.C_BLOCK_COMMENT_MODE 7067 ] 7068 }, 7069 { 7070 // [Attributes("")] 7071 className: 'meta', 7072 begin: '^\\s*\\[', excludeBegin: true, end: '\\]', excludeEnd: true, 7073 contains: [ 7074 {className: 'meta-string', begin: /"/, end: /"/} 7075 ] 7076 }, 7077 { 7078 // Expression keywords prevent 'keyword Name(...)' from being 7079 // recognized as a function definition 7080 beginKeywords: 'new return throw await else', 7081 relevance: 0 7082 }, 7083 { 7084 className: 'function', 7085 begin: '(' + TYPE_IDENT_RE + '\\s+)+' + hljs.IDENT_RE + '\\s*\\(', returnBegin: true, 7086 end: /\s*[{;=]/, excludeEnd: true, 7087 keywords: KEYWORDS, 7088 contains: [ 7089 { 7090 begin: hljs.IDENT_RE + '\\s*\\(', returnBegin: true, 7091 contains: [hljs.TITLE_MODE], 7092 relevance: 0 7093 }, 7094 { 7095 className: 'params', 7096 begin: /\(/, end: /\)/, 7097 excludeBegin: true, 7098 excludeEnd: true, 7099 keywords: KEYWORDS, 7100 relevance: 0, 7101 contains: [ 7102 STRING, 7103 NUMBERS, 7104 hljs.C_BLOCK_COMMENT_MODE 7105 ] 7106 }, 7107 hljs.C_LINE_COMMENT_MODE, 7108 hljs.C_BLOCK_COMMENT_MODE 7109 ] 7110 } 7111 ] 7112 }; 7113 } 7114 },{name:"csp",create:/* 7115 Language: CSP 7116 Description: Content Security Policy definition highlighting 7117 Author: Taras <oxdef@oxdef.info> 7118 7119 vim: ts=2 sw=2 st=2 7120 */ 7121 7122 function(hljs) { 7123 return { 7124 case_insensitive: false, 7125 lexemes: '[a-zA-Z][a-zA-Z0-9_-]*', 7126 keywords: { 7127 keyword: 'base-uri child-src connect-src default-src font-src form-action' + 7128 ' frame-ancestors frame-src img-src media-src object-src plugin-types' + 7129 ' report-uri sandbox script-src style-src', 7130 }, 7131 contains: [ 7132 { 7133 className: 'string', 7134 begin: "'", end: "'" 7135 }, 7136 { 7137 className: 'attribute', 7138 begin: '^Content', end: ':', excludeEnd: true, 7139 }, 7140 ] 7141 }; 7142 } 7143 },{name:"css",create:/* 7144 Language: CSS 7145 Category: common, css 7146 */ 7147 7148 function(hljs) { 7149 var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*'; 7150 var RULE = { 7151 begin: /(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/, returnBegin: true, end: ';', endsWithParent: true, 7152 contains: [ 7153 { 7154 className: 'attribute', 7155 begin: /\S/, end: ':', excludeEnd: true, 7156 starts: { 7157 endsWithParent: true, excludeEnd: true, 7158 contains: [ 7159 { 7160 begin: /[\w-]+\(/, returnBegin: true, 7161 contains: [ 7162 { 7163 className: 'built_in', 7164 begin: /[\w-]+/ 7165 }, 7166 { 7167 begin: /\(/, end: /\)/, 7168 contains: [ 7169 hljs.APOS_STRING_MODE, 7170 hljs.QUOTE_STRING_MODE 7171 ] 7172 } 7173 ] 7174 }, 7175 hljs.CSS_NUMBER_MODE, 7176 hljs.QUOTE_STRING_MODE, 7177 hljs.APOS_STRING_MODE, 7178 hljs.C_BLOCK_COMMENT_MODE, 7179 { 7180 className: 'number', begin: '#[0-9A-Fa-f]+' 7181 }, 7182 { 7183 className: 'meta', begin: '!important' 7184 } 7185 ] 7186 } 7187 } 7188 ] 7189 }; 7190 7191 return { 7192 case_insensitive: true, 7193 illegal: /[=\/|'\$]/, 7194 contains: [ 7195 hljs.C_BLOCK_COMMENT_MODE, 7196 { 7197 className: 'selector-id', begin: /#[A-Za-z0-9_-]+/ 7198 }, 7199 { 7200 className: 'selector-class', begin: /\.[A-Za-z0-9_-]+/ 7201 }, 7202 { 7203 className: 'selector-attr', 7204 begin: /\[/, end: /\]/, 7205 illegal: '$' 7206 }, 7207 { 7208 className: 'selector-pseudo', 7209 begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/ 7210 }, 7211 { 7212 begin: '@(font-face|page)', 7213 lexemes: '[a-z-]+', 7214 keywords: 'font-face page' 7215 }, 7216 { 7217 begin: '@', end: '[{;]', // at_rule eating first "{" is a good thing 7218 // because it doesn’t let it to be parsed as 7219 // a rule set but instead drops parser into 7220 // the default mode which is how it should be. 7221 illegal: /:/, // break on Less variables @var: ... 7222 contains: [ 7223 { 7224 className: 'keyword', 7225 begin: /\w+/ 7226 }, 7227 { 7228 begin: /\s/, endsWithParent: true, excludeEnd: true, 7229 relevance: 0, 7230 contains: [ 7231 hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE, 7232 hljs.CSS_NUMBER_MODE 7233 ] 7234 } 7235 ] 7236 }, 7237 { 7238 className: 'selector-tag', begin: IDENT_RE, 7239 relevance: 0 7240 }, 7241 { 7242 begin: '{', end: '}', 7243 illegal: /\S/, 7244 contains: [ 7245 hljs.C_BLOCK_COMMENT_MODE, 7246 RULE, 7247 ] 7248 } 7249 ] 7250 }; 7251 } 7252 },{name:"d",create:/* 7253 Language: D 7254 Author: Aleksandar Ruzicic <aleksandar@ruzicic.info> 7255 Description: D is a language with C-like syntax and static typing. It pragmatically combines efficiency, control, and modeling power, with safety and programmer productivity. 7256 Version: 1.0a 7257 Date: 2012-04-08 7258 */ 7259 7260 /** 7261 * Known issues: 7262 * 7263 * - invalid hex string literals will be recognized as a double quoted strings 7264 * but 'x' at the beginning of string will not be matched 7265 * 7266 * - delimited string literals are not checked for matching end delimiter 7267 * (not possible to do with js regexp) 7268 * 7269 * - content of token string is colored as a string (i.e. no keyword coloring inside a token string) 7270 * also, content of token string is not validated to contain only valid D tokens 7271 * 7272 * - special token sequence rule is not strictly following D grammar (anything following #line 7273 * up to the end of line is matched as special token sequence) 7274 */ 7275 7276 function(hljs) { 7277 /** 7278 * Language keywords 7279 * 7280 * @type {Object} 7281 */ 7282 var D_KEYWORDS = { 7283 keyword: 7284 'abstract alias align asm assert auto body break byte case cast catch class ' + 7285 'const continue debug default delete deprecated do else enum export extern final ' + 7286 'finally for foreach foreach_reverse|10 goto if immutable import in inout int ' + 7287 'interface invariant is lazy macro mixin module new nothrow out override package ' + 7288 'pragma private protected public pure ref return scope shared static struct ' + 7289 'super switch synchronized template this throw try typedef typeid typeof union ' + 7290 'unittest version void volatile while with __FILE__ __LINE__ __gshared|10 ' + 7291 '__thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__', 7292 built_in: 7293 'bool cdouble cent cfloat char creal dchar delegate double dstring float function ' + 7294 'idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar ' + 7295 'wstring', 7296 literal: 7297 'false null true' 7298 }; 7299 7300 /** 7301 * Number literal regexps 7302 * 7303 * @type {String} 7304 */ 7305 var decimal_integer_re = '(0|[1-9][\\d_]*)', 7306 decimal_integer_nosus_re = '(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)', 7307 binary_integer_re = '0[bB][01_]+', 7308 hexadecimal_digits_re = '([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)', 7309 hexadecimal_integer_re = '0[xX]' + hexadecimal_digits_re, 7310 7311 decimal_exponent_re = '([eE][+-]?' + decimal_integer_nosus_re + ')', 7312 decimal_float_re = '(' + decimal_integer_nosus_re + '(\\.\\d*|' + decimal_exponent_re + ')|' + 7313 '\\d+\\.' + decimal_integer_nosus_re + decimal_integer_nosus_re + '|' + 7314 '\\.' + decimal_integer_re + decimal_exponent_re + '?' + 7315 ')', 7316 hexadecimal_float_re = '(0[xX](' + 7317 hexadecimal_digits_re + '\\.' + hexadecimal_digits_re + '|'+ 7318 '\\.?' + hexadecimal_digits_re + 7319 ')[pP][+-]?' + decimal_integer_nosus_re + ')', 7320 7321 integer_re = '(' + 7322 decimal_integer_re + '|' + 7323 binary_integer_re + '|' + 7324 hexadecimal_integer_re + 7325 ')', 7326 7327 float_re = '(' + 7328 hexadecimal_float_re + '|' + 7329 decimal_float_re + 7330 ')'; 7331 7332 /** 7333 * Escape sequence supported in D string and character literals 7334 * 7335 * @type {String} 7336 */ 7337 var escape_sequence_re = '\\\\(' + 7338 '[\'"\\?\\\\abfnrtv]|' + // common escapes 7339 'u[\\dA-Fa-f]{4}|' + // four hex digit unicode codepoint 7340 '[0-7]{1,3}|' + // one to three octal digit ascii char code 7341 'x[\\dA-Fa-f]{2}|' + // two hex digit ascii char code 7342 'U[\\dA-Fa-f]{8}' + // eight hex digit unicode codepoint 7343 ')|' + 7344 '&[a-zA-Z\\d]{2,};'; // named character entity 7345 7346 /** 7347 * D integer number literals 7348 * 7349 * @type {Object} 7350 */ 7351 var D_INTEGER_MODE = { 7352 className: 'number', 7353 begin: '\\b' + integer_re + '(L|u|U|Lu|LU|uL|UL)?', 7354 relevance: 0 7355 }; 7356 7357 /** 7358 * [D_FLOAT_MODE description] 7359 * @type {Object} 7360 */ 7361 var D_FLOAT_MODE = { 7362 className: 'number', 7363 begin: '\\b(' + 7364 float_re + '([fF]|L|i|[fF]i|Li)?|' + 7365 integer_re + '(i|[fF]i|Li)' + 7366 ')', 7367 relevance: 0 7368 }; 7369 7370 /** 7371 * D character literal 7372 * 7373 * @type {Object} 7374 */ 7375 var D_CHARACTER_MODE = { 7376 className: 'string', 7377 begin: '\'(' + escape_sequence_re + '|.)', end: '\'', 7378 illegal: '.' 7379 }; 7380 7381 /** 7382 * D string escape sequence 7383 * 7384 * @type {Object} 7385 */ 7386 var D_ESCAPE_SEQUENCE = { 7387 begin: escape_sequence_re, 7388 relevance: 0 7389 }; 7390 7391 /** 7392 * D double quoted string literal 7393 * 7394 * @type {Object} 7395 */ 7396 var D_STRING_MODE = { 7397 className: 'string', 7398 begin: '"', 7399 contains: [D_ESCAPE_SEQUENCE], 7400 end: '"[cwd]?' 7401 }; 7402 7403 /** 7404 * D wysiwyg and delimited string literals 7405 * 7406 * @type {Object} 7407 */ 7408 var D_WYSIWYG_DELIMITED_STRING_MODE = { 7409 className: 'string', 7410 begin: '[rq]"', 7411 end: '"[cwd]?', 7412 relevance: 5 7413 }; 7414 7415 /** 7416 * D alternate wysiwyg string literal 7417 * 7418 * @type {Object} 7419 */ 7420 var D_ALTERNATE_WYSIWYG_STRING_MODE = { 7421 className: 'string', 7422 begin: '`', 7423 end: '`[cwd]?' 7424 }; 7425 7426 /** 7427 * D hexadecimal string literal 7428 * 7429 * @type {Object} 7430 */ 7431 var D_HEX_STRING_MODE = { 7432 className: 'string', 7433 begin: 'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?', 7434 relevance: 10 7435 }; 7436 7437 /** 7438 * D delimited string literal 7439 * 7440 * @type {Object} 7441 */ 7442 var D_TOKEN_STRING_MODE = { 7443 className: 'string', 7444 begin: 'q"\\{', 7445 end: '\\}"' 7446 }; 7447 7448 /** 7449 * Hashbang support 7450 * 7451 * @type {Object} 7452 */ 7453 var D_HASHBANG_MODE = { 7454 className: 'meta', 7455 begin: '^#!', 7456 end: '$', 7457 relevance: 5 7458 }; 7459 7460 /** 7461 * D special token sequence 7462 * 7463 * @type {Object} 7464 */ 7465 var D_SPECIAL_TOKEN_SEQUENCE_MODE = { 7466 className: 'meta', 7467 begin: '#(line)', 7468 end: '$', 7469 relevance: 5 7470 }; 7471 7472 /** 7473 * D attributes 7474 * 7475 * @type {Object} 7476 */ 7477 var D_ATTRIBUTE_MODE = { 7478 className: 'keyword', 7479 begin: '@[a-zA-Z_][a-zA-Z_\\d]*' 7480 }; 7481 7482 /** 7483 * D nesting comment 7484 * 7485 * @type {Object} 7486 */ 7487 var D_NESTING_COMMENT_MODE = hljs.COMMENT( 7488 '\\/\\+', 7489 '\\+\\/', 7490 { 7491 contains: ['self'], 7492 relevance: 10 7493 } 7494 ); 7495 7496 return { 7497 lexemes: hljs.UNDERSCORE_IDENT_RE, 7498 keywords: D_KEYWORDS, 7499 contains: [ 7500 hljs.C_LINE_COMMENT_MODE, 7501 hljs.C_BLOCK_COMMENT_MODE, 7502 D_NESTING_COMMENT_MODE, 7503 D_HEX_STRING_MODE, 7504 D_STRING_MODE, 7505 D_WYSIWYG_DELIMITED_STRING_MODE, 7506 D_ALTERNATE_WYSIWYG_STRING_MODE, 7507 D_TOKEN_STRING_MODE, 7508 D_FLOAT_MODE, 7509 D_INTEGER_MODE, 7510 D_CHARACTER_MODE, 7511 D_HASHBANG_MODE, 7512 D_SPECIAL_TOKEN_SEQUENCE_MODE, 7513 D_ATTRIBUTE_MODE 7514 ] 7515 }; 7516 } 7517 },{name:"dart",create:/* 7518 Language: Dart 7519 Requires: markdown.js 7520 Author: Maxim Dikun <dikmax@gmail.com> 7521 Description: Dart a modern, object-oriented language developed by Google. For more information see https://www.dartlang.org/ 7522 Category: scripting 7523 */ 7524 7525 function (hljs) { 7526 var SUBST = { 7527 className: 'subst', 7528 variants: [ 7529 {begin: '\\$[A-Za-z0-9_]+'} 7530 ], 7531 }; 7532 7533 var BRACED_SUBST = { 7534 className: 'subst', 7535 variants: [ 7536 {begin: '\\${', end: '}'}, 7537 ], 7538 keywords: 'true false null this is new super', 7539 }; 7540 7541 var STRING = { 7542 className: 'string', 7543 variants: [ 7544 { 7545 begin: 'r\'\'\'', end: '\'\'\'' 7546 }, 7547 { 7548 begin: 'r"""', end: '"""' 7549 }, 7550 { 7551 begin: 'r\'', end: '\'', 7552 illegal: '\\n' 7553 }, 7554 { 7555 begin: 'r"', end: '"', 7556 illegal: '\\n' 7557 }, 7558 { 7559 begin: '\'\'\'', end: '\'\'\'', 7560 contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST] 7561 }, 7562 { 7563 begin: '"""', end: '"""', 7564 contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST] 7565 }, 7566 { 7567 begin: '\'', end: '\'', 7568 illegal: '\\n', 7569 contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST] 7570 }, 7571 { 7572 begin: '"', end: '"', 7573 illegal: '\\n', 7574 contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST] 7575 } 7576 ] 7577 }; 7578 BRACED_SUBST.contains = [ 7579 hljs.C_NUMBER_MODE, STRING 7580 ]; 7581 7582 var KEYWORDS = { 7583 keyword: 'assert async await break case catch class const continue default do else enum extends false final ' + 7584 'finally for if in is new null rethrow return super switch sync this throw true try var void while with yield ' + 7585 'abstract as dynamic export external factory get implements import library operator part set static typedef', 7586 built_in: 7587 // dart:core 7588 'print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set ' + 7589 'Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num ' + 7590 // dart:html 7591 'document window querySelector querySelectorAll Element ElementList' 7592 }; 7593 7594 return { 7595 keywords: KEYWORDS, 7596 contains: [ 7597 STRING, 7598 hljs.COMMENT( 7599 '/\\*\\*', 7600 '\\*/', 7601 { 7602 subLanguage: 'markdown' 7603 } 7604 ), 7605 hljs.COMMENT( 7606 '///', 7607 '$', 7608 { 7609 subLanguage: 'markdown' 7610 } 7611 ), 7612 hljs.C_LINE_COMMENT_MODE, 7613 hljs.C_BLOCK_COMMENT_MODE, 7614 { 7615 className: 'class', 7616 beginKeywords: 'class interface', end: '{', excludeEnd: true, 7617 contains: [ 7618 { 7619 beginKeywords: 'extends implements' 7620 }, 7621 hljs.UNDERSCORE_TITLE_MODE 7622 ] 7623 }, 7624 hljs.C_NUMBER_MODE, 7625 { 7626 className: 'meta', begin: '@[A-Za-z]+' 7627 }, 7628 { 7629 begin: '=>' // No markup, just a relevance booster 7630 } 7631 ] 7632 } 7633 } 7634 7635 },{name:"delphi",create:/* 7636 Language: Delphi 7637 */ 7638 7639 function(hljs) { 7640 var KEYWORDS = 7641 'exports register file shl array record property for mod while set ally label uses raise not ' + 7642 'stored class safecall var interface or private static exit index inherited to else stdcall ' + 7643 'override shr asm far resourcestring finalization packed virtual out and protected library do ' + 7644 'xorwrite goto near function end div overload object unit begin string on inline repeat until ' + 7645 'destructor write message program with read initialization except default nil if case cdecl in ' + 7646 'downto threadvar of try pascal const external constructor type public then implementation ' + 7647 'finally published procedure absolute reintroduce operator as is abstract alias assembler ' + 7648 'bitpacked break continue cppdecl cvar enumerator experimental platform deprecated ' + 7649 'unimplemented dynamic export far16 forward generic helper implements interrupt iochecks ' + 7650 'local name nodefault noreturn nostackframe oldfpccall otherwise saveregisters softfloat ' + 7651 'specialize strict unaligned varargs '; 7652 var COMMENT_MODES = [ 7653 hljs.C_LINE_COMMENT_MODE, 7654 hljs.COMMENT(/\{/, /\}/, {relevance: 0}), 7655 hljs.COMMENT(/\(\*/, /\*\)/, {relevance: 10}) 7656 ]; 7657 var DIRECTIVE = { 7658 className: 'meta', 7659 variants: [ 7660 {begin: /\{\$/, end: /\}/}, 7661 {begin: /\(\*\$/, end: /\*\)/} 7662 ] 7663 }; 7664 var STRING = { 7665 className: 'string', 7666 begin: /'/, end: /'/, 7667 contains: [{begin: /''/}] 7668 }; 7669 var CHAR_STRING = { 7670 className: 'string', begin: /(#\d+)+/ 7671 }; 7672 var CLASS = { 7673 begin: hljs.IDENT_RE + '\\s*=\\s*class\\s*\\(', returnBegin: true, 7674 contains: [ 7675 hljs.TITLE_MODE 7676 ] 7677 }; 7678 var FUNCTION = { 7679 className: 'function', 7680 beginKeywords: 'function constructor destructor procedure', end: /[:;]/, 7681 keywords: 'function constructor|10 destructor|10 procedure|10', 7682 contains: [ 7683 hljs.TITLE_MODE, 7684 { 7685 className: 'params', 7686 begin: /\(/, end: /\)/, 7687 keywords: KEYWORDS, 7688 contains: [STRING, CHAR_STRING, DIRECTIVE].concat(COMMENT_MODES) 7689 }, 7690 DIRECTIVE 7691 ].concat(COMMENT_MODES) 7692 }; 7693 return { 7694 aliases: ['dpr', 'dfm', 'pas', 'pascal', 'freepascal', 'lazarus', 'lpr', 'lfm'], 7695 case_insensitive: true, 7696 keywords: KEYWORDS, 7697 illegal: /"|\$[G-Zg-z]|\/\*|<\/|\|/, 7698 contains: [ 7699 STRING, CHAR_STRING, 7700 hljs.NUMBER_MODE, 7701 CLASS, 7702 FUNCTION, 7703 DIRECTIVE 7704 ].concat(COMMENT_MODES) 7705 }; 7706 } 7707 },{name:"diff",create:/* 7708 Language: Diff 7709 Description: Unified and context diff 7710 Author: Vasily Polovnyov <vast@whiteants.net> 7711 Category: common 7712 */ 7713 7714 function(hljs) { 7715 return { 7716 aliases: ['patch'], 7717 contains: [ 7718 { 7719 className: 'meta', 7720 relevance: 10, 7721 variants: [ 7722 {begin: /^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/}, 7723 {begin: /^\*\*\* +\d+,\d+ +\*\*\*\*$/}, 7724 {begin: /^\-\-\- +\d+,\d+ +\-\-\-\-$/} 7725 ] 7726 }, 7727 { 7728 className: 'comment', 7729 variants: [ 7730 {begin: /Index: /, end: /$/}, 7731 {begin: /={3,}/, end: /$/}, 7732 {begin: /^\-{3}/, end: /$/}, 7733 {begin: /^\*{3} /, end: /$/}, 7734 {begin: /^\+{3}/, end: /$/}, 7735 {begin: /\*{5}/, end: /\*{5}$/} 7736 ] 7737 }, 7738 { 7739 className: 'addition', 7740 begin: '^\\+', end: '$' 7741 }, 7742 { 7743 className: 'deletion', 7744 begin: '^\\-', end: '$' 7745 }, 7746 { 7747 className: 'addition', 7748 begin: '^\\!', end: '$' 7749 } 7750 ] 7751 }; 7752 } 7753 },{name:"django",create:/* 7754 Language: Django 7755 Requires: xml.js 7756 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 7757 Contributors: Ilya Baryshev <baryshev@gmail.com> 7758 Category: template 7759 */ 7760 7761 function(hljs) { 7762 var FILTER = { 7763 begin: /\|[A-Za-z]+:?/, 7764 keywords: { 7765 name: 7766 'truncatewords removetags linebreaksbr yesno get_digit timesince random striptags ' + 7767 'filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands ' + 7768 'title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode ' + 7769 'timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort ' + 7770 'dictsortreversed default_if_none pluralize lower join center default ' + 7771 'truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first ' + 7772 'escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize ' + 7773 'localtime utc timezone' 7774 }, 7775 contains: [ 7776 hljs.QUOTE_STRING_MODE, 7777 hljs.APOS_STRING_MODE 7778 ] 7779 }; 7780 7781 return { 7782 aliases: ['jinja'], 7783 case_insensitive: true, 7784 subLanguage: 'xml', 7785 contains: [ 7786 hljs.COMMENT(/\{%\s*comment\s*%}/, /\{%\s*endcomment\s*%}/), 7787 hljs.COMMENT(/\{#/, /#}/), 7788 { 7789 className: 'template-tag', 7790 begin: /\{%/, end: /%}/, 7791 contains: [ 7792 { 7793 className: 'name', 7794 begin: /\w+/, 7795 keywords: { 7796 name: 7797 'comment endcomment load templatetag ifchanged endifchanged if endif firstof for ' + 7798 'endfor ifnotequal endifnotequal widthratio extends include spaceless ' + 7799 'endspaceless regroup ifequal endifequal ssi now with cycle url filter ' + 7800 'endfilter debug block endblock else autoescape endautoescape csrf_token empty elif ' + 7801 'endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix ' + 7802 'plural get_current_language language get_available_languages ' + 7803 'get_current_language_bidi get_language_info get_language_info_list localize ' + 7804 'endlocalize localtime endlocaltime timezone endtimezone get_current_timezone ' + 7805 'verbatim' 7806 }, 7807 starts: { 7808 endsWithParent: true, 7809 keywords: 'in by as', 7810 contains: [FILTER], 7811 relevance: 0 7812 } 7813 } 7814 ] 7815 }, 7816 { 7817 className: 'template-variable', 7818 begin: /\{\{/, end: /}}/, 7819 contains: [FILTER] 7820 } 7821 ] 7822 }; 7823 } 7824 },{name:"dns",create:/* 7825 Language: DNS Zone file 7826 Author: Tim Schumacher <tim@datenknoten.me> 7827 Category: config 7828 */ 7829 7830 function(hljs) { 7831 return { 7832 aliases: ['bind', 'zone'], 7833 keywords: { 7834 keyword: 7835 'IN A AAAA AFSDB APL CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME DNSKEY DS HIP IPSECKEY KEY KX ' + 7836 'LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RRSIG RP SIG SOA SRV SSHFP TA TKEY TLSA TSIG TXT' 7837 }, 7838 contains: [ 7839 hljs.COMMENT(';', '$', {relevance: 0}), 7840 { 7841 className: 'meta', 7842 begin: /^\$(TTL|GENERATE|INCLUDE|ORIGIN)\b/ 7843 }, 7844 // IPv6 7845 { 7846 className: 'number', 7847 begin: '((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))\\b' 7848 }, 7849 // IPv4 7850 { 7851 className: 'number', 7852 begin: '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b' 7853 }, 7854 hljs.inherit(hljs.NUMBER_MODE, {begin: /\b\d+[dhwm]?/}) 7855 ] 7856 }; 7857 } 7858 },{name:"dockerfile",create:/* 7859 Language: Dockerfile 7860 Requires: bash.js 7861 Author: Alexis Hénaut <alexis@henaut.net> 7862 Description: language definition for Dockerfile files 7863 Category: config 7864 */ 7865 7866 function(hljs) { 7867 return { 7868 aliases: ['docker'], 7869 case_insensitive: true, 7870 keywords: 'from maintainer expose env arg user onbuild stopsignal', 7871 contains: [ 7872 hljs.HASH_COMMENT_MODE, 7873 hljs.APOS_STRING_MODE, 7874 hljs.QUOTE_STRING_MODE, 7875 hljs.NUMBER_MODE, 7876 { 7877 beginKeywords: 'run cmd entrypoint volume add copy workdir label healthcheck shell', 7878 starts: { 7879 end: /[^\\]$/, 7880 subLanguage: 'bash' 7881 } 7882 } 7883 ], 7884 illegal: '</' 7885 } 7886 } 7887 },{name:"dos",create:/* 7888 Language: DOS .bat 7889 Author: Alexander Makarov <sam@rmcreative.ru> 7890 Contributors: Anton Kochkov <anton.kochkov@gmail.com> 7891 */ 7892 7893 function(hljs) { 7894 var COMMENT = hljs.COMMENT( 7895 /^\s*@?rem\b/, /$/, 7896 { 7897 relevance: 10 7898 } 7899 ); 7900 var LABEL = { 7901 className: 'symbol', 7902 begin: '^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)', 7903 relevance: 0 7904 }; 7905 return { 7906 aliases: ['bat', 'cmd'], 7907 case_insensitive: true, 7908 illegal: /\/\*/, 7909 keywords: { 7910 keyword: 7911 'if else goto for in do call exit not exist errorlevel defined ' + 7912 'equ neq lss leq gtr geq', 7913 built_in: 7914 'prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux ' + 7915 'shift cd dir echo setlocal endlocal set pause copy ' + 7916 'append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color ' + 7917 'comp compact convert date dir diskcomp diskcopy doskey erase fs ' + 7918 'find findstr format ftype graftabl help keyb label md mkdir mode more move path ' + 7919 'pause print popd pushd promt rd recover rem rename replace restore rmdir shift' + 7920 'sort start subst time title tree type ver verify vol ' + 7921 // winutils 7922 'ping net ipconfig taskkill xcopy ren del' 7923 }, 7924 contains: [ 7925 { 7926 className: 'variable', begin: /%%[^ ]|%[^ ]+?%|![^ ]+?!/ 7927 }, 7928 { 7929 className: 'function', 7930 begin: LABEL.begin, end: 'goto:eof', 7931 contains: [ 7932 hljs.inherit(hljs.TITLE_MODE, {begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*'}), 7933 COMMENT 7934 ] 7935 }, 7936 { 7937 className: 'number', begin: '\\b\\d+', 7938 relevance: 0 7939 }, 7940 COMMENT 7941 ] 7942 }; 7943 } 7944 },{name:"dsconfig",create:/* 7945 Language: dsconfig 7946 Description: dsconfig batch configuration language for LDAP directory servers 7947 Contributors: Jacob Childress <jacobc@gmail.com> 7948 Category: enterprise, config 7949 */ 7950 function(hljs) { 7951 var QUOTED_PROPERTY = { 7952 className: 'string', 7953 begin: /"/, end: /"/ 7954 }; 7955 var APOS_PROPERTY = { 7956 className: 'string', 7957 begin: /'/, end: /'/ 7958 }; 7959 var UNQUOTED_PROPERTY = { 7960 className: 'string', 7961 begin: '[\\w-?]+:\\w+', end: '\\W', 7962 relevance: 0 7963 }; 7964 var VALUELESS_PROPERTY = { 7965 className: 'string', 7966 begin: '\\w+-?\\w+', end: '\\W', 7967 relevance: 0 7968 }; 7969 7970 return { 7971 keywords: 'dsconfig', 7972 contains: [ 7973 { 7974 className: 'keyword', 7975 begin: '^dsconfig', end: '\\s', excludeEnd: true, 7976 relevance: 10 7977 }, 7978 { 7979 className: 'built_in', 7980 begin: '(list|create|get|set|delete)-(\\w+)', end: '\\s', excludeEnd: true, 7981 illegal: '!@#$%^&*()', 7982 relevance: 10 7983 }, 7984 { 7985 className: 'built_in', 7986 begin: '--(\\w+)', end: '\\s', excludeEnd: true 7987 }, 7988 QUOTED_PROPERTY, 7989 APOS_PROPERTY, 7990 UNQUOTED_PROPERTY, 7991 VALUELESS_PROPERTY, 7992 hljs.HASH_COMMENT_MODE 7993 ] 7994 }; 7995 } 7996 },{name:"dts",create:/* 7997 Language: Device Tree 7998 Description: *.dts files used in the Linux kernel 7999 Author: Martin Braun <martin.braun@ettus.com>, Moritz Fischer <moritz.fischer@ettus.com> 8000 Category: config 8001 */ 8002 8003 function(hljs) { 8004 var STRINGS = { 8005 className: 'string', 8006 variants: [ 8007 hljs.inherit(hljs.QUOTE_STRING_MODE, { begin: '((u8?|U)|L)?"' }), 8008 { 8009 begin: '(u8?|U)?R"', end: '"', 8010 contains: [hljs.BACKSLASH_ESCAPE] 8011 }, 8012 { 8013 begin: '\'\\\\?.', end: '\'', 8014 illegal: '.' 8015 } 8016 ] 8017 }; 8018 8019 var NUMBERS = { 8020 className: 'number', 8021 variants: [ 8022 { begin: '\\b(\\d+(\\.\\d*)?|\\.\\d+)(u|U|l|L|ul|UL|f|F)' }, 8023 { begin: hljs.C_NUMBER_RE } 8024 ], 8025 relevance: 0 8026 }; 8027 8028 var PREPROCESSOR = { 8029 className: 'meta', 8030 begin: '#', end: '$', 8031 keywords: {'meta-keyword': 'if else elif endif define undef ifdef ifndef'}, 8032 contains: [ 8033 { 8034 begin: /\\\n/, relevance: 0 8035 }, 8036 { 8037 beginKeywords: 'include', end: '$', 8038 keywords: {'meta-keyword': 'include'}, 8039 contains: [ 8040 hljs.inherit(STRINGS, {className: 'meta-string'}), 8041 { 8042 className: 'meta-string', 8043 begin: '<', end: '>', 8044 illegal: '\\n' 8045 } 8046 ] 8047 }, 8048 STRINGS, 8049 hljs.C_LINE_COMMENT_MODE, 8050 hljs.C_BLOCK_COMMENT_MODE 8051 ] 8052 }; 8053 8054 var DTS_REFERENCE = { 8055 className: 'variable', 8056 begin: '\\&[a-z\\d_]*\\b' 8057 }; 8058 8059 var DTS_KEYWORD = { 8060 className: 'meta-keyword', 8061 begin: '/[a-z][a-z\\d-]*/' 8062 }; 8063 8064 var DTS_LABEL = { 8065 className: 'symbol', 8066 begin: '^\\s*[a-zA-Z_][a-zA-Z\\d_]*:' 8067 }; 8068 8069 var DTS_CELL_PROPERTY = { 8070 className: 'params', 8071 begin: '<', 8072 end: '>', 8073 contains: [ 8074 NUMBERS, 8075 DTS_REFERENCE 8076 ] 8077 }; 8078 8079 var DTS_NODE = { 8080 className: 'class', 8081 begin: /[a-zA-Z_][a-zA-Z\d_@]*\s{/, 8082 end: /[{;=]/, 8083 returnBegin: true, 8084 excludeEnd: true 8085 }; 8086 8087 var DTS_ROOT_NODE = { 8088 className: 'class', 8089 begin: '/\\s*{', 8090 end: '};', 8091 relevance: 10, 8092 contains: [ 8093 DTS_REFERENCE, 8094 DTS_KEYWORD, 8095 DTS_LABEL, 8096 DTS_NODE, 8097 DTS_CELL_PROPERTY, 8098 hljs.C_LINE_COMMENT_MODE, 8099 hljs.C_BLOCK_COMMENT_MODE, 8100 NUMBERS, 8101 STRINGS 8102 ] 8103 }; 8104 8105 return { 8106 keywords: "", 8107 contains: [ 8108 DTS_ROOT_NODE, 8109 DTS_REFERENCE, 8110 DTS_KEYWORD, 8111 DTS_LABEL, 8112 DTS_NODE, 8113 DTS_CELL_PROPERTY, 8114 hljs.C_LINE_COMMENT_MODE, 8115 hljs.C_BLOCK_COMMENT_MODE, 8116 NUMBERS, 8117 STRINGS, 8118 PREPROCESSOR, 8119 { 8120 begin: hljs.IDENT_RE + '::', 8121 keywords: "" 8122 } 8123 ] 8124 }; 8125 } 8126 8127 },{name:"dust",create:/* 8128 Language: Dust 8129 Requires: xml.js 8130 Author: Michael Allen <michael.allen@benefitfocus.com> 8131 Description: Matcher for dust.js templates. 8132 Category: template 8133 */ 8134 8135 function(hljs) { 8136 var EXPRESSION_KEYWORDS = 'if eq ne lt lte gt gte select default math sep'; 8137 return { 8138 aliases: ['dst'], 8139 case_insensitive: true, 8140 subLanguage: 'xml', 8141 contains: [ 8142 { 8143 className: 'template-tag', 8144 begin: /\{[#\/]/, end: /\}/, illegal: /;/, 8145 contains: [ 8146 { 8147 className: 'name', 8148 begin: /[a-zA-Z\.-]+/, 8149 starts: { 8150 endsWithParent: true, relevance: 0, 8151 contains: [ 8152 hljs.QUOTE_STRING_MODE 8153 ] 8154 } 8155 } 8156 ] 8157 }, 8158 { 8159 className: 'template-variable', 8160 begin: /\{/, end: /\}/, illegal: /;/, 8161 keywords: EXPRESSION_KEYWORDS 8162 } 8163 ] 8164 }; 8165 } 8166 },{name:"ebnf",create:/* 8167 Language: Extended Backus-Naur Form 8168 Author: Alex McKibben <alex@nullscope.net> 8169 */ 8170 8171 function(hljs) { 8172 var commentMode = hljs.COMMENT(/\(\*/, /\*\)/); 8173 8174 var nonTerminalMode = { 8175 className: "attribute", 8176 begin: /^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/ 8177 }; 8178 8179 var specialSequenceMode = { 8180 className: "meta", 8181 begin: /\?.*\?/ 8182 }; 8183 8184 var ruleBodyMode = { 8185 begin: /=/, end: /;/, 8186 contains: [ 8187 commentMode, 8188 specialSequenceMode, 8189 // terminals 8190 hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE 8191 ] 8192 }; 8193 8194 return { 8195 illegal: /\S/, 8196 contains: [ 8197 commentMode, 8198 nonTerminalMode, 8199 ruleBodyMode 8200 ] 8201 }; 8202 } 8203 },{name:"elixir",create:/* 8204 Language: Elixir 8205 Author: Josh Adams <josh@isotope11.com> 8206 Description: language definition for Elixir source code files (.ex and .exs). Based on ruby language support. 8207 Category: functional 8208 */ 8209 8210 function(hljs) { 8211 var ELIXIR_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9_.]*(\\!|\\?)?'; 8212 var ELIXIR_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?'; 8213 var ELIXIR_KEYWORDS = 8214 'and false then defined module in return redo retry end for true self when ' + 8215 'next until do begin unless nil break not case cond alias while ensure or ' + 8216 'include use alias fn quote require import with|0'; 8217 var SUBST = { 8218 className: 'subst', 8219 begin: '#\\{', end: '}', 8220 lexemes: ELIXIR_IDENT_RE, 8221 keywords: ELIXIR_KEYWORDS 8222 }; 8223 var STRING = { 8224 className: 'string', 8225 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 8226 variants: [ 8227 { 8228 begin: /'/, end: /'/ 8229 }, 8230 { 8231 begin: /"/, end: /"/ 8232 } 8233 ] 8234 }; 8235 var FUNCTION = { 8236 className: 'function', 8237 beginKeywords: 'def defp defmacro', end: /\B\b/, // the mode is ended by the title 8238 contains: [ 8239 hljs.inherit(hljs.TITLE_MODE, { 8240 begin: ELIXIR_IDENT_RE, 8241 endsParent: true 8242 }) 8243 ] 8244 }; 8245 var CLASS = hljs.inherit(FUNCTION, { 8246 className: 'class', 8247 beginKeywords: 'defimpl defmodule defprotocol defrecord', end: /\bdo\b|$|;/ 8248 }); 8249 var ELIXIR_DEFAULT_CONTAINS = [ 8250 STRING, 8251 hljs.HASH_COMMENT_MODE, 8252 CLASS, 8253 FUNCTION, 8254 { 8255 begin: '::' 8256 }, 8257 { 8258 className: 'symbol', 8259 begin: ':(?![\\s:])', 8260 contains: [STRING, {begin: ELIXIR_METHOD_RE}], 8261 relevance: 0 8262 }, 8263 { 8264 className: 'symbol', 8265 begin: ELIXIR_IDENT_RE + ':(?!:)', 8266 relevance: 0 8267 }, 8268 { 8269 className: 'number', 8270 begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', 8271 relevance: 0 8272 }, 8273 { 8274 className: 'variable', 8275 begin: '(\\$\\W)|((\\$|\\@\\@?)(\\w+))' 8276 }, 8277 { 8278 begin: '->' 8279 }, 8280 { // regexp container 8281 begin: '(' + hljs.RE_STARTERS_RE + ')\\s*', 8282 contains: [ 8283 hljs.HASH_COMMENT_MODE, 8284 { 8285 className: 'regexp', 8286 illegal: '\\n', 8287 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 8288 variants: [ 8289 { 8290 begin: '/', end: '/[a-z]*' 8291 }, 8292 { 8293 begin: '%r\\[', end: '\\][a-z]*' 8294 } 8295 ] 8296 } 8297 ], 8298 relevance: 0 8299 } 8300 ]; 8301 SUBST.contains = ELIXIR_DEFAULT_CONTAINS; 8302 8303 return { 8304 lexemes: ELIXIR_IDENT_RE, 8305 keywords: ELIXIR_KEYWORDS, 8306 contains: ELIXIR_DEFAULT_CONTAINS 8307 }; 8308 } 8309 },{name:"elm",create:/* 8310 Language: Elm 8311 Author: Janis Voigtlaender <janis.voigtlaender@gmail.com> 8312 Category: functional 8313 */ 8314 8315 function(hljs) { 8316 var COMMENT = { 8317 variants: [ 8318 hljs.COMMENT('--', '$'), 8319 hljs.COMMENT( 8320 '{-', 8321 '-}', 8322 { 8323 contains: ['self'] 8324 } 8325 ) 8326 ] 8327 }; 8328 8329 var CONSTRUCTOR = { 8330 className: 'type', 8331 begin: '\\b[A-Z][\\w\']*', // TODO: other constructors (built-in, infix). 8332 relevance: 0 8333 }; 8334 8335 var LIST = { 8336 begin: '\\(', end: '\\)', 8337 illegal: '"', 8338 contains: [ 8339 {className: 'type', begin: '\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?'}, 8340 COMMENT 8341 ] 8342 }; 8343 8344 var RECORD = { 8345 begin: '{', end: '}', 8346 contains: LIST.contains 8347 }; 8348 8349 var CHARACTER = { 8350 className: 'string', 8351 begin: '\'\\\\?.', end: '\'', 8352 illegal: '.' 8353 }; 8354 8355 return { 8356 keywords: 8357 'let in if then else case of where module import exposing ' + 8358 'type alias as infix infixl infixr port effect command subscription', 8359 contains: [ 8360 8361 // Top-level constructions. 8362 8363 { 8364 beginKeywords: 'port effect module', end: 'exposing', 8365 keywords: 'port effect module where command subscription exposing', 8366 contains: [LIST, COMMENT], 8367 illegal: '\\W\\.|;' 8368 }, 8369 { 8370 begin: 'import', end: '$', 8371 keywords: 'import as exposing', 8372 contains: [LIST, COMMENT], 8373 illegal: '\\W\\.|;' 8374 }, 8375 { 8376 begin: 'type', end: '$', 8377 keywords: 'type alias', 8378 contains: [CONSTRUCTOR, LIST, RECORD, COMMENT] 8379 }, 8380 { 8381 beginKeywords: 'infix infixl infixr', end: '$', 8382 contains: [hljs.C_NUMBER_MODE, COMMENT] 8383 }, 8384 { 8385 begin: 'port', end: '$', 8386 keywords: 'port', 8387 contains: [COMMENT] 8388 }, 8389 8390 // Literals and names. 8391 8392 CHARACTER, 8393 hljs.QUOTE_STRING_MODE, 8394 hljs.C_NUMBER_MODE, 8395 CONSTRUCTOR, 8396 hljs.inherit(hljs.TITLE_MODE, {begin: '^[_a-z][\\w\']*'}), 8397 COMMENT, 8398 8399 {begin: '->|<-'} // No markup, relevance booster 8400 ], 8401 illegal: /;/ 8402 }; 8403 } 8404 },{name:"erb",create:/* 8405 Language: ERB (Embedded Ruby) 8406 Requires: xml.js, ruby.js 8407 Author: Lucas Mazza <lucastmazza@gmail.com> 8408 Contributors: Kassio Borges <kassioborgesm@gmail.com> 8409 Description: "Bridge" language defining fragments of Ruby in HTML within <% .. %> 8410 Category: template 8411 */ 8412 8413 function(hljs) { 8414 return { 8415 subLanguage: 'xml', 8416 contains: [ 8417 hljs.COMMENT('<%#', '%>'), 8418 { 8419 begin: '<%[%=-]?', end: '[%-]?%>', 8420 subLanguage: 'ruby', 8421 excludeBegin: true, 8422 excludeEnd: true 8423 } 8424 ] 8425 }; 8426 } 8427 },{name:"erlang-repl",create:/* 8428 Language: Erlang REPL 8429 Author: Sergey Ignatov <sergey@ignatov.spb.su> 8430 Category: functional 8431 */ 8432 8433 function(hljs) { 8434 return { 8435 keywords: { 8436 built_in: 8437 'spawn spawn_link self', 8438 keyword: 8439 'after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if ' + 8440 'let not of or orelse|10 query receive rem try when xor' 8441 }, 8442 contains: [ 8443 { 8444 className: 'meta', begin: '^[0-9]+> ', 8445 relevance: 10 8446 }, 8447 hljs.COMMENT('%', '$'), 8448 { 8449 className: 'number', 8450 begin: '\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)', 8451 relevance: 0 8452 }, 8453 hljs.APOS_STRING_MODE, 8454 hljs.QUOTE_STRING_MODE, 8455 { 8456 begin: '\\?(::)?([A-Z]\\w*(::)?)+' 8457 }, 8458 { 8459 begin: '->' 8460 }, 8461 { 8462 begin: 'ok' 8463 }, 8464 { 8465 begin: '!' 8466 }, 8467 { 8468 begin: '(\\b[a-z\'][a-zA-Z0-9_\']*:[a-z\'][a-zA-Z0-9_\']*)|(\\b[a-z\'][a-zA-Z0-9_\']*)', 8469 relevance: 0 8470 }, 8471 { 8472 begin: '[A-Z][a-zA-Z0-9_\']*', 8473 relevance: 0 8474 } 8475 ] 8476 }; 8477 } 8478 },{name:"erlang",create:/* 8479 Language: Erlang 8480 Description: Erlang is a general-purpose functional language, with strict evaluation, single assignment, and dynamic typing. 8481 Author: Nikolay Zakharov <nikolay.desh@gmail.com>, Dmitry Kovega <arhibot@gmail.com> 8482 Category: functional 8483 */ 8484 8485 function(hljs) { 8486 var BASIC_ATOM_RE = '[a-z\'][a-zA-Z0-9_\']*'; 8487 var FUNCTION_NAME_RE = '(' + BASIC_ATOM_RE + ':' + BASIC_ATOM_RE + '|' + BASIC_ATOM_RE + ')'; 8488 var ERLANG_RESERVED = { 8489 keyword: 8490 'after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if ' + 8491 'let not of orelse|10 query receive rem try when xor', 8492 literal: 8493 'false true' 8494 }; 8495 8496 var COMMENT = hljs.COMMENT('%', '$'); 8497 var NUMBER = { 8498 className: 'number', 8499 begin: '\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)', 8500 relevance: 0 8501 }; 8502 var NAMED_FUN = { 8503 begin: 'fun\\s+' + BASIC_ATOM_RE + '/\\d+' 8504 }; 8505 var FUNCTION_CALL = { 8506 begin: FUNCTION_NAME_RE + '\\(', end: '\\)', 8507 returnBegin: true, 8508 relevance: 0, 8509 contains: [ 8510 { 8511 begin: FUNCTION_NAME_RE, relevance: 0 8512 }, 8513 { 8514 begin: '\\(', end: '\\)', endsWithParent: true, 8515 returnEnd: true, 8516 relevance: 0 8517 // "contains" defined later 8518 } 8519 ] 8520 }; 8521 var TUPLE = { 8522 begin: '{', end: '}', 8523 relevance: 0 8524 // "contains" defined later 8525 }; 8526 var VAR1 = { 8527 begin: '\\b_([A-Z][A-Za-z0-9_]*)?', 8528 relevance: 0 8529 }; 8530 var VAR2 = { 8531 begin: '[A-Z][a-zA-Z0-9_]*', 8532 relevance: 0 8533 }; 8534 var RECORD_ACCESS = { 8535 begin: '#' + hljs.UNDERSCORE_IDENT_RE, 8536 relevance: 0, 8537 returnBegin: true, 8538 contains: [ 8539 { 8540 begin: '#' + hljs.UNDERSCORE_IDENT_RE, 8541 relevance: 0 8542 }, 8543 { 8544 begin: '{', end: '}', 8545 relevance: 0 8546 // "contains" defined later 8547 } 8548 ] 8549 }; 8550 8551 var BLOCK_STATEMENTS = { 8552 beginKeywords: 'fun receive if try case', end: 'end', 8553 keywords: ERLANG_RESERVED 8554 }; 8555 BLOCK_STATEMENTS.contains = [ 8556 COMMENT, 8557 NAMED_FUN, 8558 hljs.inherit(hljs.APOS_STRING_MODE, {className: ''}), 8559 BLOCK_STATEMENTS, 8560 FUNCTION_CALL, 8561 hljs.QUOTE_STRING_MODE, 8562 NUMBER, 8563 TUPLE, 8564 VAR1, VAR2, 8565 RECORD_ACCESS 8566 ]; 8567 8568 var BASIC_MODES = [ 8569 COMMENT, 8570 NAMED_FUN, 8571 BLOCK_STATEMENTS, 8572 FUNCTION_CALL, 8573 hljs.QUOTE_STRING_MODE, 8574 NUMBER, 8575 TUPLE, 8576 VAR1, VAR2, 8577 RECORD_ACCESS 8578 ]; 8579 FUNCTION_CALL.contains[1].contains = BASIC_MODES; 8580 TUPLE.contains = BASIC_MODES; 8581 RECORD_ACCESS.contains[1].contains = BASIC_MODES; 8582 8583 var PARAMS = { 8584 className: 'params', 8585 begin: '\\(', end: '\\)', 8586 contains: BASIC_MODES 8587 }; 8588 return { 8589 aliases: ['erl'], 8590 keywords: ERLANG_RESERVED, 8591 illegal: '(</|\\*=|\\+=|-=|/\\*|\\*/|\\(\\*|\\*\\))', 8592 contains: [ 8593 { 8594 className: 'function', 8595 begin: '^' + BASIC_ATOM_RE + '\\s*\\(', end: '->', 8596 returnBegin: true, 8597 illegal: '\\(|#|//|/\\*|\\\\|:|;', 8598 contains: [ 8599 PARAMS, 8600 hljs.inherit(hljs.TITLE_MODE, {begin: BASIC_ATOM_RE}) 8601 ], 8602 starts: { 8603 end: ';|\\.', 8604 keywords: ERLANG_RESERVED, 8605 contains: BASIC_MODES 8606 } 8607 }, 8608 COMMENT, 8609 { 8610 begin: '^-', end: '\\.', 8611 relevance: 0, 8612 excludeEnd: true, 8613 returnBegin: true, 8614 lexemes: '-' + hljs.IDENT_RE, 8615 keywords: 8616 '-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn ' + 8617 '-import -include -include_lib -compile -define -else -endif -file -behaviour ' + 8618 '-behavior -spec', 8619 contains: [PARAMS] 8620 }, 8621 NUMBER, 8622 hljs.QUOTE_STRING_MODE, 8623 RECORD_ACCESS, 8624 VAR1, VAR2, 8625 TUPLE, 8626 {begin: /\.$/} // relevance booster 8627 ] 8628 }; 8629 } 8630 },{name:"excel",create:/* 8631 Language: Excel 8632 Author: Victor Zhou <OiCMudkips@users.noreply.github.com> 8633 Description: Excel formulae 8634 */ 8635 8636 function(hljs) { 8637 return { 8638 aliases: ['xlsx', 'xls'], 8639 case_insensitive: true, 8640 lexemes: /[a-zA-Z][\w\.]*/, 8641 // built-in functions imported from https://web.archive.org/web/20160513042710/https://support.office.com/en-us/article/Excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188 8642 keywords: { 8643 built_in: 'ABS ACCRINT ACCRINTM ACOS ACOSH ACOT ACOTH AGGREGATE ADDRESS AMORDEGRC AMORLINC AND ARABIC AREAS ASC ASIN ASINH ATAN ATAN2 ATANH AVEDEV AVERAGE AVERAGEA AVERAGEIF AVERAGEIFS BAHTTEXT BASE BESSELI BESSELJ BESSELK BESSELY BETADIST BETA.DIST BETAINV BETA.INV BIN2DEC BIN2HEX BIN2OCT BINOMDIST BINOM.DIST BINOM.DIST.RANGE BINOM.INV BITAND BITLSHIFT BITOR BITRSHIFT BITXOR CALL CEILING CEILING.MATH CEILING.PRECISE CELL CHAR CHIDIST CHIINV CHITEST CHISQ.DIST CHISQ.DIST.RT CHISQ.INV CHISQ.INV.RT CHISQ.TEST CHOOSE CLEAN CODE COLUMN COLUMNS COMBIN COMBINA COMPLEX CONCAT CONCATENATE CONFIDENCE CONFIDENCE.NORM CONFIDENCE.T CONVERT CORREL COS COSH COT COTH COUNT COUNTA COUNTBLANK COUNTIF COUNTIFS COUPDAYBS COUPDAYS COUPDAYSNC COUPNCD COUPNUM COUPPCD COVAR COVARIANCE.P COVARIANCE.S CRITBINOM CSC CSCH CUBEKPIMEMBER CUBEMEMBER CUBEMEMBERPROPERTY CUBERANKEDMEMBER CUBESET CUBESETCOUNT CUBEVALUE CUMIPMT CUMPRINC DATE DATEDIF DATEVALUE DAVERAGE DAY DAYS DAYS360 DB DBCS DCOUNT DCOUNTA DDB DEC2BIN DEC2HEX DEC2OCT DECIMAL DEGREES DELTA DEVSQ DGET DISC DMAX DMIN DOLLAR DOLLARDE DOLLARFR DPRODUCT DSTDEV DSTDEVP DSUM DURATION DVAR DVARP EDATE EFFECT ENCODEURL EOMONTH ERF ERF.PRECISE ERFC ERFC.PRECISE ERROR.TYPE EUROCONVERT EVEN EXACT EXP EXPON.DIST EXPONDIST FACT FACTDOUBLE FALSE|0 F.DIST FDIST F.DIST.RT FILTERXML FIND FINDB F.INV F.INV.RT FINV FISHER FISHERINV FIXED FLOOR FLOOR.MATH FLOOR.PRECISE FORECAST FORECAST.ETS FORECAST.ETS.CONFINT FORECAST.ETS.SEASONALITY FORECAST.ETS.STAT FORECAST.LINEAR FORMULATEXT FREQUENCY F.TEST FTEST FV FVSCHEDULE GAMMA GAMMA.DIST GAMMADIST GAMMA.INV GAMMAINV GAMMALN GAMMALN.PRECISE GAUSS GCD GEOMEAN GESTEP GETPIVOTDATA GROWTH HARMEAN HEX2BIN HEX2DEC HEX2OCT HLOOKUP HOUR HYPERLINK HYPGEOM.DIST HYPGEOMDIST IF|0 IFERROR IFNA IFS IMABS IMAGINARY IMARGUMENT IMCONJUGATE IMCOS IMCOSH IMCOT IMCSC IMCSCH IMDIV IMEXP IMLN IMLOG10 IMLOG2 IMPOWER IMPRODUCT IMREAL IMSEC IMSECH IMSIN IMSINH IMSQRT IMSUB IMSUM IMTAN INDEX INDIRECT INFO INT INTERCEPT INTRATE IPMT IRR ISBLANK ISERR ISERROR ISEVEN ISFORMULA ISLOGICAL ISNA ISNONTEXT ISNUMBER ISODD ISREF ISTEXT ISO.CEILING ISOWEEKNUM ISPMT JIS KURT LARGE LCM LEFT LEFTB LEN LENB LINEST LN LOG LOG10 LOGEST LOGINV LOGNORM.DIST LOGNORMDIST LOGNORM.INV LOOKUP LOWER MATCH MAX MAXA MAXIFS MDETERM MDURATION MEDIAN MID MIDBs MIN MINIFS MINA MINUTE MINVERSE MIRR MMULT MOD MODE MODE.MULT MODE.SNGL MONTH MROUND MULTINOMIAL MUNIT N NA NEGBINOM.DIST NEGBINOMDIST NETWORKDAYS NETWORKDAYS.INTL NOMINAL NORM.DIST NORMDIST NORMINV NORM.INV NORM.S.DIST NORMSDIST NORM.S.INV NORMSINV NOT NOW NPER NPV NUMBERVALUE OCT2BIN OCT2DEC OCT2HEX ODD ODDFPRICE ODDFYIELD ODDLPRICE ODDLYIELD OFFSET OR PDURATION PEARSON PERCENTILE.EXC PERCENTILE.INC PERCENTILE PERCENTRANK.EXC PERCENTRANK.INC PERCENTRANK PERMUT PERMUTATIONA PHI PHONETIC PI PMT POISSON.DIST POISSON POWER PPMT PRICE PRICEDISC PRICEMAT PROB PRODUCT PROPER PV QUARTILE QUARTILE.EXC QUARTILE.INC QUOTIENT RADIANS RAND RANDBETWEEN RANK.AVG RANK.EQ RANK RATE RECEIVED REGISTER.ID REPLACE REPLACEB REPT RIGHT RIGHTB ROMAN ROUND ROUNDDOWN ROUNDUP ROW ROWS RRI RSQ RTD SEARCH SEARCHB SEC SECH SECOND SERIESSUM SHEET SHEETS SIGN SIN SINH SKEW SKEW.P SLN SLOPE SMALL SQL.REQUEST SQRT SQRTPI STANDARDIZE STDEV STDEV.P STDEV.S STDEVA STDEVP STDEVPA STEYX SUBSTITUTE SUBTOTAL SUM SUMIF SUMIFS SUMPRODUCT SUMSQ SUMX2MY2 SUMX2PY2 SUMXMY2 SWITCH SYD T TAN TANH TBILLEQ TBILLPRICE TBILLYIELD T.DIST T.DIST.2T T.DIST.RT TDIST TEXT TEXTJOIN TIME TIMEVALUE T.INV T.INV.2T TINV TODAY TRANSPOSE TREND TRIM TRIMMEAN TRUE|0 TRUNC T.TEST TTEST TYPE UNICHAR UNICODE UPPER VALUE VAR VAR.P VAR.S VARA VARP VARPA VDB VLOOKUP WEBSERVICE WEEKDAY WEEKNUM WEIBULL WEIBULL.DIST WORKDAY WORKDAY.INTL XIRR XNPV XOR YEAR YEARFRAC YIELD YIELDDISC YIELDMAT Z.TEST ZTEST' 8644 }, 8645 contains: [ 8646 { 8647 /* matches a beginning equal sign found in Excel formula examples */ 8648 begin: /^=/, 8649 end: /[^=]/, returnEnd: true, illegal: /=/, /* only allow single equal sign at front of line */ 8650 relevance: 10 8651 }, 8652 /* technically, there can be more than 2 letters in column names, but this prevents conflict with some keywords */ 8653 { 8654 /* matches a reference to a single cell */ 8655 className: 'symbol', 8656 begin: /\b[A-Z]{1,2}\d+\b/, 8657 end: /[^\d]/, excludeEnd: true, 8658 relevance: 0 8659 }, 8660 { 8661 /* matches a reference to a range of cells */ 8662 className: 'symbol', 8663 begin: /[A-Z]{0,2}\d*:[A-Z]{0,2}\d*/, 8664 relevance: 0 8665 }, 8666 hljs.BACKSLASH_ESCAPE, 8667 hljs.QUOTE_STRING_MODE, 8668 { 8669 className: 'number', 8670 begin: hljs.NUMBER_RE + '(%)?', 8671 relevance: 0 8672 }, 8673 /* Excel formula comments are done by putting the comment in a function call to N() */ 8674 hljs.COMMENT(/\bN\(/,/\)/, 8675 { 8676 excludeBegin: true, 8677 excludeEnd: true, 8678 illegal: /\n/ 8679 }) 8680 ] 8681 }; 8682 } 8683 },{name:"fix",create:/* 8684 Language: FIX 8685 Author: Brent Bradbury <brent@brentium.com> 8686 */ 8687 8688 function(hljs) { 8689 return { 8690 contains: [ 8691 { 8692 begin: /[^\u2401\u0001]+/, 8693 end: /[\u2401\u0001]/, 8694 excludeEnd: true, 8695 returnBegin: true, 8696 returnEnd: false, 8697 contains: [ 8698 { 8699 begin: /([^\u2401\u0001=]+)/, 8700 end: /=([^\u2401\u0001=]+)/, 8701 returnEnd: true, 8702 returnBegin: false, 8703 className: 'attr' 8704 }, 8705 { 8706 begin: /=/, 8707 end: /([\u2401\u0001])/, 8708 excludeEnd: true, 8709 excludeBegin: true, 8710 className: 'string' 8711 }] 8712 }], 8713 case_insensitive: true 8714 }; 8715 } 8716 },{name:"flix",create:/* 8717 Language: Flix 8718 Category: functional 8719 Author: Magnus Madsen <mmadsen@uwaterloo.ca> 8720 */ 8721 8722 function (hljs) { 8723 8724 var CHAR = { 8725 className: 'string', 8726 begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/ 8727 }; 8728 8729 var STRING = { 8730 className: 'string', 8731 variants: [ 8732 { 8733 begin: '"', end: '"' 8734 } 8735 ] 8736 }; 8737 8738 var NAME = { 8739 className: 'title', 8740 begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/ 8741 }; 8742 8743 var METHOD = { 8744 className: 'function', 8745 beginKeywords: 'def', 8746 end: /[:={\[(\n;]/, 8747 excludeEnd: true, 8748 contains: [NAME] 8749 }; 8750 8751 return { 8752 keywords: { 8753 literal: 'true false', 8754 keyword: 'case class def else enum if impl import in lat rel index let match namespace switch type yield with' 8755 }, 8756 contains: [ 8757 hljs.C_LINE_COMMENT_MODE, 8758 hljs.C_BLOCK_COMMENT_MODE, 8759 CHAR, 8760 STRING, 8761 METHOD, 8762 hljs.C_NUMBER_MODE 8763 ] 8764 }; 8765 } 8766 },{name:"fortran",create:/* 8767 Language: Fortran 8768 Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr> 8769 Category: scientific 8770 */ 8771 8772 function(hljs) { 8773 var PARAMS = { 8774 className: 'params', 8775 begin: '\\(', end: '\\)' 8776 }; 8777 8778 var F_KEYWORDS = { 8779 literal: '.False. .True.', 8780 keyword: 'kind do while private call intrinsic where elsewhere ' + 8781 'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then ' + 8782 'public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ' + 8783 'goto save else use module select case ' + 8784 'access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ' + 8785 'continue format pause cycle exit ' + 8786 'c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg ' + 8787 'synchronous nopass non_overridable pass protected volatile abstract extends import ' + 8788 'non_intrinsic value deferred generic final enumerator class associate bind enum ' + 8789 'c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t ' + 8790 'c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double ' + 8791 'c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr ' + 8792 'c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer ' + 8793 'c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor ' + 8794 'numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ' + 8795 'ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive ' + 8796 'pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure ' + 8797 'integer real character complex logical dimension allocatable|10 parameter ' + 8798 'external implicit|10 none double precision assign intent optional pointer ' + 8799 'target in out common equivalence data', 8800 built_in: 'alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint ' + 8801 'dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl ' + 8802 'algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama ' + 8803 'iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod ' + 8804 'qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log ' + 8805 'log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate ' + 8806 'adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product ' + 8807 'eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul ' + 8808 'maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product ' + 8809 'radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind ' + 8810 'set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer ' + 8811 'dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ' + 8812 'ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode ' + 8813 'is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of' + 8814 'acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 ' + 8815 'atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits ' + 8816 'bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr ' + 8817 'num_images parity popcnt poppar shifta shiftl shiftr this_image' 8818 }; 8819 return { 8820 case_insensitive: true, 8821 aliases: ['f90', 'f95'], 8822 keywords: F_KEYWORDS, 8823 illegal: /\/\*/, 8824 contains: [ 8825 hljs.inherit(hljs.APOS_STRING_MODE, {className: 'string', relevance: 0}), 8826 hljs.inherit(hljs.QUOTE_STRING_MODE, {className: 'string', relevance: 0}), 8827 { 8828 className: 'function', 8829 beginKeywords: 'subroutine function program', 8830 illegal: '[${=\\n]', 8831 contains: [hljs.UNDERSCORE_TITLE_MODE, PARAMS] 8832 }, 8833 hljs.COMMENT('!', '$', {relevance: 0}), 8834 { 8835 className: 'number', 8836 begin: '(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?', 8837 relevance: 0 8838 } 8839 ] 8840 }; 8841 } 8842 },{name:"fsharp",create:/* 8843 Language: F# 8844 Author: Jonas Follesø <jonas@follesoe.no> 8845 Contributors: Troy Kershaw <hello@troykershaw.com>, Henrik Feldt <henrik@haf.se> 8846 Category: functional 8847 */ 8848 function(hljs) { 8849 var TYPEPARAM = { 8850 begin: '<', end: '>', 8851 contains: [ 8852 hljs.inherit(hljs.TITLE_MODE, {begin: /'[a-zA-Z0-9_]+/}) 8853 ] 8854 }; 8855 8856 return { 8857 aliases: ['fs'], 8858 keywords: 8859 'abstract and as assert base begin class default delegate do done ' + 8860 'downcast downto elif else end exception extern false finally for ' + 8861 'fun function global if in inherit inline interface internal lazy let ' + 8862 'match member module mutable namespace new null of open or ' + 8863 'override private public rec return sig static struct then to ' + 8864 'true try type upcast use val void when while with yield', 8865 illegal: /\/\*/, 8866 contains: [ 8867 { 8868 // monad builder keywords (matches before non-bang kws) 8869 className: 'keyword', 8870 begin: /\b(yield|return|let|do)!/ 8871 }, 8872 { 8873 className: 'string', 8874 begin: '@"', end: '"', 8875 contains: [{begin: '""'}] 8876 }, 8877 { 8878 className: 'string', 8879 begin: '"""', end: '"""' 8880 }, 8881 hljs.COMMENT('\\(\\*', '\\*\\)'), 8882 { 8883 className: 'class', 8884 beginKeywords: 'type', end: '\\(|=|$', excludeEnd: true, 8885 contains: [ 8886 hljs.UNDERSCORE_TITLE_MODE, 8887 TYPEPARAM 8888 ] 8889 }, 8890 { 8891 className: 'meta', 8892 begin: '\\[<', end: '>\\]', 8893 relevance: 10 8894 }, 8895 { 8896 className: 'symbol', 8897 begin: '\\B(\'[A-Za-z])\\b', 8898 contains: [hljs.BACKSLASH_ESCAPE] 8899 }, 8900 hljs.C_LINE_COMMENT_MODE, 8901 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 8902 hljs.C_NUMBER_MODE 8903 ] 8904 }; 8905 } 8906 },{name:"gams",create: 8907 /* 8908 Language: GAMS 8909 Author: Stefan Bechert <stefan.bechert@gmx.net> 8910 Contributors: Oleg Efimov <efimovov@gmail.com>, Mikko Kouhia <mikko.kouhia@iki.fi> 8911 Description: The General Algebraic Modeling System language 8912 Category: scientific 8913 */ 8914 8915 function (hljs) { 8916 var KEYWORDS = { 8917 'keyword': 8918 'abort acronym acronyms alias all and assign binary card diag display ' + 8919 'else eq file files for free ge gt if integer le loop lt maximizing ' + 8920 'minimizing model models ne negative no not option options or ord ' + 8921 'positive prod put putpage puttl repeat sameas semicont semiint smax ' + 8922 'smin solve sos1 sos2 sum system table then until using while xor yes', 8923 'literal': 'eps inf na', 8924 'built-in': 8925 'abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy ' + 8926 'cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact ' + 8927 'floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max ' + 8928 'min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power ' + 8929 'randBinomial randLinear randTriangle round rPower sigmoid sign ' + 8930 'signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt ' + 8931 'tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp ' + 8932 'bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt ' + 8933 'rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear ' + 8934 'jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion ' + 8935 'handleCollect handleDelete handleStatus handleSubmit heapFree ' + 8936 'heapLimit heapSize jobHandle jobKill jobStatus jobTerminate ' + 8937 'licenseLevel licenseStatus maxExecError sleep timeClose timeComp ' + 8938 'timeElapsed timeExec timeStart' 8939 }; 8940 var PARAMS = { 8941 className: 'params', 8942 begin: /\(/, end: /\)/, 8943 excludeBegin: true, 8944 excludeEnd: true, 8945 }; 8946 var SYMBOLS = { 8947 className: 'symbol', 8948 variants: [ 8949 {begin: /\=[lgenxc]=/}, 8950 {begin: /\$/}, 8951 ] 8952 }; 8953 var QSTR = { // One-line quoted comment string 8954 className: 'comment', 8955 variants: [ 8956 {begin: '\'', end: '\''}, 8957 {begin: '"', end: '"'}, 8958 ], 8959 illegal: '\\n', 8960 contains: [hljs.BACKSLASH_ESCAPE] 8961 }; 8962 var ASSIGNMENT = { 8963 begin: '/', 8964 end: '/', 8965 keywords: KEYWORDS, 8966 contains: [ 8967 QSTR, 8968 hljs.C_LINE_COMMENT_MODE, 8969 hljs.C_BLOCK_COMMENT_MODE, 8970 hljs.QUOTE_STRING_MODE, 8971 hljs.APOS_STRING_MODE, 8972 hljs.C_NUMBER_MODE, 8973 ], 8974 }; 8975 var DESCTEXT = { // Parameter/set/variable description text 8976 begin: /[a-z][a-z0-9_]*(\([a-z0-9_, ]*\))?[ \t]+/, 8977 excludeBegin: true, 8978 end: '$', 8979 endsWithParent: true, 8980 contains: [ 8981 QSTR, 8982 ASSIGNMENT, 8983 { 8984 className: 'comment', 8985 begin: /([ ]*[a-z0-9&#*=?@>\\<:\-,()$\[\]_.{}!+%^]+)+/, 8986 relevance: 0 8987 }, 8988 ], 8989 }; 8990 8991 return { 8992 aliases: ['gms'], 8993 case_insensitive: true, 8994 keywords: KEYWORDS, 8995 contains: [ 8996 hljs.COMMENT(/^\$ontext/, /^\$offtext/), 8997 { 8998 className: 'meta', 8999 begin: '^\\$[a-z0-9]+', 9000 end: '$', 9001 returnBegin: true, 9002 contains: [ 9003 { 9004 className: 'meta-keyword', 9005 begin: '^\\$[a-z0-9]+', 9006 } 9007 ] 9008 }, 9009 hljs.COMMENT('^\\*', '$'), 9010 hljs.C_LINE_COMMENT_MODE, 9011 hljs.C_BLOCK_COMMENT_MODE, 9012 hljs.QUOTE_STRING_MODE, 9013 hljs.APOS_STRING_MODE, 9014 // Declarations 9015 { 9016 beginKeywords: 9017 'set sets parameter parameters variable variables ' + 9018 'scalar scalars equation equations', 9019 end: ';', 9020 contains: [ 9021 hljs.COMMENT('^\\*', '$'), 9022 hljs.C_LINE_COMMENT_MODE, 9023 hljs.C_BLOCK_COMMENT_MODE, 9024 hljs.QUOTE_STRING_MODE, 9025 hljs.APOS_STRING_MODE, 9026 ASSIGNMENT, 9027 DESCTEXT, 9028 ] 9029 }, 9030 { // table environment 9031 beginKeywords: 'table', 9032 end: ';', 9033 returnBegin: true, 9034 contains: [ 9035 { // table header row 9036 beginKeywords: 'table', 9037 end: '$', 9038 contains: [DESCTEXT], 9039 }, 9040 hljs.COMMENT('^\\*', '$'), 9041 hljs.C_LINE_COMMENT_MODE, 9042 hljs.C_BLOCK_COMMENT_MODE, 9043 hljs.QUOTE_STRING_MODE, 9044 hljs.APOS_STRING_MODE, 9045 hljs.C_NUMBER_MODE, 9046 // Table does not contain DESCTEXT or ASSIGNMENT 9047 ] 9048 }, 9049 // Function definitions 9050 { 9051 className: 'function', 9052 begin: /^[a-z][a-z0-9_,\-+' ()$]+\.{2}/, 9053 returnBegin: true, 9054 contains: [ 9055 { // Function title 9056 className: 'title', 9057 begin: /^[a-z0-9_]+/, 9058 }, 9059 PARAMS, 9060 SYMBOLS, 9061 ], 9062 }, 9063 hljs.C_NUMBER_MODE, 9064 SYMBOLS, 9065 ] 9066 }; 9067 } 9068 },{name:"gauss",create:/* 9069 Language: GAUSS 9070 Author: Matt Evans <matt@aptech.com> 9071 Category: scientific 9072 Description: GAUSS Mathematical and Statistical language 9073 */ 9074 function(hljs) { 9075 var KEYWORDS = { 9076 keyword: 'bool break call callexe checkinterrupt clear clearg closeall cls comlog compile ' + 9077 'continue create debug declare delete disable dlibrary dllcall do dos ed edit else ' + 9078 'elseif enable end endfor endif endp endo errorlog errorlogat expr external fn ' + 9079 'for format goto gosub graph if keyword let lib library line load loadarray loadexe ' + 9080 'loadf loadk loadm loadp loads loadx local locate loopnextindex lprint lpwidth lshow ' + 9081 'matrix msym ndpclex new open output outwidth plot plotsym pop prcsn print ' + 9082 'printdos proc push retp return rndcon rndmod rndmult rndseed run save saveall screen ' + 9083 'scroll setarray show sparse stop string struct system trace trap threadfor ' + 9084 'threadendfor threadbegin threadjoin threadstat threadend until use while winprint ' + 9085 'ne ge le gt lt and xor or not eq eqv', 9086 built_in: 'abs acf aconcat aeye amax amean AmericanBinomCall AmericanBinomCall_Greeks AmericanBinomCall_ImpVol ' + 9087 'AmericanBinomPut AmericanBinomPut_Greeks AmericanBinomPut_ImpVol AmericanBSCall AmericanBSCall_Greeks ' + 9088 'AmericanBSCall_ImpVol AmericanBSPut AmericanBSPut_Greeks AmericanBSPut_ImpVol amin amult annotationGetDefaults ' + 9089 'annotationSetBkd annotationSetFont annotationSetLineColor annotationSetLineStyle annotationSetLineThickness ' + 9090 'annualTradingDays arccos arcsin areshape arrayalloc arrayindex arrayinit arraytomat asciiload asclabel astd ' + 9091 'astds asum atan atan2 atranspose axmargin balance band bandchol bandcholsol bandltsol bandrv bandsolpd bar ' + 9092 'base10 begwind besselj bessely beta box boxcox cdfBeta cdfBetaInv cdfBinomial cdfBinomialInv cdfBvn cdfBvn2 ' + 9093 'cdfBvn2e cdfCauchy cdfCauchyInv cdfChic cdfChii cdfChinc cdfChincInv cdfExp cdfExpInv cdfFc cdfFnc cdfFncInv ' + 9094 'cdfGam cdfGenPareto cdfHyperGeo cdfLaplace cdfLaplaceInv cdfLogistic cdfLogisticInv cdfmControlCreate cdfMvn ' + 9095 'cdfMvn2e cdfMvnce cdfMvne cdfMvt2e cdfMvtce cdfMvte cdfN cdfN2 cdfNc cdfNegBinomial cdfNegBinomialInv cdfNi ' + 9096 'cdfPoisson cdfPoissonInv cdfRayleigh cdfRayleighInv cdfTc cdfTci cdfTnc cdfTvn cdfWeibull cdfWeibullInv cdir ' + 9097 'ceil ChangeDir chdir chiBarSquare chol choldn cholsol cholup chrs close code cols colsf combinate combinated ' + 9098 'complex con cond conj cons ConScore contour conv convertsatostr convertstrtosa corrm corrms corrvc corrx corrxs ' + 9099 'cos cosh counts countwts crossprd crout croutp csrcol csrlin csvReadM csvReadSA cumprodc cumsumc curve cvtos ' + 9100 'datacreate datacreatecomplex datalist dataload dataloop dataopen datasave date datestr datestring datestrymd ' + 9101 'dayinyr dayofweek dbAddDatabase dbClose dbCommit dbCreateQuery dbExecQuery dbGetConnectOptions dbGetDatabaseName ' + 9102 'dbGetDriverName dbGetDrivers dbGetHostName dbGetLastErrorNum dbGetLastErrorText dbGetNumericalPrecPolicy ' + 9103 'dbGetPassword dbGetPort dbGetTableHeaders dbGetTables dbGetUserName dbHasFeature dbIsDriverAvailable dbIsOpen ' + 9104 'dbIsOpenError dbOpen dbQueryBindValue dbQueryClear dbQueryCols dbQueryExecPrepared dbQueryFetchAllM dbQueryFetchAllSA ' + 9105 'dbQueryFetchOneM dbQueryFetchOneSA dbQueryFinish dbQueryGetBoundValue dbQueryGetBoundValues dbQueryGetField ' + 9106 'dbQueryGetLastErrorNum dbQueryGetLastErrorText dbQueryGetLastInsertID dbQueryGetLastQuery dbQueryGetPosition ' + 9107 'dbQueryIsActive dbQueryIsForwardOnly dbQueryIsNull dbQueryIsSelect dbQueryIsValid dbQueryPrepare dbQueryRows ' + 9108 'dbQuerySeek dbQuerySeekFirst dbQuerySeekLast dbQuerySeekNext dbQuerySeekPrevious dbQuerySetForwardOnly ' + 9109 'dbRemoveDatabase dbRollback dbSetConnectOptions dbSetDatabaseName dbSetHostName dbSetNumericalPrecPolicy ' + 9110 'dbSetPort dbSetUserName dbTransaction DeleteFile delif delrows denseToSp denseToSpRE denToZero design det detl ' + 9111 'dfft dffti diag diagrv digamma doswin DOSWinCloseall DOSWinOpen dotfeq dotfeqmt dotfge dotfgemt dotfgt dotfgtmt ' + 9112 'dotfle dotflemt dotflt dotfltmt dotfne dotfnemt draw drop dsCreate dstat dstatmt dstatmtControlCreate dtdate dtday ' + 9113 'dttime dttodtv dttostr dttoutc dtvnormal dtvtodt dtvtoutc dummy dummybr dummydn eig eigh eighv eigv elapsedTradingDays ' + 9114 'endwind envget eof eqSolve eqSolvemt eqSolvemtControlCreate eqSolvemtOutCreate eqSolveset erf erfc erfccplx erfcplx error ' + 9115 'etdays ethsec etstr EuropeanBinomCall EuropeanBinomCall_Greeks EuropeanBinomCall_ImpVol EuropeanBinomPut ' + 9116 'EuropeanBinomPut_Greeks EuropeanBinomPut_ImpVol EuropeanBSCall EuropeanBSCall_Greeks EuropeanBSCall_ImpVol ' + 9117 'EuropeanBSPut EuropeanBSPut_Greeks EuropeanBSPut_ImpVol exctsmpl exec execbg exp extern eye fcheckerr fclearerr feq ' + 9118 'feqmt fflush fft ffti fftm fftmi fftn fge fgemt fgets fgetsa fgetsat fgetst fgt fgtmt fileinfo filesa fle flemt ' + 9119 'floor flt fltmt fmod fne fnemt fonts fopen formatcv formatnv fputs fputst fseek fstrerror ftell ftocv ftos ftostrC ' + 9120 'gamma gammacplx gammaii gausset gdaAppend gdaCreate gdaDStat gdaDStatMat gdaGetIndex gdaGetName gdaGetNames gdaGetOrders ' + 9121 'gdaGetType gdaGetTypes gdaGetVarInfo gdaIsCplx gdaLoad gdaPack gdaRead gdaReadByIndex gdaReadSome gdaReadSparse ' + 9122 'gdaReadStruct gdaReportVarInfo gdaSave gdaUpdate gdaUpdateAndPack gdaVars gdaWrite gdaWrite32 gdaWriteSome getarray ' + 9123 'getdims getf getGAUSShome getmatrix getmatrix4D getname getnamef getNextTradingDay getNextWeekDay getnr getorders ' + 9124 'getpath getPreviousTradingDay getPreviousWeekDay getRow getscalar3D getscalar4D getTrRow getwind glm gradcplx gradMT ' + 9125 'gradMTm gradMTT gradMTTm gradp graphprt graphset hasimag header headermt hess hessMT hessMTg hessMTgw hessMTm ' + 9126 'hessMTmw hessMTT hessMTTg hessMTTgw hessMTTm hessMTw hessp hist histf histp hsec imag indcv indexcat indices indices2 ' + 9127 'indicesf indicesfn indnv indsav integrate1d integrateControlCreate intgrat2 intgrat3 inthp1 inthp2 inthp3 inthp4 ' + 9128 'inthpControlCreate intquad1 intquad2 intquad3 intrleav intrleavsa intrsect intsimp inv invpd invswp iscplx iscplxf ' + 9129 'isden isinfnanmiss ismiss key keyav keyw lag lag1 lagn lapEighb lapEighi lapEighvb lapEighvi lapgEig lapgEigh lapgEighv ' + 9130 'lapgEigv lapgSchur lapgSvdcst lapgSvds lapgSvdst lapSvdcusv lapSvds lapSvdusv ldlp ldlsol linSolve listwise ln lncdfbvn ' + 9131 'lncdfbvn2 lncdfmvn lncdfn lncdfn2 lncdfnc lnfact lngammacplx lnpdfmvn lnpdfmvt lnpdfn lnpdft loadd loadstruct loadwind ' + 9132 'loess loessmt loessmtControlCreate log loglog logx logy lower lowmat lowmat1 ltrisol lu lusol machEpsilon make makevars ' + 9133 'makewind margin matalloc matinit mattoarray maxbytes maxc maxindc maxv maxvec mbesselei mbesselei0 mbesselei1 mbesseli ' + 9134 'mbesseli0 mbesseli1 meanc median mergeby mergevar minc minindc minv miss missex missrv moment momentd movingave ' + 9135 'movingaveExpwgt movingaveWgt nextindex nextn nextnevn nextwind ntos null null1 numCombinations ols olsmt olsmtControlCreate ' + 9136 'olsqr olsqr2 olsqrmt ones optn optnevn orth outtyp pacf packedToSp packr parse pause pdfCauchy pdfChi pdfExp pdfGenPareto ' + 9137 'pdfHyperGeo pdfLaplace pdfLogistic pdfn pdfPoisson pdfRayleigh pdfWeibull pi pinv pinvmt plotAddArrow plotAddBar plotAddBox ' + 9138 'plotAddHist plotAddHistF plotAddHistP plotAddPolar plotAddScatter plotAddShape plotAddTextbox plotAddTS plotAddXY plotArea ' + 9139 'plotBar plotBox plotClearLayout plotContour plotCustomLayout plotGetDefaults plotHist plotHistF plotHistP plotLayout ' + 9140 'plotLogLog plotLogX plotLogY plotOpenWindow plotPolar plotSave plotScatter plotSetAxesPen plotSetBar plotSetBarFill ' + 9141 'plotSetBarStacked plotSetBkdColor plotSetFill plotSetGrid plotSetLegend plotSetLineColor plotSetLineStyle plotSetLineSymbol ' + 9142 'plotSetLineThickness plotSetNewWindow plotSetTitle plotSetWhichYAxis plotSetXAxisShow plotSetXLabel plotSetXRange ' + 9143 'plotSetXTicInterval plotSetXTicLabel plotSetYAxisShow plotSetYLabel plotSetYRange plotSetZAxisShow plotSetZLabel ' + 9144 'plotSurface plotTS plotXY polar polychar polyeval polygamma polyint polymake polymat polymroot polymult polyroot ' + 9145 'pqgwin previousindex princomp printfm printfmt prodc psi putarray putf putvals pvCreate pvGetIndex pvGetParNames ' + 9146 'pvGetParVector pvLength pvList pvPack pvPacki pvPackm pvPackmi pvPacks pvPacksi pvPacksm pvPacksmi pvPutParVector ' + 9147 'pvTest pvUnpack QNewton QNewtonmt QNewtonmtControlCreate QNewtonmtOutCreate QNewtonSet QProg QProgmt QProgmtInCreate ' + 9148 'qqr qqre qqrep qr qre qrep qrsol qrtsol qtyr qtyre qtyrep quantile quantiled qyr qyre qyrep qz rank rankindx readr ' + 9149 'real reclassify reclassifyCuts recode recserar recsercp recserrc rerun rescale reshape rets rev rfft rffti rfftip rfftn ' + 9150 'rfftnp rfftp rndBernoulli rndBeta rndBinomial rndCauchy rndChiSquare rndCon rndCreateState rndExp rndGamma rndGeo rndGumbel ' + 9151 'rndHyperGeo rndi rndKMbeta rndKMgam rndKMi rndKMn rndKMnb rndKMp rndKMu rndKMvm rndLaplace rndLCbeta rndLCgam rndLCi rndLCn ' + 9152 'rndLCnb rndLCp rndLCu rndLCvm rndLogNorm rndMTu rndMVn rndMVt rndn rndnb rndNegBinomial rndp rndPoisson rndRayleigh ' + 9153 'rndStateSkip rndu rndvm rndWeibull rndWishart rotater round rows rowsf rref sampleData satostrC saved saveStruct savewind ' + 9154 'scale scale3d scalerr scalinfnanmiss scalmiss schtoc schur searchsourcepath seekr select selif seqa seqm setdif setdifsa ' + 9155 'setvars setvwrmode setwind shell shiftr sin singleindex sinh sleep solpd sortc sortcc sortd sorthc sorthcc sortind ' + 9156 'sortindc sortmc sortr sortrc spBiconjGradSol spChol spConjGradSol spCreate spDenseSubmat spDiagRvMat spEigv spEye spLDL ' + 9157 'spline spLU spNumNZE spOnes spreadSheetReadM spreadSheetReadSA spreadSheetWrite spScale spSubmat spToDense spTrTDense ' + 9158 'spTScalar spZeros sqpSolve sqpSolveMT sqpSolveMTControlCreate sqpSolveMTlagrangeCreate sqpSolveMToutCreate sqpSolveSet ' + 9159 'sqrt statements stdc stdsc stocv stof strcombine strindx strlen strput strrindx strsect strsplit strsplitPad strtodt ' + 9160 'strtof strtofcplx strtriml strtrimr strtrunc strtruncl strtruncpad strtruncr submat subscat substute subvec sumc sumr ' + 9161 'surface svd svd1 svd2 svdcusv svds svdusv sysstate tab tan tanh tempname ' + 9162 'time timedt timestr timeutc title tkf2eps tkf2ps tocart todaydt toeplitz token topolar trapchk ' + 9163 'trigamma trimr trunc type typecv typef union unionsa uniqindx uniqindxsa unique uniquesa upmat upmat1 upper utctodt ' + 9164 'utctodtv utrisol vals varCovMS varCovXS varget vargetl varmall varmares varput varputl vartypef vcm vcms vcx vcxs ' + 9165 'vec vech vecr vector vget view viewxyz vlist vnamecv volume vput vread vtypecv wait waitc walkindex where window ' + 9166 'writer xlabel xlsGetSheetCount xlsGetSheetSize xlsGetSheetTypes xlsMakeRange xlsReadM xlsReadSA xlsWrite xlsWriteM ' + 9167 'xlsWriteSA xpnd xtics xy xyz ylabel ytics zeros zeta zlabel ztics cdfEmpirical dot h5create h5open h5read h5readAttribute ' + 9168 'h5write h5writeAttribute ldl plotAddErrorBar plotAddSurface plotCDFEmpirical plotSetColormap plotSetContourLabels ' + 9169 'plotSetLegendFont plotSetTextInterpreter plotSetXTicCount plotSetYTicCount plotSetZLevels powerm strjoin sylvester ' + 9170 'strtrim', 9171 literal: 'DB_AFTER_LAST_ROW DB_ALL_TABLES DB_BATCH_OPERATIONS DB_BEFORE_FIRST_ROW DB_BLOB DB_EVENT_NOTIFICATIONS ' + 9172 'DB_FINISH_QUERY DB_HIGH_PRECISION DB_LAST_INSERT_ID DB_LOW_PRECISION_DOUBLE DB_LOW_PRECISION_INT32 ' + 9173 'DB_LOW_PRECISION_INT64 DB_LOW_PRECISION_NUMBERS DB_MULTIPLE_RESULT_SETS DB_NAMED_PLACEHOLDERS ' + 9174 'DB_POSITIONAL_PLACEHOLDERS DB_PREPARED_QUERIES DB_QUERY_SIZE DB_SIMPLE_LOCKING DB_SYSTEM_TABLES DB_TABLES ' + 9175 'DB_TRANSACTIONS DB_UNICODE DB_VIEWS __STDIN __STDOUT __STDERR __FILE_DIR' 9176 }; 9177 9178 9179 var AT_COMMENT_MODE = hljs.COMMENT('@', '@'); 9180 9181 var PREPROCESSOR = 9182 { 9183 className: 'meta', 9184 begin: '#', end: '$', 9185 keywords: {'meta-keyword': 'define definecs|10 undef ifdef ifndef iflight ifdllcall ifmac ifos2win ifunix else endif lineson linesoff srcfile srcline'}, 9186 contains: [ 9187 { 9188 begin: /\\\n/, relevance: 0 9189 }, 9190 { 9191 beginKeywords: 'include', end: '$', 9192 keywords: {'meta-keyword': 'include'}, 9193 contains: [ 9194 { 9195 className: 'meta-string', 9196 begin: '"', end: '"', 9197 illegal: '\\n' 9198 } 9199 ] 9200 }, 9201 hljs.C_LINE_COMMENT_MODE, 9202 hljs.C_BLOCK_COMMENT_MODE, 9203 AT_COMMENT_MODE, 9204 ] 9205 }; 9206 9207 var STRUCT_TYPE = 9208 { 9209 begin: /\bstruct\s+/, 9210 end: /\s/, 9211 keywords: "struct", 9212 contains: [ 9213 { 9214 className: "type", 9215 begin: hljs.UNDERSCORE_IDENT_RE, 9216 relevance: 0, 9217 }, 9218 ], 9219 }; 9220 9221 // only for definitions 9222 var PARSE_PARAMS = [ 9223 { 9224 className: 'params', 9225 begin: /\(/, end: /\)/, 9226 excludeBegin: true, 9227 excludeEnd: true, 9228 endsWithParent: true, 9229 relevance: 0, 9230 contains: [ 9231 { // dots 9232 className: 'literal', 9233 begin: /\.\.\./, 9234 }, 9235 hljs.C_NUMBER_MODE, 9236 hljs.C_BLOCK_COMMENT_MODE, 9237 AT_COMMENT_MODE, 9238 STRUCT_TYPE, 9239 ] 9240 } 9241 ]; 9242 9243 var FUNCTION_DEF = 9244 { 9245 className: "title", 9246 begin: hljs.UNDERSCORE_IDENT_RE, 9247 relevance: 0, 9248 }; 9249 9250 var DEFINITION = function (beginKeywords, end, inherits) { 9251 var mode = hljs.inherit( 9252 { 9253 className: "function", 9254 beginKeywords: beginKeywords, 9255 end: end, 9256 excludeEnd: true, 9257 contains: [].concat(PARSE_PARAMS), 9258 }, 9259 inherits || {} 9260 ); 9261 mode.contains.push(FUNCTION_DEF); 9262 mode.contains.push(hljs.C_NUMBER_MODE); 9263 mode.contains.push(hljs.C_BLOCK_COMMENT_MODE); 9264 mode.contains.push(AT_COMMENT_MODE); 9265 return mode; 9266 }; 9267 9268 var BUILT_IN_REF = 9269 { // these are explicitly named internal function calls 9270 className: 'built_in', 9271 begin: '\\b(' + KEYWORDS.built_in.split(' ').join('|') + ')\\b', 9272 }; 9273 9274 var STRING_REF = 9275 { 9276 className: 'string', 9277 begin: '"', end: '"', 9278 contains: [hljs.BACKSLASH_ESCAPE], 9279 relevance: 0, 9280 }; 9281 9282 var FUNCTION_REF = 9283 { 9284 //className: "fn_ref", 9285 begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', 9286 returnBegin: true, 9287 keywords: KEYWORDS, 9288 relevance: 0, 9289 contains: [ 9290 { 9291 beginKeywords: KEYWORDS.keyword, 9292 }, 9293 BUILT_IN_REF, 9294 { // ambiguously named function calls get a relevance of 0 9295 className: 'built_in', 9296 begin: hljs.UNDERSCORE_IDENT_RE, 9297 relevance: 0, 9298 }, 9299 ], 9300 }; 9301 9302 var FUNCTION_REF_PARAMS = 9303 { 9304 //className: "fn_ref_params", 9305 begin: /\(/, 9306 end: /\)/, 9307 relevance: 0, 9308 keywords: { built_in: KEYWORDS.built_in, literal: KEYWORDS.literal }, 9309 contains: [ 9310 hljs.C_NUMBER_MODE, 9311 hljs.C_BLOCK_COMMENT_MODE, 9312 AT_COMMENT_MODE, 9313 BUILT_IN_REF, 9314 FUNCTION_REF, 9315 STRING_REF, 9316 'self', 9317 ], 9318 }; 9319 9320 FUNCTION_REF.contains.push(FUNCTION_REF_PARAMS); 9321 9322 return { 9323 aliases: ['gss'], 9324 case_insensitive: true, // language is case-insensitive 9325 keywords: KEYWORDS, 9326 illegal: /(\{[%#]|[%#]\}| <- )/, 9327 contains: [ 9328 hljs.C_NUMBER_MODE, 9329 hljs.C_LINE_COMMENT_MODE, 9330 hljs.C_BLOCK_COMMENT_MODE, 9331 AT_COMMENT_MODE, 9332 STRING_REF, 9333 PREPROCESSOR, 9334 { 9335 className: 'keyword', 9336 begin: /\bexternal (matrix|string|array|sparse matrix|struct|proc|keyword|fn)/, 9337 }, 9338 DEFINITION('proc keyword', ';'), 9339 DEFINITION('fn', '='), 9340 { 9341 beginKeywords: 'for threadfor', 9342 end: /;/, 9343 //end: /\(/, 9344 relevance: 0, 9345 contains: [ 9346 hljs.C_BLOCK_COMMENT_MODE, 9347 AT_COMMENT_MODE, 9348 FUNCTION_REF_PARAMS, 9349 ], 9350 }, 9351 { // custom method guard 9352 // excludes method names from keyword processing 9353 variants: [ 9354 { begin: hljs.UNDERSCORE_IDENT_RE + '\\.' + hljs.UNDERSCORE_IDENT_RE, }, 9355 { begin: hljs.UNDERSCORE_IDENT_RE + '\\s*=', }, 9356 ], 9357 relevance: 0, 9358 }, 9359 FUNCTION_REF, 9360 STRUCT_TYPE, 9361 ] 9362 }; 9363 } 9364 },{name:"gcode",create:/* 9365 Language: G-code (ISO 6983) 9366 Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com> 9367 Description: G-code syntax highlighter for Fanuc and other common CNC machine tool controls. 9368 */ 9369 9370 function(hljs) { 9371 var GCODE_IDENT_RE = '[A-Z_][A-Z0-9_.]*'; 9372 var GCODE_CLOSE_RE = '\\%'; 9373 var GCODE_KEYWORDS = 9374 'IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT ' + 9375 'EQ LT GT NE GE LE OR XOR'; 9376 var GCODE_START = { 9377 className: 'meta', 9378 begin: '([O])([0-9]+)' 9379 }; 9380 var GCODE_CODE = [ 9381 hljs.C_LINE_COMMENT_MODE, 9382 hljs.C_BLOCK_COMMENT_MODE, 9383 hljs.COMMENT(/\(/, /\)/), 9384 hljs.inherit(hljs.C_NUMBER_MODE, {begin: '([-+]?([0-9]*\\.?[0-9]+\\.?))|' + hljs.C_NUMBER_RE}), 9385 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}), 9386 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 9387 { 9388 className: 'name', 9389 begin: '([G])([0-9]+\\.?[0-9]?)' 9390 }, 9391 { 9392 className: 'name', 9393 begin: '([M])([0-9]+\\.?[0-9]?)' 9394 }, 9395 { 9396 className: 'attr', 9397 begin: '(VC|VS|#)', 9398 end: '(\\d+)' 9399 }, 9400 { 9401 className: 'attr', 9402 begin: '(VZOFX|VZOFY|VZOFZ)' 9403 }, 9404 { 9405 className: 'built_in', 9406 begin: '(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)', 9407 end: '([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])' 9408 }, 9409 { 9410 className: 'symbol', 9411 variants: [ 9412 { 9413 begin: 'N', end: '\\d+', 9414 illegal: '\\W' 9415 } 9416 ] 9417 } 9418 ]; 9419 9420 return { 9421 aliases: ['nc'], 9422 // Some implementations (CNC controls) of G-code are interoperable with uppercase and lowercase letters seamlessly. 9423 // However, most prefer all uppercase and uppercase is customary. 9424 case_insensitive: true, 9425 lexemes: GCODE_IDENT_RE, 9426 keywords: GCODE_KEYWORDS, 9427 contains: [ 9428 { 9429 className: 'meta', 9430 begin: GCODE_CLOSE_RE 9431 }, 9432 GCODE_START 9433 ].concat(GCODE_CODE) 9434 }; 9435 } 9436 },{name:"gherkin",create:/* 9437 Language: Gherkin 9438 Author: Sam Pikesley (@pikesley) <sam.pikesley@theodi.org> 9439 Description: Gherkin (Cucumber etc) 9440 */ 9441 9442 function (hljs) { 9443 return { 9444 aliases: ['feature'], 9445 keywords: 'Feature Background Ability Business\ Need Scenario Scenarios Scenario\ Outline Scenario\ Template Examples Given And Then But When', 9446 contains: [ 9447 { 9448 className: 'symbol', 9449 begin: '\\*', 9450 relevance: 0 9451 }, 9452 { 9453 className: 'meta', 9454 begin: '@[^@\\s]+' 9455 }, 9456 { 9457 begin: '\\|', end: '\\|\\w*$', 9458 contains: [ 9459 { 9460 className: 'string', 9461 begin: '[^|]+' 9462 } 9463 ] 9464 }, 9465 { 9466 className: 'variable', 9467 begin: '<', end: '>' 9468 }, 9469 hljs.HASH_COMMENT_MODE, 9470 { 9471 className: 'string', 9472 begin: '"""', end: '"""' 9473 }, 9474 hljs.QUOTE_STRING_MODE 9475 ] 9476 }; 9477 } 9478 },{name:"glsl",create:/* 9479 Language: GLSL 9480 Description: OpenGL Shading Language 9481 Author: Sergey Tikhomirov <sergey@tikhomirov.io> 9482 Category: graphics 9483 */ 9484 9485 function(hljs) { 9486 return { 9487 keywords: { 9488 keyword: 9489 // Statements 9490 'break continue discard do else for if return while switch case default ' + 9491 // Qualifiers 9492 'attribute binding buffer ccw centroid centroid varying coherent column_major const cw ' + 9493 'depth_any depth_greater depth_less depth_unchanged early_fragment_tests equal_spacing ' + 9494 'flat fractional_even_spacing fractional_odd_spacing highp in index inout invariant ' + 9495 'invocations isolines layout line_strip lines lines_adjacency local_size_x local_size_y ' + 9496 'local_size_z location lowp max_vertices mediump noperspective offset origin_upper_left ' + 9497 'out packed patch pixel_center_integer point_mode points precise precision quads r11f_g11f_b10f '+ 9498 'r16 r16_snorm r16f r16i r16ui r32f r32i r32ui r8 r8_snorm r8i r8ui readonly restrict ' + 9499 'rg16 rg16_snorm rg16f rg16i rg16ui rg32f rg32i rg32ui rg8 rg8_snorm rg8i rg8ui rgb10_a2 ' + 9500 'rgb10_a2ui rgba16 rgba16_snorm rgba16f rgba16i rgba16ui rgba32f rgba32i rgba32ui rgba8 ' + 9501 'rgba8_snorm rgba8i rgba8ui row_major sample shared smooth std140 std430 stream triangle_strip ' + 9502 'triangles triangles_adjacency uniform varying vertices volatile writeonly', 9503 type: 9504 'atomic_uint bool bvec2 bvec3 bvec4 dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 ' + 9505 'dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 double dvec2 dvec3 dvec4 float iimage1D iimage1DArray ' + 9506 'iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer' + 9507 'iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray ' + 9508 'image2DRect image3D imageBuffer imageCube imageCubeArray int isampler1D isampler1DArray ' + 9509 'isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D ' + 9510 'isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 mat2 mat2x2 mat2x3 ' + 9511 'mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 sampler1D sampler1DArray ' + 9512 'sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow ' + 9513 'sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D ' + 9514 'samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow ' + 9515 'image1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect ' + 9516 'uimage3D uimageBuffer uimageCube uimageCubeArray uint usampler1D usampler1DArray ' + 9517 'usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D ' + 9518 'samplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 vec2 vec3 vec4 void', 9519 built_in: 9520 // Constants 9521 'gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes ' + 9522 'gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms ' + 9523 'gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxComputeAtomicCounterBuffers ' + 9524 'gl_MaxComputeAtomicCounters gl_MaxComputeImageUniforms gl_MaxComputeTextureImageUnits ' + 9525 'gl_MaxComputeUniformComponents gl_MaxComputeWorkGroupCount gl_MaxComputeWorkGroupSize ' + 9526 'gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters ' + 9527 'gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentInputVectors ' + 9528 'gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers ' + 9529 'gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents ' + 9530 'gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits ' + 9531 'gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents ' + 9532 'gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset ' + 9533 'gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms ' + 9534 'gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits ' + 9535 'gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents ' + 9536 'gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters ' + 9537 'gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents ' + 9538 'gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents ' + 9539 'gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits ' + 9540 'gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors ' + 9541 'gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms ' + 9542 'gl_MaxVertexOutputComponents gl_MaxVertexOutputVectors gl_MaxVertexTextureImageUnits ' + 9543 'gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffset ' + 9544 // Variables 9545 'gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial ' + 9546 'gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color ' + 9547 'gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord ' + 9548 'gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor ' + 9549 'gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial ' + 9550 'gl_FrontSecondaryColor gl_GlobalInvocationID gl_InstanceID gl_InvocationID gl_Layer gl_LightModel ' + 9551 'gl_LightSource gl_LocalInvocationID gl_LocalInvocationIndex gl_ModelViewMatrix ' + 9552 'gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose ' + 9553 'gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose ' + 9554 'gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 ' + 9555 'gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 ' + 9556 'gl_Normal gl_NormalMatrix gl_NormalScale gl_NumSamples gl_NumWorkGroups gl_ObjectPlaneQ ' + 9557 'gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_Point gl_PointCoord ' + 9558 'gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse ' + 9559 'gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask ' + 9560 'gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter ' + 9561 'gl_TexCoord gl_TextureEnvColor gl_TextureMatrix gl_TextureMatrixInverse gl_TextureMatrixInverseTranspose ' + 9562 'gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_WorkGroupID gl_WorkGroupSize gl_in gl_out ' + 9563 // Functions 9564 'EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin ' + 9565 'asinh atan atanh atomicAdd atomicAnd atomicCompSwap atomicCounter atomicCounterDecrement ' + 9566 'atomicCounterIncrement atomicExchange atomicMax atomicMin atomicOr atomicXor barrier ' + 9567 'bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross ' + 9568 'dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB ' + 9569 'floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan ' + 9570 'greaterThanEqual groupMemoryBarrier imageAtomicAdd imageAtomicAnd imageAtomicCompSwap ' + 9571 'imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad ' + 9572 'imageSize imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset ' + 9573 'interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log ' + 9574 'log2 matrixCompMult max memoryBarrier memoryBarrierAtomicCounter memoryBarrierBuffer ' + 9575 'memoryBarrierImage memoryBarrierShared min mix mod modf noise1 noise2 noise3 noise4 ' + 9576 'normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 ' + 9577 'packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod ' + 9578 'shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh ' + 9579 'smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod ' + 9580 'texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod ' + 9581 'texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod ' + 9582 'textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset ' + 9583 'textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset ' + 9584 'textureProjLod textureProjLodOffset textureProjOffset textureQueryLevels textureQueryLod ' + 9585 'textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 ' + 9586 'unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow', 9587 literal: 'true false' 9588 }, 9589 illegal: '"', 9590 contains: [ 9591 hljs.C_LINE_COMMENT_MODE, 9592 hljs.C_BLOCK_COMMENT_MODE, 9593 hljs.C_NUMBER_MODE, 9594 { 9595 className: 'meta', 9596 begin: '#', end: '$' 9597 } 9598 ] 9599 }; 9600 } 9601 },{name:"gml",create:/* 9602 Language: GML 9603 Author: Meseta <meseta@gmail.com> 9604 Description: Game Maker Language for GameMaker Studio 2 9605 Category: scripting 9606 */ 9607 9608 function(hljs) { 9609 var GML_KEYWORDS = { 9610 keywords: 'begin end if then else while do for break continue with until ' + 9611 'repeat exit and or xor not return mod div switch case default var ' + 9612 'globalvar enum #macro #region #endregion', 9613 built_in: 'is_real is_string is_array is_undefined is_int32 is_int64 ' + 9614 'is_ptr is_vec3 is_vec4 is_matrix is_bool typeof ' + 9615 'variable_global_exists variable_global_get variable_global_set ' + 9616 'variable_instance_exists variable_instance_get variable_instance_set ' + 9617 'variable_instance_get_names array_length_1d array_length_2d ' + 9618 'array_height_2d array_equals array_create array_copy random ' + 9619 'random_range irandom irandom_range random_set_seed random_get_seed ' + 9620 'randomize randomise choose abs round floor ceil sign frac sqrt sqr ' + 9621 'exp ln log2 log10 sin cos tan arcsin arccos arctan arctan2 dsin dcos ' + 9622 'dtan darcsin darccos darctan darctan2 degtorad radtodeg power logn ' + 9623 'min max mean median clamp lerp dot_product dot_product_3d ' + 9624 'dot_product_normalised dot_product_3d_normalised ' + 9625 'dot_product_normalized dot_product_3d_normalized math_set_epsilon ' + 9626 'math_get_epsilon angle_difference point_distance_3d point_distance ' + 9627 'point_direction lengthdir_x lengthdir_y real string int64 ptr ' + 9628 'string_format chr ansi_char ord string_length string_byte_length ' + 9629 'string_pos string_copy string_char_at string_ord_at string_byte_at ' + 9630 'string_set_byte_at string_delete string_insert string_lower ' + 9631 'string_upper string_repeat string_letters string_digits ' + 9632 'string_lettersdigits string_replace string_replace_all string_count ' + 9633 'string_hash_to_newline clipboard_has_text clipboard_set_text ' + 9634 'clipboard_get_text date_current_datetime date_create_datetime ' + 9635 'date_valid_datetime date_inc_year date_inc_month date_inc_week ' + 9636 'date_inc_day date_inc_hour date_inc_minute date_inc_second ' + 9637 'date_get_year date_get_month date_get_week date_get_day ' + 9638 'date_get_hour date_get_minute date_get_second date_get_weekday ' + 9639 'date_get_day_of_year date_get_hour_of_year date_get_minute_of_year ' + 9640 'date_get_second_of_year date_year_span date_month_span ' + 9641 'date_week_span date_day_span date_hour_span date_minute_span ' + 9642 'date_second_span date_compare_datetime date_compare_date ' + 9643 'date_compare_time date_date_of date_time_of date_datetime_string ' + 9644 'date_date_string date_time_string date_days_in_month ' + 9645 'date_days_in_year date_leap_year date_is_today date_set_timezone ' + 9646 'date_get_timezone game_set_speed game_get_speed motion_set ' + 9647 'motion_add place_free place_empty place_meeting place_snapped ' + 9648 'move_random move_snap move_towards_point move_contact_solid ' + 9649 'move_contact_all move_outside_solid move_outside_all ' + 9650 'move_bounce_solid move_bounce_all move_wrap distance_to_point ' + 9651 'distance_to_object position_empty position_meeting path_start ' + 9652 'path_end mp_linear_step mp_potential_step mp_linear_step_object ' + 9653 'mp_potential_step_object mp_potential_settings mp_linear_path ' + 9654 'mp_potential_path mp_linear_path_object mp_potential_path_object ' + 9655 'mp_grid_create mp_grid_destroy mp_grid_clear_all mp_grid_clear_cell ' + 9656 'mp_grid_clear_rectangle mp_grid_add_cell mp_grid_get_cell ' + 9657 'mp_grid_add_rectangle mp_grid_add_instances mp_grid_path ' + 9658 'mp_grid_draw mp_grid_to_ds_grid collision_point collision_rectangle ' + 9659 'collision_circle collision_ellipse collision_line ' + 9660 'collision_point_list collision_rectangle_list collision_circle_list ' + 9661 'collision_ellipse_list collision_line_list instance_position_list ' + 9662 'instance_place_list point_in_rectangle ' + 9663 'point_in_triangle point_in_circle rectangle_in_rectangle ' + 9664 'rectangle_in_triangle rectangle_in_circle instance_find ' + 9665 'instance_exists instance_number instance_position instance_nearest ' + 9666 'instance_furthest instance_place instance_create_depth ' + 9667 'instance_create_layer instance_copy instance_change instance_destroy ' + 9668 'position_destroy position_change instance_id_get ' + 9669 'instance_deactivate_all instance_deactivate_object ' + 9670 'instance_deactivate_region instance_activate_all ' + 9671 'instance_activate_object instance_activate_region room_goto ' + 9672 'room_goto_previous room_goto_next room_previous room_next ' + 9673 'room_restart game_end game_restart game_load game_save ' + 9674 'game_save_buffer game_load_buffer event_perform event_user ' + 9675 'event_perform_object event_inherited show_debug_message ' + 9676 'show_debug_overlay debug_event debug_get_callstack alarm_get ' + 9677 'alarm_set font_texture_page_size keyboard_set_map keyboard_get_map ' + 9678 'keyboard_unset_map keyboard_check keyboard_check_pressed ' + 9679 'keyboard_check_released keyboard_check_direct keyboard_get_numlock ' + 9680 'keyboard_set_numlock keyboard_key_press keyboard_key_release ' + 9681 'keyboard_clear io_clear mouse_check_button ' + 9682 'mouse_check_button_pressed mouse_check_button_released ' + 9683 'mouse_wheel_up mouse_wheel_down mouse_clear draw_self draw_sprite ' + 9684 'draw_sprite_pos draw_sprite_ext draw_sprite_stretched ' + 9685 'draw_sprite_stretched_ext draw_sprite_tiled draw_sprite_tiled_ext ' + 9686 'draw_sprite_part draw_sprite_part_ext draw_sprite_general draw_clear ' + 9687 'draw_clear_alpha draw_point draw_line draw_line_width draw_rectangle ' + 9688 'draw_roundrect draw_roundrect_ext draw_triangle draw_circle ' + 9689 'draw_ellipse draw_set_circle_precision draw_arrow draw_button ' + 9690 'draw_path draw_healthbar draw_getpixel draw_getpixel_ext ' + 9691 'draw_set_colour draw_set_color draw_set_alpha draw_get_colour ' + 9692 'draw_get_color draw_get_alpha merge_colour make_colour_rgb ' + 9693 'make_colour_hsv colour_get_red colour_get_green colour_get_blue ' + 9694 'colour_get_hue colour_get_saturation colour_get_value merge_color ' + 9695 'make_color_rgb make_color_hsv color_get_red color_get_green ' + 9696 'color_get_blue color_get_hue color_get_saturation color_get_value ' + 9697 'merge_color screen_save screen_save_part draw_set_font ' + 9698 'draw_set_halign draw_set_valign draw_text draw_text_ext string_width ' + 9699 'string_height string_width_ext string_height_ext ' + 9700 'draw_text_transformed draw_text_ext_transformed draw_text_colour ' + 9701 'draw_text_ext_colour draw_text_transformed_colour ' + 9702 'draw_text_ext_transformed_colour draw_text_color draw_text_ext_color ' + 9703 'draw_text_transformed_color draw_text_ext_transformed_color ' + 9704 'draw_point_colour draw_line_colour draw_line_width_colour ' + 9705 'draw_rectangle_colour draw_roundrect_colour ' + 9706 'draw_roundrect_colour_ext draw_triangle_colour draw_circle_colour ' + 9707 'draw_ellipse_colour draw_point_color draw_line_color ' + 9708 'draw_line_width_color draw_rectangle_color draw_roundrect_color ' + 9709 'draw_roundrect_color_ext draw_triangle_color draw_circle_color ' + 9710 'draw_ellipse_color draw_primitive_begin draw_vertex ' + 9711 'draw_vertex_colour draw_vertex_color draw_primitive_end ' + 9712 'sprite_get_uvs font_get_uvs sprite_get_texture font_get_texture ' + 9713 'texture_get_width texture_get_height texture_get_uvs ' + 9714 'draw_primitive_begin_texture draw_vertex_texture ' + 9715 'draw_vertex_texture_colour draw_vertex_texture_color ' + 9716 'texture_global_scale surface_create surface_create_ext ' + 9717 'surface_resize surface_free surface_exists surface_get_width ' + 9718 'surface_get_height surface_get_texture surface_set_target ' + 9719 'surface_set_target_ext surface_reset_target surface_depth_disable ' + 9720 'surface_get_depth_disable draw_surface draw_surface_stretched ' + 9721 'draw_surface_tiled draw_surface_part draw_surface_ext ' + 9722 'draw_surface_stretched_ext draw_surface_tiled_ext ' + 9723 'draw_surface_part_ext draw_surface_general surface_getpixel ' + 9724 'surface_getpixel_ext surface_save surface_save_part surface_copy ' + 9725 'surface_copy_part application_surface_draw_enable ' + 9726 'application_get_position application_surface_enable ' + 9727 'application_surface_is_enabled display_get_width display_get_height ' + 9728 'display_get_orientation display_get_gui_width display_get_gui_height ' + 9729 'display_reset display_mouse_get_x display_mouse_get_y ' + 9730 'display_mouse_set display_set_ui_visibility ' + 9731 'window_set_fullscreen window_get_fullscreen ' + 9732 'window_set_caption window_set_min_width window_set_max_width ' + 9733 'window_set_min_height window_set_max_height window_get_visible_rects ' + 9734 'window_get_caption window_set_cursor window_get_cursor ' + 9735 'window_set_colour window_get_colour window_set_color ' + 9736 'window_get_color window_set_position window_set_size ' + 9737 'window_set_rectangle window_center window_get_x window_get_y ' + 9738 'window_get_width window_get_height window_mouse_get_x ' + 9739 'window_mouse_get_y window_mouse_set window_view_mouse_get_x ' + 9740 'window_view_mouse_get_y window_views_mouse_get_x ' + 9741 'window_views_mouse_get_y audio_listener_position ' + 9742 'audio_listener_velocity audio_listener_orientation ' + 9743 'audio_emitter_position audio_emitter_create audio_emitter_free ' + 9744 'audio_emitter_exists audio_emitter_pitch audio_emitter_velocity ' + 9745 'audio_emitter_falloff audio_emitter_gain audio_play_sound ' + 9746 'audio_play_sound_on audio_play_sound_at audio_stop_sound ' + 9747 'audio_resume_music audio_music_is_playing audio_resume_sound ' + 9748 'audio_pause_sound audio_pause_music audio_channel_num ' + 9749 'audio_sound_length audio_get_type audio_falloff_set_model ' + 9750 'audio_play_music audio_stop_music audio_master_gain audio_music_gain ' + 9751 'audio_sound_gain audio_sound_pitch audio_stop_all audio_resume_all ' + 9752 'audio_pause_all audio_is_playing audio_is_paused audio_exists ' + 9753 'audio_sound_set_track_position audio_sound_get_track_position ' + 9754 'audio_emitter_get_gain audio_emitter_get_pitch audio_emitter_get_x ' + 9755 'audio_emitter_get_y audio_emitter_get_z audio_emitter_get_vx ' + 9756 'audio_emitter_get_vy audio_emitter_get_vz ' + 9757 'audio_listener_set_position audio_listener_set_velocity ' + 9758 'audio_listener_set_orientation audio_listener_get_data ' + 9759 'audio_set_master_gain audio_get_master_gain audio_sound_get_gain ' + 9760 'audio_sound_get_pitch audio_get_name audio_sound_set_track_position ' + 9761 'audio_sound_get_track_position audio_create_stream ' + 9762 'audio_destroy_stream audio_create_sync_group ' + 9763 'audio_destroy_sync_group audio_play_in_sync_group ' + 9764 'audio_start_sync_group audio_stop_sync_group audio_pause_sync_group ' + 9765 'audio_resume_sync_group audio_sync_group_get_track_pos ' + 9766 'audio_sync_group_debug audio_sync_group_is_playing audio_debug ' + 9767 'audio_group_load audio_group_unload audio_group_is_loaded ' + 9768 'audio_group_load_progress audio_group_name audio_group_stop_all ' + 9769 'audio_group_set_gain audio_create_buffer_sound ' + 9770 'audio_free_buffer_sound audio_create_play_queue ' + 9771 'audio_free_play_queue audio_queue_sound audio_get_recorder_count ' + 9772 'audio_get_recorder_info audio_start_recording audio_stop_recording ' + 9773 'audio_sound_get_listener_mask audio_emitter_get_listener_mask ' + 9774 'audio_get_listener_mask audio_sound_set_listener_mask ' + 9775 'audio_emitter_set_listener_mask audio_set_listener_mask ' + 9776 'audio_get_listener_count audio_get_listener_info audio_system ' + 9777 'show_message show_message_async clickable_add clickable_add_ext ' + 9778 'clickable_change clickable_change_ext clickable_delete ' + 9779 'clickable_exists clickable_set_style show_question ' + 9780 'show_question_async get_integer get_string get_integer_async ' + 9781 'get_string_async get_login_async get_open_filename get_save_filename ' + 9782 'get_open_filename_ext get_save_filename_ext show_error ' + 9783 'highscore_clear highscore_add highscore_value highscore_name ' + 9784 'draw_highscore sprite_exists sprite_get_name sprite_get_number ' + 9785 'sprite_get_width sprite_get_height sprite_get_xoffset ' + 9786 'sprite_get_yoffset sprite_get_bbox_left sprite_get_bbox_right ' + 9787 'sprite_get_bbox_top sprite_get_bbox_bottom sprite_save ' + 9788 'sprite_save_strip sprite_set_cache_size sprite_set_cache_size_ext ' + 9789 'sprite_get_tpe sprite_prefetch sprite_prefetch_multi sprite_flush ' + 9790 'sprite_flush_multi sprite_set_speed sprite_get_speed_type ' + 9791 'sprite_get_speed font_exists font_get_name font_get_fontname ' + 9792 'font_get_bold font_get_italic font_get_first font_get_last ' + 9793 'font_get_size font_set_cache_size path_exists path_get_name ' + 9794 'path_get_length path_get_time path_get_kind path_get_closed ' + 9795 'path_get_precision path_get_number path_get_point_x path_get_point_y ' + 9796 'path_get_point_speed path_get_x path_get_y path_get_speed ' + 9797 'script_exists script_get_name timeline_add timeline_delete ' + 9798 'timeline_clear timeline_exists timeline_get_name ' + 9799 'timeline_moment_clear timeline_moment_add_script timeline_size ' + 9800 'timeline_max_moment object_exists object_get_name object_get_sprite ' + 9801 'object_get_solid object_get_visible object_get_persistent ' + 9802 'object_get_mask object_get_parent object_get_physics ' + 9803 'object_is_ancestor room_exists room_get_name sprite_set_offset ' + 9804 'sprite_duplicate sprite_assign sprite_merge sprite_add ' + 9805 'sprite_replace sprite_create_from_surface sprite_add_from_surface ' + 9806 'sprite_delete sprite_set_alpha_from_sprite sprite_collision_mask ' + 9807 'font_add_enable_aa font_add_get_enable_aa font_add font_add_sprite ' + 9808 'font_add_sprite_ext font_replace font_replace_sprite ' + 9809 'font_replace_sprite_ext font_delete path_set_kind path_set_closed ' + 9810 'path_set_precision path_add path_assign path_duplicate path_append ' + 9811 'path_delete path_add_point path_insert_point path_change_point ' + 9812 'path_delete_point path_clear_points path_reverse path_mirror ' + 9813 'path_flip path_rotate path_rescale path_shift script_execute ' + 9814 'object_set_sprite object_set_solid object_set_visible ' + 9815 'object_set_persistent object_set_mask room_set_width room_set_height ' + 9816 'room_set_persistent room_set_background_colour ' + 9817 'room_set_background_color room_set_view room_set_viewport ' + 9818 'room_get_viewport room_set_view_enabled room_add room_duplicate ' + 9819 'room_assign room_instance_add room_instance_clear room_get_camera ' + 9820 'room_set_camera asset_get_index asset_get_type ' + 9821 'file_text_open_from_string file_text_open_read file_text_open_write ' + 9822 'file_text_open_append file_text_close file_text_write_string ' + 9823 'file_text_write_real file_text_writeln file_text_read_string ' + 9824 'file_text_read_real file_text_readln file_text_eof file_text_eoln ' + 9825 'file_exists file_delete file_rename file_copy directory_exists ' + 9826 'directory_create directory_destroy file_find_first file_find_next ' + 9827 'file_find_close file_attributes filename_name filename_path ' + 9828 'filename_dir filename_drive filename_ext filename_change_ext ' + 9829 'file_bin_open file_bin_rewrite file_bin_close file_bin_position ' + 9830 'file_bin_size file_bin_seek file_bin_write_byte file_bin_read_byte ' + 9831 'parameter_count parameter_string environment_get_variable ' + 9832 'ini_open_from_string ini_open ini_close ini_read_string ' + 9833 'ini_read_real ini_write_string ini_write_real ini_key_exists ' + 9834 'ini_section_exists ini_key_delete ini_section_delete ' + 9835 'ds_set_precision ds_exists ds_stack_create ds_stack_destroy ' + 9836 'ds_stack_clear ds_stack_copy ds_stack_size ds_stack_empty ' + 9837 'ds_stack_push ds_stack_pop ds_stack_top ds_stack_write ds_stack_read ' + 9838 'ds_queue_create ds_queue_destroy ds_queue_clear ds_queue_copy ' + 9839 'ds_queue_size ds_queue_empty ds_queue_enqueue ds_queue_dequeue ' + 9840 'ds_queue_head ds_queue_tail ds_queue_write ds_queue_read ' + 9841 'ds_list_create ds_list_destroy ds_list_clear ds_list_copy ' + 9842 'ds_list_size ds_list_empty ds_list_add ds_list_insert ' + 9843 'ds_list_replace ds_list_delete ds_list_find_index ds_list_find_value ' + 9844 'ds_list_mark_as_list ds_list_mark_as_map ds_list_sort ' + 9845 'ds_list_shuffle ds_list_write ds_list_read ds_list_set ds_map_create ' + 9846 'ds_map_destroy ds_map_clear ds_map_copy ds_map_size ds_map_empty ' + 9847 'ds_map_add ds_map_add_list ds_map_add_map ds_map_replace ' + 9848 'ds_map_replace_map ds_map_replace_list ds_map_delete ds_map_exists ' + 9849 'ds_map_find_value ds_map_find_previous ds_map_find_next ' + 9850 'ds_map_find_first ds_map_find_last ds_map_write ds_map_read ' + 9851 'ds_map_secure_save ds_map_secure_load ds_map_secure_load_buffer ' + 9852 'ds_map_secure_save_buffer ds_map_set ds_priority_create ' + 9853 'ds_priority_destroy ds_priority_clear ds_priority_copy ' + 9854 'ds_priority_size ds_priority_empty ds_priority_add ' + 9855 'ds_priority_change_priority ds_priority_find_priority ' + 9856 'ds_priority_delete_value ds_priority_delete_min ds_priority_find_min ' + 9857 'ds_priority_delete_max ds_priority_find_max ds_priority_write ' + 9858 'ds_priority_read ds_grid_create ds_grid_destroy ds_grid_copy ' + 9859 'ds_grid_resize ds_grid_width ds_grid_height ds_grid_clear ' + 9860 'ds_grid_set ds_grid_add ds_grid_multiply ds_grid_set_region ' + 9861 'ds_grid_add_region ds_grid_multiply_region ds_grid_set_disk ' + 9862 'ds_grid_add_disk ds_grid_multiply_disk ds_grid_set_grid_region ' + 9863 'ds_grid_add_grid_region ds_grid_multiply_grid_region ds_grid_get ' + 9864 'ds_grid_get_sum ds_grid_get_max ds_grid_get_min ds_grid_get_mean ' + 9865 'ds_grid_get_disk_sum ds_grid_get_disk_min ds_grid_get_disk_max ' + 9866 'ds_grid_get_disk_mean ds_grid_value_exists ds_grid_value_x ' + 9867 'ds_grid_value_y ds_grid_value_disk_exists ds_grid_value_disk_x ' + 9868 'ds_grid_value_disk_y ds_grid_shuffle ds_grid_write ds_grid_read ' + 9869 'ds_grid_sort ds_grid_set ds_grid_get effect_create_below ' + 9870 'effect_create_above effect_clear part_type_create part_type_destroy ' + 9871 'part_type_exists part_type_clear part_type_shape part_type_sprite ' + 9872 'part_type_size part_type_scale part_type_orientation part_type_life ' + 9873 'part_type_step part_type_death part_type_speed part_type_direction ' + 9874 'part_type_gravity part_type_colour1 part_type_colour2 ' + 9875 'part_type_colour3 part_type_colour_mix part_type_colour_rgb ' + 9876 'part_type_colour_hsv part_type_color1 part_type_color2 ' + 9877 'part_type_color3 part_type_color_mix part_type_color_rgb ' + 9878 'part_type_color_hsv part_type_alpha1 part_type_alpha2 ' + 9879 'part_type_alpha3 part_type_blend part_system_create ' + 9880 'part_system_create_layer part_system_destroy part_system_exists ' + 9881 'part_system_clear part_system_draw_order part_system_depth ' + 9882 'part_system_position part_system_automatic_update ' + 9883 'part_system_automatic_draw part_system_update part_system_drawit ' + 9884 'part_system_get_layer part_system_layer part_particles_create ' + 9885 'part_particles_create_colour part_particles_create_color ' + 9886 'part_particles_clear part_particles_count part_emitter_create ' + 9887 'part_emitter_destroy part_emitter_destroy_all part_emitter_exists ' + 9888 'part_emitter_clear part_emitter_region part_emitter_burst ' + 9889 'part_emitter_stream external_call external_define external_free ' + 9890 'window_handle window_device matrix_get matrix_set ' + 9891 'matrix_build_identity matrix_build matrix_build_lookat ' + 9892 'matrix_build_projection_ortho matrix_build_projection_perspective ' + 9893 'matrix_build_projection_perspective_fov matrix_multiply ' + 9894 'matrix_transform_vertex matrix_stack_push matrix_stack_pop ' + 9895 'matrix_stack_multiply matrix_stack_set matrix_stack_clear ' + 9896 'matrix_stack_top matrix_stack_is_empty browser_input_capture ' + 9897 'os_get_config os_get_info os_get_language os_get_region ' + 9898 'os_lock_orientation display_get_dpi_x display_get_dpi_y ' + 9899 'display_set_gui_size display_set_gui_maximise ' + 9900 'display_set_gui_maximize device_mouse_dbclick_enable ' + 9901 'display_set_timing_method display_get_timing_method ' + 9902 'display_set_sleep_margin display_get_sleep_margin virtual_key_add ' + 9903 'virtual_key_hide virtual_key_delete virtual_key_show ' + 9904 'draw_enable_drawevent draw_enable_swf_aa draw_set_swf_aa_level ' + 9905 'draw_get_swf_aa_level draw_texture_flush draw_flush ' + 9906 'gpu_set_blendenable gpu_set_ztestenable gpu_set_zfunc ' + 9907 'gpu_set_zwriteenable gpu_set_lightingenable gpu_set_fog ' + 9908 'gpu_set_cullmode gpu_set_blendmode gpu_set_blendmode_ext ' + 9909 'gpu_set_blendmode_ext_sepalpha gpu_set_colorwriteenable ' + 9910 'gpu_set_colourwriteenable gpu_set_alphatestenable ' + 9911 'gpu_set_alphatestref gpu_set_alphatestfunc gpu_set_texfilter ' + 9912 'gpu_set_texfilter_ext gpu_set_texrepeat gpu_set_texrepeat_ext ' + 9913 'gpu_set_tex_filter gpu_set_tex_filter_ext gpu_set_tex_repeat ' + 9914 'gpu_set_tex_repeat_ext gpu_set_tex_mip_filter ' + 9915 'gpu_set_tex_mip_filter_ext gpu_set_tex_mip_bias ' + 9916 'gpu_set_tex_mip_bias_ext gpu_set_tex_min_mip gpu_set_tex_min_mip_ext ' + 9917 'gpu_set_tex_max_mip gpu_set_tex_max_mip_ext gpu_set_tex_max_aniso ' + 9918 'gpu_set_tex_max_aniso_ext gpu_set_tex_mip_enable ' + 9919 'gpu_set_tex_mip_enable_ext gpu_get_blendenable gpu_get_ztestenable ' + 9920 'gpu_get_zfunc gpu_get_zwriteenable gpu_get_lightingenable ' + 9921 'gpu_get_fog gpu_get_cullmode gpu_get_blendmode gpu_get_blendmode_ext ' + 9922 'gpu_get_blendmode_ext_sepalpha gpu_get_blendmode_src ' + 9923 'gpu_get_blendmode_dest gpu_get_blendmode_srcalpha ' + 9924 'gpu_get_blendmode_destalpha gpu_get_colorwriteenable ' + 9925 'gpu_get_colourwriteenable gpu_get_alphatestenable ' + 9926 'gpu_get_alphatestref gpu_get_alphatestfunc gpu_get_texfilter ' + 9927 'gpu_get_texfilter_ext gpu_get_texrepeat gpu_get_texrepeat_ext ' + 9928 'gpu_get_tex_filter gpu_get_tex_filter_ext gpu_get_tex_repeat ' + 9929 'gpu_get_tex_repeat_ext gpu_get_tex_mip_filter ' + 9930 'gpu_get_tex_mip_filter_ext gpu_get_tex_mip_bias ' + 9931 'gpu_get_tex_mip_bias_ext gpu_get_tex_min_mip gpu_get_tex_min_mip_ext ' + 9932 'gpu_get_tex_max_mip gpu_get_tex_max_mip_ext gpu_get_tex_max_aniso ' + 9933 'gpu_get_tex_max_aniso_ext gpu_get_tex_mip_enable ' + 9934 'gpu_get_tex_mip_enable_ext gpu_push_state gpu_pop_state ' + 9935 'gpu_get_state gpu_set_state draw_light_define_ambient ' + 9936 'draw_light_define_direction draw_light_define_point ' + 9937 'draw_light_enable draw_set_lighting draw_light_get_ambient ' + 9938 'draw_light_get draw_get_lighting shop_leave_rating url_get_domain ' + 9939 'url_open url_open_ext url_open_full get_timer achievement_login ' + 9940 'achievement_logout achievement_post achievement_increment ' + 9941 'achievement_post_score achievement_available ' + 9942 'achievement_show_achievements achievement_show_leaderboards ' + 9943 'achievement_load_friends achievement_load_leaderboard ' + 9944 'achievement_send_challenge achievement_load_progress ' + 9945 'achievement_reset achievement_login_status achievement_get_pic ' + 9946 'achievement_show_challenge_notifications achievement_get_challenges ' + 9947 'achievement_event achievement_show achievement_get_info ' + 9948 'cloud_file_save cloud_string_save cloud_synchronise ads_enable ' + 9949 'ads_disable ads_setup ads_engagement_launch ads_engagement_available ' + 9950 'ads_engagement_active ads_event ads_event_preload ' + 9951 'ads_set_reward_callback ads_get_display_height ads_get_display_width ' + 9952 'ads_move ads_interstitial_available ads_interstitial_display ' + 9953 'device_get_tilt_x device_get_tilt_y device_get_tilt_z ' + 9954 'device_is_keypad_open device_mouse_check_button ' + 9955 'device_mouse_check_button_pressed device_mouse_check_button_released ' + 9956 'device_mouse_x device_mouse_y device_mouse_raw_x device_mouse_raw_y ' + 9957 'device_mouse_x_to_gui device_mouse_y_to_gui iap_activate iap_status ' + 9958 'iap_enumerate_products iap_restore_all iap_acquire iap_consume ' + 9959 'iap_product_details iap_purchase_details facebook_init ' + 9960 'facebook_login facebook_status facebook_graph_request ' + 9961 'facebook_dialog facebook_logout facebook_launch_offerwall ' + 9962 'facebook_post_message facebook_send_invite facebook_user_id ' + 9963 'facebook_accesstoken facebook_check_permission ' + 9964 'facebook_request_read_permissions ' + 9965 'facebook_request_publish_permissions gamepad_is_supported ' + 9966 'gamepad_get_device_count gamepad_is_connected ' + 9967 'gamepad_get_description gamepad_get_button_threshold ' + 9968 'gamepad_set_button_threshold gamepad_get_axis_deadzone ' + 9969 'gamepad_set_axis_deadzone gamepad_button_count gamepad_button_check ' + 9970 'gamepad_button_check_pressed gamepad_button_check_released ' + 9971 'gamepad_button_value gamepad_axis_count gamepad_axis_value ' + 9972 'gamepad_set_vibration gamepad_set_colour gamepad_set_color ' + 9973 'os_is_paused window_has_focus code_is_compiled http_get ' + 9974 'http_get_file http_post_string http_request json_encode json_decode ' + 9975 'zip_unzip load_csv base64_encode base64_decode md5_string_unicode ' + 9976 'md5_string_utf8 md5_file os_is_network_connected sha1_string_unicode ' + 9977 'sha1_string_utf8 sha1_file os_powersave_enable analytics_event ' + 9978 'analytics_event_ext win8_livetile_tile_notification ' + 9979 'win8_livetile_tile_clear win8_livetile_badge_notification ' + 9980 'win8_livetile_badge_clear win8_livetile_queue_enable ' + 9981 'win8_secondarytile_pin win8_secondarytile_badge_notification ' + 9982 'win8_secondarytile_delete win8_livetile_notification_begin ' + 9983 'win8_livetile_notification_secondary_begin ' + 9984 'win8_livetile_notification_expiry win8_livetile_notification_tag ' + 9985 'win8_livetile_notification_text_add ' + 9986 'win8_livetile_notification_image_add win8_livetile_notification_end ' + 9987 'win8_appbar_enable win8_appbar_add_element ' + 9988 'win8_appbar_remove_element win8_settingscharm_add_entry ' + 9989 'win8_settingscharm_add_html_entry win8_settingscharm_add_xaml_entry ' + 9990 'win8_settingscharm_set_xaml_property ' + 9991 'win8_settingscharm_get_xaml_property win8_settingscharm_remove_entry ' + 9992 'win8_share_image win8_share_screenshot win8_share_file ' + 9993 'win8_share_url win8_share_text win8_search_enable ' + 9994 'win8_search_disable win8_search_add_suggestions ' + 9995 'win8_device_touchscreen_available win8_license_initialize_sandbox ' + 9996 'win8_license_trial_version winphone_license_trial_version ' + 9997 'winphone_tile_title winphone_tile_count winphone_tile_back_title ' + 9998 'winphone_tile_back_content winphone_tile_back_content_wide ' + 9999 'winphone_tile_front_image winphone_tile_front_image_small ' + 10000 'winphone_tile_front_image_wide winphone_tile_back_image ' + 10001 'winphone_tile_back_image_wide winphone_tile_background_colour ' + 10002 'winphone_tile_background_color winphone_tile_icon_image ' + 10003 'winphone_tile_small_icon_image winphone_tile_wide_content ' + 10004 'winphone_tile_cycle_images winphone_tile_small_background_image ' + 10005 'physics_world_create physics_world_gravity ' + 10006 'physics_world_update_speed physics_world_update_iterations ' + 10007 'physics_world_draw_debug physics_pause_enable physics_fixture_create ' + 10008 'physics_fixture_set_kinematic physics_fixture_set_density ' + 10009 'physics_fixture_set_awake physics_fixture_set_restitution ' + 10010 'physics_fixture_set_friction physics_fixture_set_collision_group ' + 10011 'physics_fixture_set_sensor physics_fixture_set_linear_damping ' + 10012 'physics_fixture_set_angular_damping physics_fixture_set_circle_shape ' + 10013 'physics_fixture_set_box_shape physics_fixture_set_edge_shape ' + 10014 'physics_fixture_set_polygon_shape physics_fixture_set_chain_shape ' + 10015 'physics_fixture_add_point physics_fixture_bind ' + 10016 'physics_fixture_bind_ext physics_fixture_delete physics_apply_force ' + 10017 'physics_apply_impulse physics_apply_angular_impulse ' + 10018 'physics_apply_local_force physics_apply_local_impulse ' + 10019 'physics_apply_torque physics_mass_properties physics_draw_debug ' + 10020 'physics_test_overlap physics_remove_fixture physics_set_friction ' + 10021 'physics_set_density physics_set_restitution physics_get_friction ' + 10022 'physics_get_density physics_get_restitution ' + 10023 'physics_joint_distance_create physics_joint_rope_create ' + 10024 'physics_joint_revolute_create physics_joint_prismatic_create ' + 10025 'physics_joint_pulley_create physics_joint_wheel_create ' + 10026 'physics_joint_weld_create physics_joint_friction_create ' + 10027 'physics_joint_gear_create physics_joint_enable_motor ' + 10028 'physics_joint_get_value physics_joint_set_value physics_joint_delete ' + 10029 'physics_particle_create physics_particle_delete ' + 10030 'physics_particle_delete_region_circle ' + 10031 'physics_particle_delete_region_box ' + 10032 'physics_particle_delete_region_poly physics_particle_set_flags ' + 10033 'physics_particle_set_category_flags physics_particle_draw ' + 10034 'physics_particle_draw_ext physics_particle_count ' + 10035 'physics_particle_get_data physics_particle_get_data_particle ' + 10036 'physics_particle_group_begin physics_particle_group_circle ' + 10037 'physics_particle_group_box physics_particle_group_polygon ' + 10038 'physics_particle_group_add_point physics_particle_group_end ' + 10039 'physics_particle_group_join physics_particle_group_delete ' + 10040 'physics_particle_group_count physics_particle_group_get_data ' + 10041 'physics_particle_group_get_mass physics_particle_group_get_inertia ' + 10042 'physics_particle_group_get_centre_x ' + 10043 'physics_particle_group_get_centre_y physics_particle_group_get_vel_x ' + 10044 'physics_particle_group_get_vel_y physics_particle_group_get_ang_vel ' + 10045 'physics_particle_group_get_x physics_particle_group_get_y ' + 10046 'physics_particle_group_get_angle physics_particle_set_group_flags ' + 10047 'physics_particle_get_group_flags physics_particle_get_max_count ' + 10048 'physics_particle_get_radius physics_particle_get_density ' + 10049 'physics_particle_get_damping physics_particle_get_gravity_scale ' + 10050 'physics_particle_set_max_count physics_particle_set_radius ' + 10051 'physics_particle_set_density physics_particle_set_damping ' + 10052 'physics_particle_set_gravity_scale network_create_socket ' + 10053 'network_create_socket_ext network_create_server ' + 10054 'network_create_server_raw network_connect network_connect_raw ' + 10055 'network_send_packet network_send_raw network_send_broadcast ' + 10056 'network_send_udp network_send_udp_raw network_set_timeout ' + 10057 'network_set_config network_resolve network_destroy buffer_create ' + 10058 'buffer_write buffer_read buffer_seek buffer_get_surface ' + 10059 'buffer_set_surface buffer_delete buffer_exists buffer_get_type ' + 10060 'buffer_get_alignment buffer_poke buffer_peek buffer_save ' + 10061 'buffer_save_ext buffer_load buffer_load_ext buffer_load_partial ' + 10062 'buffer_copy buffer_fill buffer_get_size buffer_tell buffer_resize ' + 10063 'buffer_md5 buffer_sha1 buffer_base64_encode buffer_base64_decode ' + 10064 'buffer_base64_decode_ext buffer_sizeof buffer_get_address ' + 10065 'buffer_create_from_vertex_buffer ' + 10066 'buffer_create_from_vertex_buffer_ext buffer_copy_from_vertex_buffer ' + 10067 'buffer_async_group_begin buffer_async_group_option ' + 10068 'buffer_async_group_end buffer_load_async buffer_save_async ' + 10069 'gml_release_mode gml_pragma steam_activate_overlay ' + 10070 'steam_is_overlay_enabled steam_is_overlay_activated ' + 10071 'steam_get_persona_name steam_initialised ' + 10072 'steam_is_cloud_enabled_for_app steam_is_cloud_enabled_for_account ' + 10073 'steam_file_persisted steam_get_quota_total steam_get_quota_free ' + 10074 'steam_file_write steam_file_write_file steam_file_read ' + 10075 'steam_file_delete steam_file_exists steam_file_size steam_file_share ' + 10076 'steam_is_screenshot_requested steam_send_screenshot ' + 10077 'steam_is_user_logged_on steam_get_user_steam_id steam_user_owns_dlc ' + 10078 'steam_user_installed_dlc steam_set_achievement steam_get_achievement ' + 10079 'steam_clear_achievement steam_set_stat_int steam_set_stat_float ' + 10080 'steam_set_stat_avg_rate steam_get_stat_int steam_get_stat_float ' + 10081 'steam_get_stat_avg_rate steam_reset_all_stats ' + 10082 'steam_reset_all_stats_achievements steam_stats_ready ' + 10083 'steam_create_leaderboard steam_upload_score steam_upload_score_ext ' + 10084 'steam_download_scores_around_user steam_download_scores ' + 10085 'steam_download_friends_scores steam_upload_score_buffer ' + 10086 'steam_upload_score_buffer_ext steam_current_game_language ' + 10087 'steam_available_languages steam_activate_overlay_browser ' + 10088 'steam_activate_overlay_user steam_activate_overlay_store ' + 10089 'steam_get_user_persona_name steam_get_app_id ' + 10090 'steam_get_user_account_id steam_ugc_download steam_ugc_create_item ' + 10091 'steam_ugc_start_item_update steam_ugc_set_item_title ' + 10092 'steam_ugc_set_item_description steam_ugc_set_item_visibility ' + 10093 'steam_ugc_set_item_tags steam_ugc_set_item_content ' + 10094 'steam_ugc_set_item_preview steam_ugc_submit_item_update ' + 10095 'steam_ugc_get_item_update_progress steam_ugc_subscribe_item ' + 10096 'steam_ugc_unsubscribe_item steam_ugc_num_subscribed_items ' + 10097 'steam_ugc_get_subscribed_items steam_ugc_get_item_install_info ' + 10098 'steam_ugc_get_item_update_info steam_ugc_request_item_details ' + 10099 'steam_ugc_create_query_user steam_ugc_create_query_user_ex ' + 10100 'steam_ugc_create_query_all steam_ugc_create_query_all_ex ' + 10101 'steam_ugc_query_set_cloud_filename_filter ' + 10102 'steam_ugc_query_set_match_any_tag steam_ugc_query_set_search_text ' + 10103 'steam_ugc_query_set_ranked_by_trend_days ' + 10104 'steam_ugc_query_add_required_tag steam_ugc_query_add_excluded_tag ' + 10105 'steam_ugc_query_set_return_long_description ' + 10106 'steam_ugc_query_set_return_total_only ' + 10107 'steam_ugc_query_set_allow_cached_response steam_ugc_send_query ' + 10108 'shader_set shader_get_name shader_reset shader_current ' + 10109 'shader_is_compiled shader_get_sampler_index shader_get_uniform ' + 10110 'shader_set_uniform_i shader_set_uniform_i_array shader_set_uniform_f ' + 10111 'shader_set_uniform_f_array shader_set_uniform_matrix ' + 10112 'shader_set_uniform_matrix_array shader_enable_corner_id ' + 10113 'texture_set_stage texture_get_texel_width texture_get_texel_height ' + 10114 'shaders_are_supported vertex_format_begin vertex_format_end ' + 10115 'vertex_format_delete vertex_format_add_position ' + 10116 'vertex_format_add_position_3d vertex_format_add_colour ' + 10117 'vertex_format_add_color vertex_format_add_normal ' + 10118 'vertex_format_add_texcoord vertex_format_add_textcoord ' + 10119 'vertex_format_add_custom vertex_create_buffer ' + 10120 'vertex_create_buffer_ext vertex_delete_buffer vertex_begin ' + 10121 'vertex_end vertex_position vertex_position_3d vertex_colour ' + 10122 'vertex_color vertex_argb vertex_texcoord vertex_normal vertex_float1 ' + 10123 'vertex_float2 vertex_float3 vertex_float4 vertex_ubyte4 ' + 10124 'vertex_submit vertex_freeze vertex_get_number vertex_get_buffer_size ' + 10125 'vertex_create_buffer_from_buffer ' + 10126 'vertex_create_buffer_from_buffer_ext push_local_notification ' + 10127 'push_get_first_local_notification push_get_next_local_notification ' + 10128 'push_cancel_local_notification skeleton_animation_set ' + 10129 'skeleton_animation_get skeleton_animation_mix ' + 10130 'skeleton_animation_set_ext skeleton_animation_get_ext ' + 10131 'skeleton_animation_get_duration skeleton_animation_get_frames ' + 10132 'skeleton_animation_clear skeleton_skin_set skeleton_skin_get ' + 10133 'skeleton_attachment_set skeleton_attachment_get ' + 10134 'skeleton_attachment_create skeleton_collision_draw_set ' + 10135 'skeleton_bone_data_get skeleton_bone_data_set ' + 10136 'skeleton_bone_state_get skeleton_bone_state_set skeleton_get_minmax ' + 10137 'skeleton_get_num_bounds skeleton_get_bounds ' + 10138 'skeleton_animation_get_frame skeleton_animation_set_frame ' + 10139 'draw_skeleton draw_skeleton_time draw_skeleton_instance ' + 10140 'draw_skeleton_collision skeleton_animation_list skeleton_skin_list ' + 10141 'skeleton_slot_data layer_get_id layer_get_id_at_depth ' + 10142 'layer_get_depth layer_create layer_destroy layer_destroy_instances ' + 10143 'layer_add_instance layer_has_instance layer_set_visible ' + 10144 'layer_get_visible layer_exists layer_x layer_y layer_get_x ' + 10145 'layer_get_y layer_hspeed layer_vspeed layer_get_hspeed ' + 10146 'layer_get_vspeed layer_script_begin layer_script_end layer_shader ' + 10147 'layer_get_script_begin layer_get_script_end layer_get_shader ' + 10148 'layer_set_target_room layer_get_target_room layer_reset_target_room ' + 10149 'layer_get_all layer_get_all_elements layer_get_name layer_depth ' + 10150 'layer_get_element_layer layer_get_element_type layer_element_move ' + 10151 'layer_force_draw_depth layer_is_draw_depth_forced ' + 10152 'layer_get_forced_depth layer_background_get_id ' + 10153 'layer_background_exists layer_background_create ' + 10154 'layer_background_destroy layer_background_visible ' + 10155 'layer_background_change layer_background_sprite ' + 10156 'layer_background_htiled layer_background_vtiled ' + 10157 'layer_background_stretch layer_background_yscale ' + 10158 'layer_background_xscale layer_background_blend ' + 10159 'layer_background_alpha layer_background_index layer_background_speed ' + 10160 'layer_background_get_visible layer_background_get_sprite ' + 10161 'layer_background_get_htiled layer_background_get_vtiled ' + 10162 'layer_background_get_stretch layer_background_get_yscale ' + 10163 'layer_background_get_xscale layer_background_get_blend ' + 10164 'layer_background_get_alpha layer_background_get_index ' + 10165 'layer_background_get_speed layer_sprite_get_id layer_sprite_exists ' + 10166 'layer_sprite_create layer_sprite_destroy layer_sprite_change ' + 10167 'layer_sprite_index layer_sprite_speed layer_sprite_xscale ' + 10168 'layer_sprite_yscale layer_sprite_angle layer_sprite_blend ' + 10169 'layer_sprite_alpha layer_sprite_x layer_sprite_y ' + 10170 'layer_sprite_get_sprite layer_sprite_get_index ' + 10171 'layer_sprite_get_speed layer_sprite_get_xscale ' + 10172 'layer_sprite_get_yscale layer_sprite_get_angle ' + 10173 'layer_sprite_get_blend layer_sprite_get_alpha layer_sprite_get_x ' + 10174 'layer_sprite_get_y layer_tilemap_get_id layer_tilemap_exists ' + 10175 'layer_tilemap_create layer_tilemap_destroy tilemap_tileset tilemap_x ' + 10176 'tilemap_y tilemap_set tilemap_set_at_pixel tilemap_get_tileset ' + 10177 'tilemap_get_tile_width tilemap_get_tile_height tilemap_get_width ' + 10178 'tilemap_get_height tilemap_get_x tilemap_get_y tilemap_get ' + 10179 'tilemap_get_at_pixel tilemap_get_cell_x_at_pixel ' + 10180 'tilemap_get_cell_y_at_pixel tilemap_clear draw_tilemap draw_tile ' + 10181 'tilemap_set_global_mask tilemap_get_global_mask tilemap_set_mask ' + 10182 'tilemap_get_mask tilemap_get_frame tile_set_empty tile_set_index ' + 10183 'tile_set_flip tile_set_mirror tile_set_rotate tile_get_empty ' + 10184 'tile_get_index tile_get_flip tile_get_mirror tile_get_rotate ' + 10185 'layer_tile_exists layer_tile_create layer_tile_destroy ' + 10186 'layer_tile_change layer_tile_xscale layer_tile_yscale ' + 10187 'layer_tile_blend layer_tile_alpha layer_tile_x layer_tile_y ' + 10188 'layer_tile_region layer_tile_visible layer_tile_get_sprite ' + 10189 'layer_tile_get_xscale layer_tile_get_yscale layer_tile_get_blend ' + 10190 'layer_tile_get_alpha layer_tile_get_x layer_tile_get_y ' + 10191 'layer_tile_get_region layer_tile_get_visible ' + 10192 'layer_instance_get_instance instance_activate_layer ' + 10193 'instance_deactivate_layer camera_create camera_create_view ' + 10194 'camera_destroy camera_apply camera_get_active camera_get_default ' + 10195 'camera_set_default camera_set_view_mat camera_set_proj_mat ' + 10196 'camera_set_update_script camera_set_begin_script ' + 10197 'camera_set_end_script camera_set_view_pos camera_set_view_size ' + 10198 'camera_set_view_speed camera_set_view_border camera_set_view_angle ' + 10199 'camera_set_view_target camera_get_view_mat camera_get_proj_mat ' + 10200 'camera_get_update_script camera_get_begin_script ' + 10201 'camera_get_end_script camera_get_view_x camera_get_view_y ' + 10202 'camera_get_view_width camera_get_view_height camera_get_view_speed_x ' + 10203 'camera_get_view_speed_y camera_get_view_border_x ' + 10204 'camera_get_view_border_y camera_get_view_angle ' + 10205 'camera_get_view_target view_get_camera view_get_visible ' + 10206 'view_get_xport view_get_yport view_get_wport view_get_hport ' + 10207 'view_get_surface_id view_set_camera view_set_visible view_set_xport ' + 10208 'view_set_yport view_set_wport view_set_hport view_set_surface_id ' + 10209 'gesture_drag_time gesture_drag_distance gesture_flick_speed ' + 10210 'gesture_double_tap_time gesture_double_tap_distance ' + 10211 'gesture_pinch_distance gesture_pinch_angle_towards ' + 10212 'gesture_pinch_angle_away gesture_rotate_time gesture_rotate_angle ' + 10213 'gesture_tap_count gesture_get_drag_time gesture_get_drag_distance ' + 10214 'gesture_get_flick_speed gesture_get_double_tap_time ' + 10215 'gesture_get_double_tap_distance gesture_get_pinch_distance ' + 10216 'gesture_get_pinch_angle_towards gesture_get_pinch_angle_away ' + 10217 'gesture_get_rotate_time gesture_get_rotate_angle ' + 10218 'gesture_get_tap_count keyboard_virtual_show keyboard_virtual_hide ' + 10219 'keyboard_virtual_status keyboard_virtual_height', 10220 literal: 'self other all noone global local undefined pointer_invalid ' + 10221 'pointer_null path_action_stop path_action_restart ' + 10222 'path_action_continue path_action_reverse true false pi GM_build_date ' + 10223 'GM_version GM_runtime_version timezone_local timezone_utc ' + 10224 'gamespeed_fps gamespeed_microseconds ev_create ev_destroy ev_step ' + 10225 'ev_alarm ev_keyboard ev_mouse ev_collision ev_other ev_draw ' + 10226 'ev_draw_begin ev_draw_end ev_draw_pre ev_draw_post ev_keypress ' + 10227 'ev_keyrelease ev_trigger ev_left_button ev_right_button ' + 10228 'ev_middle_button ev_no_button ev_left_press ev_right_press ' + 10229 'ev_middle_press ev_left_release ev_right_release ev_middle_release ' + 10230 'ev_mouse_enter ev_mouse_leave ev_mouse_wheel_up ev_mouse_wheel_down ' + 10231 'ev_global_left_button ev_global_right_button ev_global_middle_button ' + 10232 'ev_global_left_press ev_global_right_press ev_global_middle_press ' + 10233 'ev_global_left_release ev_global_right_release ' + 10234 'ev_global_middle_release ev_joystick1_left ev_joystick1_right ' + 10235 'ev_joystick1_up ev_joystick1_down ev_joystick1_button1 ' + 10236 'ev_joystick1_button2 ev_joystick1_button3 ev_joystick1_button4 ' + 10237 'ev_joystick1_button5 ev_joystick1_button6 ev_joystick1_button7 ' + 10238 'ev_joystick1_button8 ev_joystick2_left ev_joystick2_right ' + 10239 'ev_joystick2_up ev_joystick2_down ev_joystick2_button1 ' + 10240 'ev_joystick2_button2 ev_joystick2_button3 ev_joystick2_button4 ' + 10241 'ev_joystick2_button5 ev_joystick2_button6 ev_joystick2_button7 ' + 10242 'ev_joystick2_button8 ev_outside ev_boundary ev_game_start ' + 10243 'ev_game_end ev_room_start ev_room_end ev_no_more_lives ' + 10244 'ev_animation_end ev_end_of_path ev_no_more_health ev_close_button ' + 10245 'ev_user0 ev_user1 ev_user2 ev_user3 ev_user4 ev_user5 ev_user6 ' + 10246 'ev_user7 ev_user8 ev_user9 ev_user10 ev_user11 ev_user12 ev_user13 ' + 10247 'ev_user14 ev_user15 ev_step_normal ev_step_begin ev_step_end ev_gui ' + 10248 'ev_gui_begin ev_gui_end ev_cleanup ev_gesture ev_gesture_tap ' + 10249 'ev_gesture_double_tap ev_gesture_drag_start ev_gesture_dragging ' + 10250 'ev_gesture_drag_end ev_gesture_flick ev_gesture_pinch_start ' + 10251 'ev_gesture_pinch_in ev_gesture_pinch_out ev_gesture_pinch_end ' + 10252 'ev_gesture_rotate_start ev_gesture_rotating ev_gesture_rotate_end ' + 10253 'ev_global_gesture_tap ev_global_gesture_double_tap ' + 10254 'ev_global_gesture_drag_start ev_global_gesture_dragging ' + 10255 'ev_global_gesture_drag_end ev_global_gesture_flick ' + 10256 'ev_global_gesture_pinch_start ev_global_gesture_pinch_in ' + 10257 'ev_global_gesture_pinch_out ev_global_gesture_pinch_end ' + 10258 'ev_global_gesture_rotate_start ev_global_gesture_rotating ' + 10259 'ev_global_gesture_rotate_end vk_nokey vk_anykey vk_enter vk_return ' + 10260 'vk_shift vk_control vk_alt vk_escape vk_space vk_backspace vk_tab ' + 10261 'vk_pause vk_printscreen vk_left vk_right vk_up vk_down vk_home ' + 10262 'vk_end vk_delete vk_insert vk_pageup vk_pagedown vk_f1 vk_f2 vk_f3 ' + 10263 'vk_f4 vk_f5 vk_f6 vk_f7 vk_f8 vk_f9 vk_f10 vk_f11 vk_f12 vk_numpad0 ' + 10264 'vk_numpad1 vk_numpad2 vk_numpad3 vk_numpad4 vk_numpad5 vk_numpad6 ' + 10265 'vk_numpad7 vk_numpad8 vk_numpad9 vk_divide vk_multiply vk_subtract ' + 10266 'vk_add vk_decimal vk_lshift vk_lcontrol vk_lalt vk_rshift ' + 10267 'vk_rcontrol vk_ralt mb_any mb_none mb_left mb_right mb_middle ' + 10268 'c_aqua c_black c_blue c_dkgray c_fuchsia c_gray c_green c_lime ' + 10269 'c_ltgray c_maroon c_navy c_olive c_purple c_red c_silver c_teal ' + 10270 'c_white c_yellow c_orange fa_left fa_center fa_right fa_top ' + 10271 'fa_middle fa_bottom pr_pointlist pr_linelist pr_linestrip ' + 10272 'pr_trianglelist pr_trianglestrip pr_trianglefan bm_complex bm_normal ' + 10273 'bm_add bm_max bm_subtract bm_zero bm_one bm_src_colour ' + 10274 'bm_inv_src_colour bm_src_color bm_inv_src_color bm_src_alpha ' + 10275 'bm_inv_src_alpha bm_dest_alpha bm_inv_dest_alpha bm_dest_colour ' + 10276 'bm_inv_dest_colour bm_dest_color bm_inv_dest_color bm_src_alpha_sat ' + 10277 'tf_point tf_linear tf_anisotropic mip_off mip_on mip_markedonly ' + 10278 'audio_falloff_none audio_falloff_inverse_distance ' + 10279 'audio_falloff_inverse_distance_clamped audio_falloff_linear_distance ' + 10280 'audio_falloff_linear_distance_clamped ' + 10281 'audio_falloff_exponent_distance ' + 10282 'audio_falloff_exponent_distance_clamped audio_old_system ' + 10283 'audio_new_system audio_mono audio_stereo audio_3d cr_default cr_none ' + 10284 'cr_arrow cr_cross cr_beam cr_size_nesw cr_size_ns cr_size_nwse ' + 10285 'cr_size_we cr_uparrow cr_hourglass cr_drag cr_appstart cr_handpoint ' + 10286 'cr_size_all spritespeed_framespersecond ' + 10287 'spritespeed_framespergameframe asset_object asset_unknown ' + 10288 'asset_sprite asset_sound asset_room asset_path asset_script ' + 10289 'asset_font asset_timeline asset_tiles asset_shader fa_readonly ' + 10290 'fa_hidden fa_sysfile fa_volumeid fa_directory fa_archive ' + 10291 'ds_type_map ds_type_list ds_type_stack ds_type_queue ds_type_grid ' + 10292 'ds_type_priority ef_explosion ef_ring ef_ellipse ef_firework ' + 10293 'ef_smoke ef_smokeup ef_star ef_spark ef_flare ef_cloud ef_rain ' + 10294 'ef_snow pt_shape_pixel pt_shape_disk pt_shape_square pt_shape_line ' + 10295 'pt_shape_star pt_shape_circle pt_shape_ring pt_shape_sphere ' + 10296 'pt_shape_flare pt_shape_spark pt_shape_explosion pt_shape_cloud ' + 10297 'pt_shape_smoke pt_shape_snow ps_distr_linear ps_distr_gaussian ' + 10298 'ps_distr_invgaussian ps_shape_rectangle ps_shape_ellipse ' + 10299 'ps_shape_diamond ps_shape_line ty_real ty_string dll_cdecl ' + 10300 'dll_stdcall matrix_view matrix_projection matrix_world os_win32 ' + 10301 'os_windows os_macosx os_ios os_android os_symbian os_linux ' + 10302 'os_unknown os_winphone os_tizen os_win8native ' + 10303 'os_wiiu os_3ds os_psvita os_bb10 os_ps4 os_xboxone ' + 10304 'os_ps3 os_xbox360 os_uwp os_tvos os_switch ' + 10305 'browser_not_a_browser browser_unknown browser_ie browser_firefox ' + 10306 'browser_chrome browser_safari browser_safari_mobile browser_opera ' + 10307 'browser_tizen browser_edge browser_windows_store browser_ie_mobile ' + 10308 'device_ios_unknown device_ios_iphone device_ios_iphone_retina ' + 10309 'device_ios_ipad device_ios_ipad_retina device_ios_iphone5 ' + 10310 'device_ios_iphone6 device_ios_iphone6plus device_emulator ' + 10311 'device_tablet display_landscape display_landscape_flipped ' + 10312 'display_portrait display_portrait_flipped tm_sleep tm_countvsyncs ' + 10313 'of_challenge_win of_challen ge_lose of_challenge_tie ' + 10314 'leaderboard_type_number leaderboard_type_time_mins_secs ' + 10315 'cmpfunc_never cmpfunc_less cmpfunc_equal cmpfunc_lessequal ' + 10316 'cmpfunc_greater cmpfunc_notequal cmpfunc_greaterequal cmpfunc_always ' + 10317 'cull_noculling cull_clockwise cull_counterclockwise lighttype_dir ' + 10318 'lighttype_point iap_ev_storeload iap_ev_product iap_ev_purchase ' + 10319 'iap_ev_consume iap_ev_restore iap_storeload_ok iap_storeload_failed ' + 10320 'iap_status_uninitialised iap_status_unavailable iap_status_loading ' + 10321 'iap_status_available iap_status_processing iap_status_restoring ' + 10322 'iap_failed iap_unavailable iap_available iap_purchased iap_canceled ' + 10323 'iap_refunded fb_login_default fb_login_fallback_to_webview ' + 10324 'fb_login_no_fallback_to_webview fb_login_forcing_webview ' + 10325 'fb_login_use_system_account fb_login_forcing_safari ' + 10326 'phy_joint_anchor_1_x phy_joint_anchor_1_y phy_joint_anchor_2_x ' + 10327 'phy_joint_anchor_2_y phy_joint_reaction_force_x ' + 10328 'phy_joint_reaction_force_y phy_joint_reaction_torque ' + 10329 'phy_joint_motor_speed phy_joint_angle phy_joint_motor_torque ' + 10330 'phy_joint_max_motor_torque phy_joint_translation phy_joint_speed ' + 10331 'phy_joint_motor_force phy_joint_max_motor_force phy_joint_length_1 ' + 10332 'phy_joint_length_2 phy_joint_damping_ratio phy_joint_frequency ' + 10333 'phy_joint_lower_angle_limit phy_joint_upper_angle_limit ' + 10334 'phy_joint_angle_limits phy_joint_max_length phy_joint_max_torque ' + 10335 'phy_joint_max_force phy_debug_render_aabb ' + 10336 'phy_debug_render_collision_pairs phy_debug_render_coms ' + 10337 'phy_debug_render_core_shapes phy_debug_render_joints ' + 10338 'phy_debug_render_obb phy_debug_render_shapes ' + 10339 'phy_particle_flag_water phy_particle_flag_zombie ' + 10340 'phy_particle_flag_wall phy_particle_flag_spring ' + 10341 'phy_particle_flag_elastic phy_particle_flag_viscous ' + 10342 'phy_particle_flag_powder phy_particle_flag_tensile ' + 10343 'phy_particle_flag_colourmixing phy_particle_flag_colormixing ' + 10344 'phy_particle_group_flag_solid phy_particle_group_flag_rigid ' + 10345 'phy_particle_data_flag_typeflags phy_particle_data_flag_position ' + 10346 'phy_particle_data_flag_velocity phy_particle_data_flag_colour ' + 10347 'phy_particle_data_flag_color phy_particle_data_flag_category ' + 10348 'achievement_our_info achievement_friends_info ' + 10349 'achievement_leaderboard_info achievement_achievement_info ' + 10350 'achievement_filter_all_players achievement_filter_friends_only ' + 10351 'achievement_filter_favorites_only ' + 10352 'achievement_type_achievement_challenge ' + 10353 'achievement_type_score_challenge achievement_pic_loaded ' + 10354 'achievement_show_ui achievement_show_profile ' + 10355 'achievement_show_leaderboard achievement_show_achievement ' + 10356 'achievement_show_bank achievement_show_friend_picker ' + 10357 'achievement_show_purchase_prompt network_socket_tcp ' + 10358 'network_socket_udp network_socket_bluetooth network_type_connect ' + 10359 'network_type_disconnect network_type_data ' + 10360 'network_type_non_blocking_connect network_config_connect_timeout ' + 10361 'network_config_use_non_blocking_socket ' + 10362 'network_config_enable_reliable_udp ' + 10363 'network_config_disable_reliable_udp buffer_fixed buffer_grow ' + 10364 'buffer_wrap buffer_fast buffer_vbuffer buffer_network buffer_u8 ' + 10365 'buffer_s8 buffer_u16 buffer_s16 buffer_u32 buffer_s32 buffer_u64 ' + 10366 'buffer_f16 buffer_f32 buffer_f64 buffer_bool buffer_text ' + 10367 'buffer_string buffer_surface_copy buffer_seek_start ' + 10368 'buffer_seek_relative buffer_seek_end ' + 10369 'buffer_generalerror buffer_outofspace buffer_outofbounds ' + 10370 'buffer_invalidtype text_type button_type input_type ANSI_CHARSET ' + 10371 'DEFAULT_CHARSET EASTEUROPE_CHARSET RUSSIAN_CHARSET SYMBOL_CHARSET ' + 10372 'SHIFTJIS_CHARSET HANGEUL_CHARSET GB2312_CHARSET CHINESEBIG5_CHARSET ' + 10373 'JOHAB_CHARSET HEBREW_CHARSET ARABIC_CHARSET GREEK_CHARSET ' + 10374 'TURKISH_CHARSET VIETNAMESE_CHARSET THAI_CHARSET MAC_CHARSET ' + 10375 'BALTIC_CHARSET OEM_CHARSET gp_face1 gp_face2 gp_face3 gp_face4 ' + 10376 'gp_shoulderl gp_shoulderr gp_shoulderlb gp_shoulderrb gp_select ' + 10377 'gp_start gp_stickl gp_stickr gp_padu gp_padd gp_padl gp_padr ' + 10378 'gp_axislh gp_axislv gp_axisrh gp_axisrv ov_friends ov_community ' + 10379 'ov_players ov_settings ov_gamegroup ov_achievements lb_sort_none ' + 10380 'lb_sort_ascending lb_sort_descending lb_disp_none lb_disp_numeric ' + 10381 'lb_disp_time_sec lb_disp_time_ms ugc_result_success ' + 10382 'ugc_filetype_community ugc_filetype_microtrans ugc_visibility_public ' + 10383 'ugc_visibility_friends_only ugc_visibility_private ' + 10384 'ugc_query_RankedByVote ugc_query_RankedByPublicationDate ' + 10385 'ugc_query_AcceptedForGameRankedByAcceptanceDate ' + 10386 'ugc_query_RankedByTrend ' + 10387 'ugc_query_FavoritedByFriendsRankedByPublicationDate ' + 10388 'ugc_query_CreatedByFriendsRankedByPublicationDate ' + 10389 'ugc_query_RankedByNumTimesReported ' + 10390 'ugc_query_CreatedByFollowedUsersRankedByPublicationDate ' + 10391 'ugc_query_NotYetRated ugc_query_RankedByTotalVotesAsc ' + 10392 'ugc_query_RankedByVotesUp ugc_query_RankedByTextSearch ' + 10393 'ugc_sortorder_CreationOrderDesc ugc_sortorder_CreationOrderAsc ' + 10394 'ugc_sortorder_TitleAsc ugc_sortorder_LastUpdatedDesc ' + 10395 'ugc_sortorder_SubscriptionDateDesc ugc_sortorder_VoteScoreDesc ' + 10396 'ugc_sortorder_ForModeration ugc_list_Published ugc_list_VotedOn ' + 10397 'ugc_list_VotedUp ugc_list_VotedDown ugc_list_WillVoteLater ' + 10398 'ugc_list_Favorited ugc_list_Subscribed ugc_list_UsedOrPlayed ' + 10399 'ugc_list_Followed ugc_match_Items ugc_match_Items_Mtx ' + 10400 'ugc_match_Items_ReadyToUse ugc_match_Collections ugc_match_Artwork ' + 10401 'ugc_match_Videos ugc_match_Screenshots ugc_match_AllGuides ' + 10402 'ugc_match_WebGuides ugc_match_IntegratedGuides ' + 10403 'ugc_match_UsableInGame ugc_match_ControllerBindings ' + 10404 'vertex_usage_position vertex_usage_colour vertex_usage_color ' + 10405 'vertex_usage_normal vertex_usage_texcoord vertex_usage_textcoord ' + 10406 'vertex_usage_blendweight vertex_usage_blendindices ' + 10407 'vertex_usage_psize vertex_usage_tangent vertex_usage_binormal ' + 10408 'vertex_usage_fog vertex_usage_depth vertex_usage_sample ' + 10409 'vertex_type_float1 vertex_type_float2 vertex_type_float3 ' + 10410 'vertex_type_float4 vertex_type_colour vertex_type_color ' + 10411 'vertex_type_ubyte4 layerelementtype_undefined ' + 10412 'layerelementtype_background layerelementtype_instance ' + 10413 'layerelementtype_oldtilemap layerelementtype_sprite ' + 10414 'layerelementtype_tilemap layerelementtype_particlesystem ' + 10415 'layerelementtype_tile tile_rotate tile_flip tile_mirror ' + 10416 'tile_index_mask kbv_type_default kbv_type_ascii kbv_type_url ' + 10417 'kbv_type_email kbv_type_numbers kbv_type_phone kbv_type_phone_name ' + 10418 'kbv_returnkey_default kbv_returnkey_go kbv_returnkey_google ' + 10419 'kbv_returnkey_join kbv_returnkey_next kbv_returnkey_route ' + 10420 'kbv_returnkey_search kbv_returnkey_send kbv_returnkey_yahoo ' + 10421 'kbv_returnkey_done kbv_returnkey_continue kbv_returnkey_emergency ' + 10422 'kbv_autocapitalize_none kbv_autocapitalize_words ' + 10423 'kbv_autocapitalize_sentences kbv_autocapitalize_characters', 10424 symbol: 'argument_relative argument argument0 argument1 argument2 ' + 10425 'argument3 argument4 argument5 argument6 argument7 argument8 ' + 10426 'argument9 argument10 argument11 argument12 argument13 argument14 ' + 10427 'argument15 argument_count x y xprevious yprevious xstart ystart ' + 10428 'hspeed vspeed direction speed friction gravity gravity_direction ' + 10429 'path_index path_position path_positionprevious path_speed ' + 10430 'path_scale path_orientation path_endaction object_index id solid ' + 10431 'persistent mask_index instance_count instance_id room_speed fps ' + 10432 'fps_real current_time current_year current_month current_day ' + 10433 'current_weekday current_hour current_minute current_second alarm ' + 10434 'timeline_index timeline_position timeline_speed timeline_running ' + 10435 'timeline_loop room room_first room_last room_width room_height ' + 10436 'room_caption room_persistent score lives health show_score ' + 10437 'show_lives show_health caption_score caption_lives caption_health ' + 10438 'event_type event_number event_object event_action ' + 10439 'application_surface gamemaker_pro gamemaker_registered ' + 10440 'gamemaker_version error_occurred error_last debug_mode ' + 10441 'keyboard_key keyboard_lastkey keyboard_lastchar keyboard_string ' + 10442 'mouse_x mouse_y mouse_button mouse_lastbutton cursor_sprite ' + 10443 'visible sprite_index sprite_width sprite_height sprite_xoffset ' + 10444 'sprite_yoffset image_number image_index image_speed depth ' + 10445 'image_xscale image_yscale image_angle image_alpha image_blend ' + 10446 'bbox_left bbox_right bbox_top bbox_bottom layer background_colour ' + 10447 'background_showcolour background_color background_showcolor ' + 10448 'view_enabled view_current view_visible view_xview view_yview ' + 10449 'view_wview view_hview view_xport view_yport view_wport view_hport ' + 10450 'view_angle view_hborder view_vborder view_hspeed view_vspeed ' + 10451 'view_object view_surface_id view_camera game_id game_display_name ' + 10452 'game_project_name game_save_id working_directory temp_directory ' + 10453 'program_directory browser_width browser_height os_type os_device ' + 10454 'os_browser os_version display_aa async_load delta_time ' + 10455 'webgl_enabled event_data iap_data phy_rotation phy_position_x ' + 10456 'phy_position_y phy_angular_velocity phy_linear_velocity_x ' + 10457 'phy_linear_velocity_y phy_speed_x phy_speed_y phy_speed ' + 10458 'phy_angular_damping phy_linear_damping phy_bullet ' + 10459 'phy_fixed_rotation phy_active phy_mass phy_inertia phy_com_x ' + 10460 'phy_com_y phy_dynamic phy_kinematic phy_sleeping ' + 10461 'phy_collision_points phy_collision_x phy_collision_y ' + 10462 'phy_col_normal_x phy_col_normal_y phy_position_xprevious ' + 10463 'phy_position_yprevious' 10464 }; 10465 10466 return { 10467 aliases: ['gml', 'GML'], 10468 case_insensitive: false, // language is case-insensitive 10469 keywords: GML_KEYWORDS, 10470 10471 contains: [ 10472 hljs.C_LINE_COMMENT_MODE, 10473 hljs.C_BLOCK_COMMENT_MODE, 10474 hljs.APOS_STRING_MODE, 10475 hljs.QUOTE_STRING_MODE, 10476 hljs.C_NUMBER_MODE 10477 ] 10478 }; 10479 } 10480 },{name:"go",create:/* 10481 Language: Go 10482 Author: Stephan Kountso aka StepLg <steplg@gmail.com> 10483 Contributors: Evgeny Stepanischev <imbolk@gmail.com> 10484 Description: Google go language (golang). For info about language see http://golang.org/ 10485 Category: system 10486 */ 10487 10488 function(hljs) { 10489 var GO_KEYWORDS = { 10490 keyword: 10491 'break default func interface select case map struct chan else goto package switch ' + 10492 'const fallthrough if range type continue for import return var go defer ' + 10493 'bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 ' + 10494 'uint16 uint32 uint64 int uint uintptr rune', 10495 literal: 10496 'true false iota nil', 10497 built_in: 10498 'append cap close complex copy imag len make new panic print println real recover delete' 10499 }; 10500 return { 10501 aliases: ['golang'], 10502 keywords: GO_KEYWORDS, 10503 illegal: '</', 10504 contains: [ 10505 hljs.C_LINE_COMMENT_MODE, 10506 hljs.C_BLOCK_COMMENT_MODE, 10507 { 10508 className: 'string', 10509 variants: [ 10510 hljs.QUOTE_STRING_MODE, 10511 {begin: '\'', end: '[^\\\\]\''}, 10512 {begin: '`', end: '`'}, 10513 ] 10514 }, 10515 { 10516 className: 'number', 10517 variants: [ 10518 {begin: hljs.C_NUMBER_RE + '[i]', relevance: 1}, 10519 hljs.C_NUMBER_MODE 10520 ] 10521 }, 10522 { 10523 begin: /:=/ // relevance booster 10524 }, 10525 { 10526 className: 'function', 10527 beginKeywords: 'func', end: /\s*\{/, excludeEnd: true, 10528 contains: [ 10529 hljs.TITLE_MODE, 10530 { 10531 className: 'params', 10532 begin: /\(/, end: /\)/, 10533 keywords: GO_KEYWORDS, 10534 illegal: /["']/ 10535 } 10536 ] 10537 } 10538 ] 10539 }; 10540 } 10541 },{name:"golo",create:/* 10542 Language: Golo 10543 Author: Philippe Charriere <ph.charriere@gmail.com> 10544 Description: a lightweight dynamic language for the JVM, see http://golo-lang.org/ 10545 */ 10546 10547 function(hljs) { 10548 return { 10549 keywords: { 10550 keyword: 10551 'println readln print import module function local return let var ' + 10552 'while for foreach times in case when match with break continue ' + 10553 'augment augmentation each find filter reduce ' + 10554 'if then else otherwise try catch finally raise throw orIfNull ' + 10555 'DynamicObject|10 DynamicVariable struct Observable map set vector list array', 10556 literal: 10557 'true false null' 10558 }, 10559 contains: [ 10560 hljs.HASH_COMMENT_MODE, 10561 hljs.QUOTE_STRING_MODE, 10562 hljs.C_NUMBER_MODE, 10563 { 10564 className: 'meta', begin: '@[A-Za-z]+' 10565 } 10566 ] 10567 } 10568 } 10569 },{name:"gradle",create:/* 10570 Language: Gradle 10571 Author: Damian Mee <mee.damian@gmail.com> 10572 Website: http://meeDamian.com 10573 */ 10574 10575 function(hljs) { 10576 return { 10577 case_insensitive: true, 10578 keywords: { 10579 keyword: 10580 'task project allprojects subprojects artifacts buildscript configurations ' + 10581 'dependencies repositories sourceSets description delete from into include ' + 10582 'exclude source classpath destinationDir includes options sourceCompatibility ' + 10583 'targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant ' + 10584 'def abstract break case catch continue default do else extends final finally ' + 10585 'for if implements instanceof native new private protected public return static ' + 10586 'switch synchronized throw throws transient try volatile while strictfp package ' + 10587 'import false null super this true antlrtask checkstyle codenarc copy boolean ' + 10588 'byte char class double float int interface long short void compile runTime ' + 10589 'file fileTree abs any append asList asWritable call collect compareTo count ' + 10590 'div dump each eachByte eachFile eachLine every find findAll flatten getAt ' + 10591 'getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods ' + 10592 'isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter ' + 10593 'newReader newWriter next plus pop power previous print println push putAt read ' + 10594 'readBytes readLines reverse reverseEach round size sort splitEachLine step subMap ' + 10595 'times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader ' + 10596 'withStream withWriter withWriterAppend write writeLine' 10597 }, 10598 contains: [ 10599 hljs.C_LINE_COMMENT_MODE, 10600 hljs.C_BLOCK_COMMENT_MODE, 10601 hljs.APOS_STRING_MODE, 10602 hljs.QUOTE_STRING_MODE, 10603 hljs.NUMBER_MODE, 10604 hljs.REGEXP_MODE 10605 10606 ] 10607 } 10608 } 10609 },{name:"groovy",create:/* 10610 Language: Groovy 10611 Author: Guillaume Laforge <glaforge@gmail.com> 10612 Website: http://glaforge.appspot.com 10613 Description: Groovy programming language implementation inspired from Vsevolod's Java mode 10614 */ 10615 10616 function(hljs) { 10617 return { 10618 keywords: { 10619 literal : 'true false null', 10620 keyword: 10621 'byte short char int long boolean float double void ' + 10622 // groovy specific keywords 10623 'def as in assert trait ' + 10624 // common keywords with Java 10625 'super this abstract static volatile transient public private protected synchronized final ' + 10626 'class interface enum if else for while switch case break default continue ' + 10627 'throw throws try catch finally implements extends new import package return instanceof' 10628 }, 10629 10630 contains: [ 10631 hljs.COMMENT( 10632 '/\\*\\*', 10633 '\\*/', 10634 { 10635 relevance : 0, 10636 contains : [ 10637 { 10638 // eat up @'s in emails to prevent them to be recognized as doctags 10639 begin: /\w+@/, relevance: 0 10640 }, 10641 { 10642 className : 'doctag', 10643 begin : '@[A-Za-z]+' 10644 } 10645 ] 10646 } 10647 ), 10648 hljs.C_LINE_COMMENT_MODE, 10649 hljs.C_BLOCK_COMMENT_MODE, 10650 { 10651 className: 'string', 10652 begin: '"""', end: '"""' 10653 }, 10654 { 10655 className: 'string', 10656 begin: "'''", end: "'''" 10657 }, 10658 { 10659 className: 'string', 10660 begin: "\\$/", end: "/\\$", 10661 relevance: 10 10662 }, 10663 hljs.APOS_STRING_MODE, 10664 { 10665 className: 'regexp', 10666 begin: /~?\/[^\/\n]+\//, 10667 contains: [ 10668 hljs.BACKSLASH_ESCAPE 10669 ] 10670 }, 10671 hljs.QUOTE_STRING_MODE, 10672 { 10673 className: 'meta', 10674 begin: "^#!/usr/bin/env", end: '$', 10675 illegal: '\n' 10676 }, 10677 hljs.BINARY_NUMBER_MODE, 10678 { 10679 className: 'class', 10680 beginKeywords: 'class interface trait enum', end: '{', 10681 illegal: ':', 10682 contains: [ 10683 {beginKeywords: 'extends implements'}, 10684 hljs.UNDERSCORE_TITLE_MODE 10685 ] 10686 }, 10687 hljs.C_NUMBER_MODE, 10688 { 10689 className: 'meta', begin: '@[A-Za-z]+' 10690 }, 10691 { 10692 // highlight map keys and named parameters as strings 10693 className: 'string', begin: /[^\?]{0}[A-Za-z0-9_$]+ *:/ 10694 }, 10695 { 10696 // catch middle element of the ternary operator 10697 // to avoid highlight it as a label, named parameter, or map key 10698 begin: /\?/, end: /\:/ 10699 }, 10700 { 10701 // highlight labeled statements 10702 className: 'symbol', begin: '^\\s*[A-Za-z0-9_$]+:', 10703 relevance: 0 10704 } 10705 ], 10706 illegal: /#|<\// 10707 } 10708 } 10709 },{name:"haml",create:/* 10710 Language: Haml 10711 Requires: ruby.js 10712 Author: Dan Allen <dan.j.allen@gmail.com> 10713 Website: http://google.com/profiles/dan.j.allen 10714 Category: template 10715 */ 10716 10717 // TODO support filter tags like :javascript, support inline HTML 10718 function(hljs) { 10719 return { 10720 case_insensitive: true, 10721 contains: [ 10722 { 10723 className: 'meta', 10724 begin: '^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$', 10725 relevance: 10 10726 }, 10727 // FIXME these comments should be allowed to span indented lines 10728 hljs.COMMENT( 10729 '^\\s*(!=#|=#|-#|/).*$', 10730 false, 10731 { 10732 relevance: 0 10733 } 10734 ), 10735 { 10736 begin: '^\\s*(-|=|!=)(?!#)', 10737 starts: { 10738 end: '\\n', 10739 subLanguage: 'ruby' 10740 } 10741 }, 10742 { 10743 className: 'tag', 10744 begin: '^\\s*%', 10745 contains: [ 10746 { 10747 className: 'selector-tag', 10748 begin: '\\w+' 10749 }, 10750 { 10751 className: 'selector-id', 10752 begin: '#[\\w-]+' 10753 }, 10754 { 10755 className: 'selector-class', 10756 begin: '\\.[\\w-]+' 10757 }, 10758 { 10759 begin: '{\\s*', 10760 end: '\\s*}', 10761 contains: [ 10762 { 10763 begin: ':\\w+\\s*=>', 10764 end: ',\\s+', 10765 returnBegin: true, 10766 endsWithParent: true, 10767 contains: [ 10768 { 10769 className: 'attr', 10770 begin: ':\\w+' 10771 }, 10772 hljs.APOS_STRING_MODE, 10773 hljs.QUOTE_STRING_MODE, 10774 { 10775 begin: '\\w+', 10776 relevance: 0 10777 } 10778 ] 10779 } 10780 ] 10781 }, 10782 { 10783 begin: '\\(\\s*', 10784 end: '\\s*\\)', 10785 excludeEnd: true, 10786 contains: [ 10787 { 10788 begin: '\\w+\\s*=', 10789 end: '\\s+', 10790 returnBegin: true, 10791 endsWithParent: true, 10792 contains: [ 10793 { 10794 className: 'attr', 10795 begin: '\\w+', 10796 relevance: 0 10797 }, 10798 hljs.APOS_STRING_MODE, 10799 hljs.QUOTE_STRING_MODE, 10800 { 10801 begin: '\\w+', 10802 relevance: 0 10803 } 10804 ] 10805 } 10806 ] 10807 } 10808 ] 10809 }, 10810 { 10811 begin: '^\\s*[=~]\\s*' 10812 }, 10813 { 10814 begin: '#{', 10815 starts: { 10816 end: '}', 10817 subLanguage: 'ruby' 10818 } 10819 } 10820 ] 10821 }; 10822 } 10823 },{name:"handlebars",create:/* 10824 Language: Handlebars 10825 Requires: xml.js 10826 Author: Robin Ward <robin.ward@gmail.com> 10827 Description: Matcher for Handlebars as well as EmberJS additions. 10828 Category: template 10829 */ 10830 10831 function(hljs) { 10832 var BUILT_INS = {'builtin-name': 'each in with if else unless bindattr action collection debugger log outlet template unbound view yield'}; 10833 return { 10834 aliases: ['hbs', 'html.hbs', 'html.handlebars'], 10835 case_insensitive: true, 10836 subLanguage: 'xml', 10837 contains: [ 10838 hljs.COMMENT('{{!(--)?', '(--)?}}'), 10839 { 10840 className: 'template-tag', 10841 begin: /\{\{[#\/]/, end: /\}\}/, 10842 contains: [ 10843 { 10844 className: 'name', 10845 begin: /[a-zA-Z\.-]+/, 10846 keywords: BUILT_INS, 10847 starts: { 10848 endsWithParent: true, relevance: 0, 10849 contains: [ 10850 hljs.QUOTE_STRING_MODE 10851 ] 10852 } 10853 } 10854 ] 10855 }, 10856 { 10857 className: 'template-variable', 10858 begin: /\{\{/, end: /\}\}/, 10859 keywords: BUILT_INS 10860 } 10861 ] 10862 }; 10863 } 10864 },{name:"haskell",create:/* 10865 Language: Haskell 10866 Author: Jeremy Hull <sourdrums@gmail.com> 10867 Contributors: Zena Treep <zena.treep@gmail.com> 10868 Category: functional 10869 */ 10870 10871 function(hljs) { 10872 var COMMENT = { 10873 variants: [ 10874 hljs.COMMENT('--', '$'), 10875 hljs.COMMENT( 10876 '{-', 10877 '-}', 10878 { 10879 contains: ['self'] 10880 } 10881 ) 10882 ] 10883 }; 10884 10885 var PRAGMA = { 10886 className: 'meta', 10887 begin: '{-#', end: '#-}' 10888 }; 10889 10890 var PREPROCESSOR = { 10891 className: 'meta', 10892 begin: '^#', end: '$' 10893 }; 10894 10895 var CONSTRUCTOR = { 10896 className: 'type', 10897 begin: '\\b[A-Z][\\w\']*', // TODO: other constructors (build-in, infix). 10898 relevance: 0 10899 }; 10900 10901 var LIST = { 10902 begin: '\\(', end: '\\)', 10903 illegal: '"', 10904 contains: [ 10905 PRAGMA, 10906 PREPROCESSOR, 10907 {className: 'type', begin: '\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?'}, 10908 hljs.inherit(hljs.TITLE_MODE, {begin: '[_a-z][\\w\']*'}), 10909 COMMENT 10910 ] 10911 }; 10912 10913 var RECORD = { 10914 begin: '{', end: '}', 10915 contains: LIST.contains 10916 }; 10917 10918 return { 10919 aliases: ['hs'], 10920 keywords: 10921 'let in if then else case of where do module import hiding ' + 10922 'qualified type data newtype deriving class instance as default ' + 10923 'infix infixl infixr foreign export ccall stdcall cplusplus ' + 10924 'jvm dotnet safe unsafe family forall mdo proc rec', 10925 contains: [ 10926 10927 // Top-level constructions. 10928 10929 { 10930 beginKeywords: 'module', end: 'where', 10931 keywords: 'module where', 10932 contains: [LIST, COMMENT], 10933 illegal: '\\W\\.|;' 10934 }, 10935 { 10936 begin: '\\bimport\\b', end: '$', 10937 keywords: 'import qualified as hiding', 10938 contains: [LIST, COMMENT], 10939 illegal: '\\W\\.|;' 10940 }, 10941 10942 { 10943 className: 'class', 10944 begin: '^(\\s*)?(class|instance)\\b', end: 'where', 10945 keywords: 'class family instance where', 10946 contains: [CONSTRUCTOR, LIST, COMMENT] 10947 }, 10948 { 10949 className: 'class', 10950 begin: '\\b(data|(new)?type)\\b', end: '$', 10951 keywords: 'data family type newtype deriving', 10952 contains: [PRAGMA, CONSTRUCTOR, LIST, RECORD, COMMENT] 10953 }, 10954 { 10955 beginKeywords: 'default', end: '$', 10956 contains: [CONSTRUCTOR, LIST, COMMENT] 10957 }, 10958 { 10959 beginKeywords: 'infix infixl infixr', end: '$', 10960 contains: [hljs.C_NUMBER_MODE, COMMENT] 10961 }, 10962 { 10963 begin: '\\bforeign\\b', end: '$', 10964 keywords: 'foreign import export ccall stdcall cplusplus jvm ' + 10965 'dotnet safe unsafe', 10966 contains: [CONSTRUCTOR, hljs.QUOTE_STRING_MODE, COMMENT] 10967 }, 10968 { 10969 className: 'meta', 10970 begin: '#!\\/usr\\/bin\\/env\ runhaskell', end: '$' 10971 }, 10972 10973 // "Whitespaces". 10974 10975 PRAGMA, 10976 PREPROCESSOR, 10977 10978 // Literals and names. 10979 10980 // TODO: characters. 10981 hljs.QUOTE_STRING_MODE, 10982 hljs.C_NUMBER_MODE, 10983 CONSTRUCTOR, 10984 hljs.inherit(hljs.TITLE_MODE, {begin: '^[_a-z][\\w\']*'}), 10985 10986 COMMENT, 10987 10988 {begin: '->|<-'} // No markup, relevance booster 10989 ] 10990 }; 10991 } 10992 },{name:"haxe",create:/* 10993 Language: Haxe 10994 Author: Christopher Kaster <ikasoki@gmail.com> (Based on the actionscript.js language file by Alexander Myadzel) 10995 Contributors: Kenton Hamaluik <kentonh@gmail.com> 10996 */ 10997 10998 function(hljs) { 10999 var IDENT_RE = '[a-zA-Z_$][a-zA-Z0-9_$]*'; 11000 var IDENT_FUNC_RETURN_TYPE_RE = '([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)'; 11001 11002 var HAXE_BASIC_TYPES = 'Int Float String Bool Dynamic Void Array '; 11003 11004 return { 11005 aliases: ['hx'], 11006 keywords: { 11007 keyword: 'break case cast catch continue default do dynamic else enum extern ' + 11008 'for function here if import in inline never new override package private get set ' + 11009 'public return static super switch this throw trace try typedef untyped using var while ' + 11010 HAXE_BASIC_TYPES, 11011 built_in: 11012 'trace this', 11013 literal: 11014 'true false null _' 11015 }, 11016 contains: [ 11017 { className: 'string', // interpolate-able strings 11018 begin: '\'', end: '\'', 11019 contains: [ 11020 hljs.BACKSLASH_ESCAPE, 11021 { className: 'subst', // interpolation 11022 begin: '\\$\\{', end: '\\}' 11023 }, 11024 { className: 'subst', // interpolation 11025 begin: '\\$', end: '\\W}' 11026 } 11027 ] 11028 }, 11029 hljs.QUOTE_STRING_MODE, 11030 hljs.C_LINE_COMMENT_MODE, 11031 hljs.C_BLOCK_COMMENT_MODE, 11032 hljs.C_NUMBER_MODE, 11033 { className: 'meta', // compiler meta 11034 begin: '@:', end: '$' 11035 }, 11036 { className: 'meta', // compiler conditionals 11037 begin: '#', end: '$', 11038 keywords: {'meta-keyword': 'if else elseif end error'} 11039 }, 11040 { className: 'type', // function types 11041 begin: ':[ \t]*', end: '[^A-Za-z0-9_ \t\\->]', 11042 excludeBegin: true, excludeEnd: true, 11043 relevance: 0 11044 }, 11045 { className: 'type', // types 11046 begin: ':[ \t]*', end: '\\W', 11047 excludeBegin: true, excludeEnd: true 11048 }, 11049 { className: 'type', // instantiation 11050 begin: 'new *', end: '\\W', 11051 excludeBegin: true, excludeEnd: true 11052 }, 11053 { className: 'class', // enums 11054 beginKeywords: 'enum', end: '\\{', 11055 contains: [ 11056 hljs.TITLE_MODE 11057 ] 11058 }, 11059 { className: 'class', // abstracts 11060 beginKeywords: 'abstract', end: '[\\{$]', 11061 contains: [ 11062 { className: 'type', 11063 begin: '\\(', end: '\\)', 11064 excludeBegin: true, excludeEnd: true 11065 }, 11066 { className: 'type', 11067 begin: 'from +', end: '\\W', 11068 excludeBegin: true, excludeEnd: true 11069 }, 11070 { className: 'type', 11071 begin: 'to +', end: '\\W', 11072 excludeBegin: true, excludeEnd: true 11073 }, 11074 hljs.TITLE_MODE 11075 ], 11076 keywords: { 11077 keyword: 'abstract from to' 11078 } 11079 }, 11080 { className: 'class', // classes 11081 begin: '\\b(class|interface) +', end: '[\\{$]', excludeEnd: true, 11082 keywords: 'class interface', 11083 contains: [ 11084 { className: 'keyword', 11085 begin: '\\b(extends|implements) +', 11086 keywords: 'extends implements', 11087 contains: [ 11088 { 11089 className: 'type', 11090 begin: hljs.IDENT_RE, 11091 relevance: 0 11092 } 11093 ] 11094 }, 11095 hljs.TITLE_MODE 11096 ] 11097 }, 11098 { className: 'function', 11099 beginKeywords: 'function', end: '\\(', excludeEnd: true, 11100 illegal: '\\S', 11101 contains: [ 11102 hljs.TITLE_MODE 11103 ] 11104 } 11105 ], 11106 illegal: /<\// 11107 }; 11108 } 11109 },{name:"hsp",create:/* 11110 Language: HSP 11111 Author: prince <MC.prince.0203@gmail.com> 11112 Website: http://prince.webcrow.jp/ 11113 Category: scripting 11114 */ 11115 11116 function(hljs) { 11117 return { 11118 case_insensitive: true, 11119 lexemes: /[\w\._]+/, 11120 keywords: 'goto gosub return break repeat loop continue wait await dim sdim foreach dimtype dup dupptr end stop newmod delmod mref run exgoto on mcall assert logmes newlab resume yield onexit onerror onkey onclick oncmd exist delete mkdir chdir dirlist bload bsave bcopy memfile if else poke wpoke lpoke getstr chdpm memexpand memcpy memset notesel noteadd notedel noteload notesave randomize noteunsel noteget split strrep setease button chgdisp exec dialog mmload mmplay mmstop mci pset pget syscolor mes print title pos circle cls font sysfont objsize picload color palcolor palette redraw width gsel gcopy gzoom gmode bmpsave hsvcolor getkey listbox chkbox combox input mesbox buffer screen bgscr mouse objsel groll line clrobj boxf objprm objmode stick grect grotate gsquare gradf objimage objskip objenable celload celdiv celput newcom querycom delcom cnvstow comres axobj winobj sendmsg comevent comevarg sarrayconv callfunc cnvwtos comevdisp libptr system hspstat hspver stat cnt err strsize looplev sublev iparam wparam lparam refstr refdval int rnd strlen length length2 length3 length4 vartype gettime peek wpeek lpeek varptr varuse noteinfo instr abs limit getease str strmid strf getpath strtrim sin cos tan atan sqrt double absf expf logf limitf powf geteasef mousex mousey mousew hwnd hinstance hdc ginfo objinfo dirinfo sysinfo thismod __hspver__ __hsp30__ __date__ __time__ __line__ __file__ _debug __hspdef__ and or xor not screen_normal screen_palette screen_hide screen_fixedsize screen_tool screen_frame gmode_gdi gmode_mem gmode_rgb0 gmode_alpha gmode_rgb0alpha gmode_add gmode_sub gmode_pixela ginfo_mx ginfo_my ginfo_act ginfo_sel ginfo_wx1 ginfo_wy1 ginfo_wx2 ginfo_wy2 ginfo_vx ginfo_vy ginfo_sizex ginfo_sizey ginfo_winx ginfo_winy ginfo_mesx ginfo_mesy ginfo_r ginfo_g ginfo_b ginfo_paluse ginfo_dispx ginfo_dispy ginfo_cx ginfo_cy ginfo_intid ginfo_newid ginfo_sx ginfo_sy objinfo_mode objinfo_bmscr objinfo_hwnd notemax notesize dir_cur dir_exe dir_win dir_sys dir_cmdline dir_desktop dir_mydoc dir_tv font_normal font_bold font_italic font_underline font_strikeout font_antialias objmode_normal objmode_guifont objmode_usefont gsquare_grad msgothic msmincho do until while wend for next _break _continue switch case default swbreak swend ddim ldim alloc m_pi rad2deg deg2rad ease_linear ease_quad_in ease_quad_out ease_quad_inout ease_cubic_in ease_cubic_out ease_cubic_inout ease_quartic_in ease_quartic_out ease_quartic_inout ease_bounce_in ease_bounce_out ease_bounce_inout ease_shake_in ease_shake_out ease_shake_inout ease_loop', 11121 contains: [ 11122 hljs.C_LINE_COMMENT_MODE, 11123 hljs.C_BLOCK_COMMENT_MODE, 11124 hljs.QUOTE_STRING_MODE, 11125 hljs.APOS_STRING_MODE, 11126 11127 { 11128 // multi-line string 11129 className: 'string', 11130 begin: '{"', end: '"}', 11131 contains: [hljs.BACKSLASH_ESCAPE] 11132 }, 11133 11134 hljs.COMMENT(';', '$', {relevance: 0}), 11135 11136 { 11137 // pre-processor 11138 className: 'meta', 11139 begin: '#', end: '$', 11140 keywords: {'meta-keyword': 'addion cfunc cmd cmpopt comfunc const defcfunc deffunc define else endif enum epack func global if ifdef ifndef include modcfunc modfunc modinit modterm module pack packopt regcmd runtime undef usecom uselib'}, 11141 contains: [ 11142 hljs.inherit(hljs.QUOTE_STRING_MODE, {className: 'meta-string'}), 11143 hljs.NUMBER_MODE, 11144 hljs.C_NUMBER_MODE, 11145 hljs.C_LINE_COMMENT_MODE, 11146 hljs.C_BLOCK_COMMENT_MODE 11147 ] 11148 }, 11149 11150 { 11151 // label 11152 className: 'symbol', 11153 begin: '^\\*(\\w+|@)' 11154 }, 11155 11156 hljs.NUMBER_MODE, 11157 hljs.C_NUMBER_MODE 11158 ] 11159 }; 11160 } 11161 },{name:"htmlbars",create:/* 11162 Language: HTMLBars 11163 Requires: xml.js 11164 Author: Michael Johnston <lastobelus@gmail.com> 11165 Description: Matcher for HTMLBars 11166 Category: template 11167 */ 11168 11169 function(hljs) { 11170 var BUILT_INS = 'action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view'; 11171 11172 var ATTR_ASSIGNMENT = { 11173 illegal: /\}\}/, 11174 begin: /[a-zA-Z0-9_]+=/, 11175 returnBegin: true, 11176 relevance: 0, 11177 contains: [ 11178 { 11179 className: 'attr', begin: /[a-zA-Z0-9_]+/ 11180 } 11181 ] 11182 }; 11183 11184 var SUB_EXPR = { 11185 illegal: /\}\}/, 11186 begin: /\)/, end: /\)/, 11187 contains: [ 11188 { 11189 begin: /[a-zA-Z\.\-]+/, 11190 keywords: {built_in: BUILT_INS}, 11191 starts: { 11192 endsWithParent: true, relevance: 0, 11193 contains: [ 11194 hljs.QUOTE_STRING_MODE, 11195 ] 11196 } 11197 } 11198 ] 11199 }; 11200 11201 var TAG_INNARDS = { 11202 endsWithParent: true, relevance: 0, 11203 keywords: {keyword: 'as', built_in: BUILT_INS}, 11204 contains: [ 11205 hljs.QUOTE_STRING_MODE, 11206 ATTR_ASSIGNMENT, 11207 hljs.NUMBER_MODE 11208 ] 11209 }; 11210 11211 return { 11212 case_insensitive: true, 11213 subLanguage: 'xml', 11214 contains: [ 11215 hljs.COMMENT('{{!(--)?', '(--)?}}'), 11216 { 11217 className: 'template-tag', 11218 begin: /\{\{[#\/]/, end: /\}\}/, 11219 contains: [ 11220 { 11221 className: 'name', 11222 begin: /[a-zA-Z\.\-]+/, 11223 keywords: {'builtin-name': BUILT_INS}, 11224 starts: TAG_INNARDS 11225 } 11226 ] 11227 }, 11228 { 11229 className: 'template-variable', 11230 begin: /\{\{[a-zA-Z][a-zA-Z\-]+/, end: /\}\}/, 11231 keywords: {keyword: 'as', built_in: BUILT_INS}, 11232 contains: [ 11233 hljs.QUOTE_STRING_MODE 11234 ] 11235 } 11236 ] 11237 }; 11238 } 11239 },{name:"http",create:/* 11240 Language: HTTP 11241 Description: HTTP request and response headers with automatic body highlighting 11242 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 11243 Category: common, protocols 11244 */ 11245 11246 function(hljs) { 11247 var VERSION = 'HTTP/[0-9\\.]+'; 11248 return { 11249 aliases: ['https'], 11250 illegal: '\\S', 11251 contains: [ 11252 { 11253 begin: '^' + VERSION, end: '$', 11254 contains: [{className: 'number', begin: '\\b\\d{3}\\b'}] 11255 }, 11256 { 11257 begin: '^[A-Z]+ (.*?) ' + VERSION + '$', returnBegin: true, end: '$', 11258 contains: [ 11259 { 11260 className: 'string', 11261 begin: ' ', end: ' ', 11262 excludeBegin: true, excludeEnd: true 11263 }, 11264 { 11265 begin: VERSION 11266 }, 11267 { 11268 className: 'keyword', 11269 begin: '[A-Z]+' 11270 } 11271 ] 11272 }, 11273 { 11274 className: 'attribute', 11275 begin: '^\\w', end: ': ', excludeEnd: true, 11276 illegal: '\\n|\\s|=', 11277 starts: {end: '$', relevance: 0} 11278 }, 11279 { 11280 begin: '\\n\\n', 11281 starts: {subLanguage: [], endsWithParent: true} 11282 } 11283 ] 11284 }; 11285 } 11286 },{name:"hy",create:/* 11287 Language: Hy 11288 Description: Hy syntax (based on clojure.js) 11289 Author: Sergey Sobko <s.sobko@profitware.ru> 11290 Category: lisp 11291 */ 11292 11293 function(hljs) { 11294 var keywords = { 11295 'builtin-name': 11296 // keywords 11297 '!= % %= & &= * ** **= *= *map ' + 11298 '+ += , --build-class-- --import-- -= . / // //= ' + 11299 '/= < << <<= <= = > >= >> >>= ' + 11300 '@ @= ^ ^= abs accumulate all and any ap-compose ' + 11301 'ap-dotimes ap-each ap-each-while ap-filter ap-first ap-if ap-last ap-map ap-map-when ap-pipe ' + 11302 'ap-reduce ap-reject apply as-> ascii assert assoc bin break butlast ' + 11303 'callable calling-module-name car case cdr chain chr coll? combinations compile ' + 11304 'compress cond cons cons? continue count curry cut cycle dec ' + 11305 'def default-method defclass defmacro defmacro-alias defmacro/g! defmain defmethod defmulti defn ' + 11306 'defn-alias defnc defnr defreader defseq del delattr delete-route dict-comp dir ' + 11307 'disassemble dispatch-reader-macro distinct divmod do doto drop drop-last drop-while empty? ' + 11308 'end-sequence eval eval-and-compile eval-when-compile even? every? except exec filter first ' + 11309 'flatten float? fn fnc fnr for for* format fraction genexpr ' + 11310 'gensym get getattr global globals group-by hasattr hash hex id ' + 11311 'identity if if* if-not if-python2 import in inc input instance? ' + 11312 'integer integer-char? integer? interleave interpose is is-coll is-cons is-empty is-even ' + 11313 'is-every is-float is-instance is-integer is-integer-char is-iterable is-iterator is-keyword is-neg is-none ' + 11314 'is-not is-numeric is-odd is-pos is-string is-symbol is-zero isinstance islice issubclass ' + 11315 'iter iterable? iterate iterator? keyword keyword? lambda last len let ' + 11316 'lif lif-not list* list-comp locals loop macro-error macroexpand macroexpand-1 macroexpand-all ' + 11317 'map max merge-with method-decorator min multi-decorator multicombinations name neg? next ' + 11318 'none? nonlocal not not-in not? nth numeric? oct odd? open ' + 11319 'or ord partition permutations pos? post-route postwalk pow prewalk print ' + 11320 'product profile/calls profile/cpu put-route quasiquote quote raise range read read-str ' + 11321 'recursive-replace reduce remove repeat repeatedly repr require rest round route ' + 11322 'route-with-methods rwm second seq set-comp setattr setv some sorted string ' + 11323 'string? sum switch symbol? take take-nth take-while tee try unless ' + 11324 'unquote unquote-splicing vars walk when while with with* with-decorator with-gensyms ' + 11325 'xi xor yield yield-from zero? zip zip-longest | |= ~' 11326 }; 11327 11328 var SYMBOLSTART = 'a-zA-Z_\\-!.?+*=<>&#\''; 11329 var SYMBOL_RE = '[' + SYMBOLSTART + '][' + SYMBOLSTART + '0-9/;:]*'; 11330 var SIMPLE_NUMBER_RE = '[-+]?\\d+(\\.\\d+)?'; 11331 11332 var SHEBANG = { 11333 className: 'meta', 11334 begin: '^#!', end: '$' 11335 }; 11336 11337 var SYMBOL = { 11338 begin: SYMBOL_RE, 11339 relevance: 0 11340 }; 11341 var NUMBER = { 11342 className: 'number', begin: SIMPLE_NUMBER_RE, 11343 relevance: 0 11344 }; 11345 var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}); 11346 var COMMENT = hljs.COMMENT( 11347 ';', 11348 '$', 11349 { 11350 relevance: 0 11351 } 11352 ); 11353 var LITERAL = { 11354 className: 'literal', 11355 begin: /\b([Tt]rue|[Ff]alse|nil|None)\b/ 11356 }; 11357 var COLLECTION = { 11358 begin: '[\\[\\{]', end: '[\\]\\}]' 11359 }; 11360 var HINT = { 11361 className: 'comment', 11362 begin: '\\^' + SYMBOL_RE 11363 }; 11364 var HINT_COL = hljs.COMMENT('\\^\\{', '\\}'); 11365 var KEY = { 11366 className: 'symbol', 11367 begin: '[:]{1,2}' + SYMBOL_RE 11368 }; 11369 var LIST = { 11370 begin: '\\(', end: '\\)' 11371 }; 11372 var BODY = { 11373 endsWithParent: true, 11374 relevance: 0 11375 }; 11376 var NAME = { 11377 keywords: keywords, 11378 lexemes: SYMBOL_RE, 11379 className: 'name', begin: SYMBOL_RE, 11380 starts: BODY 11381 }; 11382 var DEFAULT_CONTAINS = [LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL, SYMBOL]; 11383 11384 LIST.contains = [hljs.COMMENT('comment', ''), NAME, BODY]; 11385 BODY.contains = DEFAULT_CONTAINS; 11386 COLLECTION.contains = DEFAULT_CONTAINS; 11387 11388 return { 11389 aliases: ['hylang'], 11390 illegal: /\S/, 11391 contains: [SHEBANG, LIST, STRING, HINT, HINT_COL, COMMENT, KEY, COLLECTION, NUMBER, LITERAL] 11392 } 11393 } 11394 },{name:"inform7",create:/* 11395 Language: Inform 7 11396 Author: Bruno Dias <bruno.r.dias@gmail.com> 11397 Description: Language definition for Inform 7, a DSL for writing parser interactive fiction. 11398 */ 11399 11400 function(hljs) { 11401 var START_BRACKET = '\\['; 11402 var END_BRACKET = '\\]'; 11403 return { 11404 aliases: ['i7'], 11405 case_insensitive: true, 11406 keywords: { 11407 // Some keywords more or less unique to I7, for relevance. 11408 keyword: 11409 // kind: 11410 'thing room person man woman animal container ' + 11411 'supporter backdrop door ' + 11412 // characteristic: 11413 'scenery open closed locked inside gender ' + 11414 // verb: 11415 'is are say understand ' + 11416 // misc keyword: 11417 'kind of rule' 11418 }, 11419 contains: [ 11420 { 11421 className: 'string', 11422 begin: '"', end: '"', 11423 relevance: 0, 11424 contains: [ 11425 { 11426 className: 'subst', 11427 begin: START_BRACKET, end: END_BRACKET 11428 } 11429 ] 11430 }, 11431 { 11432 className: 'section', 11433 begin: /^(Volume|Book|Part|Chapter|Section|Table)\b/, 11434 end: '$' 11435 }, 11436 { 11437 // Rule definition 11438 // This is here for relevance. 11439 begin: /^(Check|Carry out|Report|Instead of|To|Rule|When|Before|After)\b/, 11440 end: ':', 11441 contains: [ 11442 { 11443 //Rule name 11444 begin: '\\(This', end: '\\)' 11445 } 11446 ] 11447 }, 11448 { 11449 className: 'comment', 11450 begin: START_BRACKET, end: END_BRACKET, 11451 contains: ['self'] 11452 } 11453 ] 11454 }; 11455 } 11456 },{name:"ini",create:/* 11457 Language: Ini, TOML 11458 Contributors: Guillaume Gomez <guillaume1.gomez@gmail.com> 11459 Category: common, config 11460 */ 11461 11462 function(hljs) { 11463 var STRING = { 11464 className: "string", 11465 contains: [hljs.BACKSLASH_ESCAPE], 11466 variants: [ 11467 { 11468 begin: "'''", end: "'''", 11469 relevance: 10 11470 }, { 11471 begin: '"""', end: '"""', 11472 relevance: 10 11473 }, { 11474 begin: '"', end: '"' 11475 }, { 11476 begin: "'", end: "'" 11477 } 11478 ] 11479 }; 11480 return { 11481 aliases: ['toml'], 11482 case_insensitive: true, 11483 illegal: /\S/, 11484 contains: [ 11485 hljs.COMMENT(';', '$'), 11486 hljs.HASH_COMMENT_MODE, 11487 { 11488 className: 'section', 11489 begin: /^\s*\[+/, end: /\]+/ 11490 }, 11491 { 11492 begin: /^[a-z0-9\[\]_\.-]+\s*=\s*/, end: '$', 11493 returnBegin: true, 11494 contains: [ 11495 { 11496 className: 'attr', 11497 begin: /[a-z0-9\[\]_\.-]+/ 11498 }, 11499 { 11500 begin: /=/, endsWithParent: true, 11501 relevance: 0, 11502 contains: [ 11503 hljs.COMMENT(';', '$'), 11504 hljs.HASH_COMMENT_MODE, 11505 { 11506 className: 'literal', 11507 begin: /\bon|off|true|false|yes|no\b/ 11508 }, 11509 { 11510 className: 'variable', 11511 variants: [ 11512 {begin: /\$[\w\d"][\w\d_]*/}, 11513 {begin: /\$\{(.*?)}/} 11514 ] 11515 }, 11516 STRING, 11517 { 11518 className: 'number', 11519 begin: /([\+\-]+)?[\d]+_[\d_]+/ 11520 }, 11521 hljs.NUMBER_MODE 11522 ] 11523 } 11524 ] 11525 } 11526 ] 11527 }; 11528 } 11529 },{name:"irpf90",create:/* 11530 Language: IRPF90 11531 Author: Anthony Scemama <scemama@irsamc.ups-tlse.fr> 11532 Description: IRPF90 is an open-source Fortran code generator : http://irpf90.ups-tlse.fr 11533 Category: scientific 11534 */ 11535 11536 function(hljs) { 11537 var PARAMS = { 11538 className: 'params', 11539 begin: '\\(', end: '\\)' 11540 }; 11541 11542 var F_KEYWORDS = { 11543 literal: '.False. .True.', 11544 keyword: 'kind do while private call intrinsic where elsewhere ' + 11545 'type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then ' + 11546 'public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. ' + 11547 'goto save else use module select case ' + 11548 'access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit ' + 11549 'continue format pause cycle exit ' + 11550 'c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg ' + 11551 'synchronous nopass non_overridable pass protected volatile abstract extends import ' + 11552 'non_intrinsic value deferred generic final enumerator class associate bind enum ' + 11553 'c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t ' + 11554 'c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double ' + 11555 'c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr ' + 11556 'c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer ' + 11557 'c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor ' + 11558 'numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ' + 11559 'ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous recursive ' + 11560 'pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure ' + 11561 'integer real character complex logical dimension allocatable|10 parameter ' + 11562 'external implicit|10 none double precision assign intent optional pointer ' + 11563 'target in out common equivalence data ' + 11564 // IRPF90 special keywords 11565 'begin_provider &begin_provider end_provider begin_shell end_shell begin_template end_template subst assert touch ' + 11566 'soft_touch provide no_dep free irp_if irp_else irp_endif irp_write irp_read', 11567 built_in: 'alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint ' + 11568 'dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl ' + 11569 'algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama ' + 11570 'iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod ' + 11571 'qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log ' + 11572 'log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate ' + 11573 'adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product ' + 11574 'eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul ' + 11575 'maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product ' + 11576 'radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind ' + 11577 'set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer ' + 11578 'dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ' + 11579 'ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode ' + 11580 'is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of' + 11581 'acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 ' + 11582 'atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits ' + 11583 'bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr ' + 11584 'num_images parity popcnt poppar shifta shiftl shiftr this_image ' + 11585 // IRPF90 special built_ins 11586 'IRP_ALIGN irp_here' 11587 }; 11588 return { 11589 case_insensitive: true, 11590 keywords: F_KEYWORDS, 11591 illegal: /\/\*/, 11592 contains: [ 11593 hljs.inherit(hljs.APOS_STRING_MODE, {className: 'string', relevance: 0}), 11594 hljs.inherit(hljs.QUOTE_STRING_MODE, {className: 'string', relevance: 0}), 11595 { 11596 className: 'function', 11597 beginKeywords: 'subroutine function program', 11598 illegal: '[${=\\n]', 11599 contains: [hljs.UNDERSCORE_TITLE_MODE, PARAMS] 11600 }, 11601 hljs.COMMENT('!', '$', {relevance: 0}), 11602 hljs.COMMENT('begin_doc', 'end_doc', {relevance: 10}), 11603 { 11604 className: 'number', 11605 begin: '(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?', 11606 relevance: 0 11607 } 11608 ] 11609 }; 11610 } 11611 },{name:"isbl",create:/* 11612 Language: ISBL 11613 Author: Dmitriy Tarasov <dimatar@gmail.com> 11614 Description: built-in language DIRECTUM 11615 Category: enterprise 11616 */ 11617 11618 function(hljs) { 11619 // Определение идентификаторов 11620 var UNDERSCORE_IDENT_RE = "[A-Za-zА-Яа-яёЁ_!][A-Za-zА-Яа-яёЁ_0-9]*"; 11621 11622 // Определение имен функций 11623 var FUNCTION_NAME_IDENT_RE = "[A-Za-zА-Яа-яёЁ_][A-Za-zА-Яа-яёЁ_0-9]*"; 11624 11625 // keyword : ключевые слова 11626 var KEYWORD = 11627 "and и else иначе endexcept endfinally endforeach конецвсе endif конецесли endwhile конецпока " + 11628 "except exitfor finally foreach все if если in в not не or или try while пока "; 11629 11630 // SYSRES Constants 11631 var sysres_constants = 11632 "SYSRES_CONST_ACCES_RIGHT_TYPE_EDIT " + 11633 "SYSRES_CONST_ACCES_RIGHT_TYPE_FULL " + 11634 "SYSRES_CONST_ACCES_RIGHT_TYPE_VIEW " + 11635 "SYSRES_CONST_ACCESS_MODE_REQUISITE_CODE " + 11636 "SYSRES_CONST_ACCESS_NO_ACCESS_VIEW " + 11637 "SYSRES_CONST_ACCESS_NO_ACCESS_VIEW_CODE " + 11638 "SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_CODE " + 11639 "SYSRES_CONST_ACCESS_RIGHTS_ADD_REQUISITE_YES_CODE " + 11640 "SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_CODE " + 11641 "SYSRES_CONST_ACCESS_RIGHTS_CHANGE_REQUISITE_YES_CODE " + 11642 "SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_CODE " + 11643 "SYSRES_CONST_ACCESS_RIGHTS_DELETE_REQUISITE_YES_CODE " + 11644 "SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_CODE " + 11645 "SYSRES_CONST_ACCESS_RIGHTS_EXECUTE_REQUISITE_YES_CODE " + 11646 "SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_CODE " + 11647 "SYSRES_CONST_ACCESS_RIGHTS_NO_ACCESS_REQUISITE_YES_CODE " + 11648 "SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_CODE " + 11649 "SYSRES_CONST_ACCESS_RIGHTS_RATIFY_REQUISITE_YES_CODE " + 11650 "SYSRES_CONST_ACCESS_RIGHTS_REQUISITE_CODE " + 11651 "SYSRES_CONST_ACCESS_RIGHTS_VIEW " + 11652 "SYSRES_CONST_ACCESS_RIGHTS_VIEW_CODE " + 11653 "SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_CODE " + 11654 "SYSRES_CONST_ACCESS_RIGHTS_VIEW_REQUISITE_YES_CODE " + 11655 "SYSRES_CONST_ACCESS_TYPE_CHANGE " + 11656 "SYSRES_CONST_ACCESS_TYPE_CHANGE_CODE " + 11657 "SYSRES_CONST_ACCESS_TYPE_EXISTS " + 11658 "SYSRES_CONST_ACCESS_TYPE_EXISTS_CODE " + 11659 "SYSRES_CONST_ACCESS_TYPE_FULL " + 11660 "SYSRES_CONST_ACCESS_TYPE_FULL_CODE " + 11661 "SYSRES_CONST_ACCESS_TYPE_VIEW " + 11662 "SYSRES_CONST_ACCESS_TYPE_VIEW_CODE " + 11663 "SYSRES_CONST_ACTION_TYPE_ABORT " + 11664 "SYSRES_CONST_ACTION_TYPE_ACCEPT " + 11665 "SYSRES_CONST_ACTION_TYPE_ACCESS_RIGHTS " + 11666 "SYSRES_CONST_ACTION_TYPE_ADD_ATTACHMENT " + 11667 "SYSRES_CONST_ACTION_TYPE_CHANGE_CARD " + 11668 "SYSRES_CONST_ACTION_TYPE_CHANGE_KIND " + 11669 "SYSRES_CONST_ACTION_TYPE_CHANGE_STORAGE " + 11670 "SYSRES_CONST_ACTION_TYPE_CONTINUE " + 11671 "SYSRES_CONST_ACTION_TYPE_COPY " + 11672 "SYSRES_CONST_ACTION_TYPE_CREATE " + 11673 "SYSRES_CONST_ACTION_TYPE_CREATE_VERSION " + 11674 "SYSRES_CONST_ACTION_TYPE_DELETE " + 11675 "SYSRES_CONST_ACTION_TYPE_DELETE_ATTACHMENT " + 11676 "SYSRES_CONST_ACTION_TYPE_DELETE_VERSION " + 11677 "SYSRES_CONST_ACTION_TYPE_DISABLE_DELEGATE_ACCESS_RIGHTS " + 11678 "SYSRES_CONST_ACTION_TYPE_ENABLE_DELEGATE_ACCESS_RIGHTS " + 11679 "SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE " + 11680 "SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_CERTIFICATE_AND_PASSWORD " + 11681 "SYSRES_CONST_ACTION_TYPE_ENCRYPTION_BY_PASSWORD " + 11682 "SYSRES_CONST_ACTION_TYPE_EXPORT_WITH_LOCK " + 11683 "SYSRES_CONST_ACTION_TYPE_EXPORT_WITHOUT_LOCK " + 11684 "SYSRES_CONST_ACTION_TYPE_IMPORT_WITH_UNLOCK " + 11685 "SYSRES_CONST_ACTION_TYPE_IMPORT_WITHOUT_UNLOCK " + 11686 "SYSRES_CONST_ACTION_TYPE_LIFE_CYCLE_STAGE " + 11687 "SYSRES_CONST_ACTION_TYPE_LOCK " + 11688 "SYSRES_CONST_ACTION_TYPE_LOCK_FOR_SERVER " + 11689 "SYSRES_CONST_ACTION_TYPE_LOCK_MODIFY " + 11690 "SYSRES_CONST_ACTION_TYPE_MARK_AS_READED " + 11691 "SYSRES_CONST_ACTION_TYPE_MARK_AS_UNREADED " + 11692 "SYSRES_CONST_ACTION_TYPE_MODIFY " + 11693 "SYSRES_CONST_ACTION_TYPE_MODIFY_CARD " + 11694 "SYSRES_CONST_ACTION_TYPE_MOVE_TO_ARCHIVE " + 11695 "SYSRES_CONST_ACTION_TYPE_OFF_ENCRYPTION " + 11696 "SYSRES_CONST_ACTION_TYPE_PASSWORD_CHANGE " + 11697 "SYSRES_CONST_ACTION_TYPE_PERFORM " + 11698 "SYSRES_CONST_ACTION_TYPE_RECOVER_FROM_LOCAL_COPY " + 11699 "SYSRES_CONST_ACTION_TYPE_RESTART " + 11700 "SYSRES_CONST_ACTION_TYPE_RESTORE_FROM_ARCHIVE " + 11701 "SYSRES_CONST_ACTION_TYPE_REVISION " + 11702 "SYSRES_CONST_ACTION_TYPE_SEND_BY_MAIL " + 11703 "SYSRES_CONST_ACTION_TYPE_SIGN " + 11704 "SYSRES_CONST_ACTION_TYPE_START " + 11705 "SYSRES_CONST_ACTION_TYPE_UNLOCK " + 11706 "SYSRES_CONST_ACTION_TYPE_UNLOCK_FROM_SERVER " + 11707 "SYSRES_CONST_ACTION_TYPE_VERSION_STATE " + 11708 "SYSRES_CONST_ACTION_TYPE_VERSION_VISIBILITY " + 11709 "SYSRES_CONST_ACTION_TYPE_VIEW " + 11710 "SYSRES_CONST_ACTION_TYPE_VIEW_SHADOW_COPY " + 11711 "SYSRES_CONST_ACTION_TYPE_WORKFLOW_DESCRIPTION_MODIFY " + 11712 "SYSRES_CONST_ACTION_TYPE_WRITE_HISTORY " + 11713 "SYSRES_CONST_ACTIVE_VERSION_STATE_PICK_VALUE " + 11714 "SYSRES_CONST_ADD_REFERENCE_MODE_NAME " + 11715 "SYSRES_CONST_ADDITION_REQUISITE_CODE " + 11716 "SYSRES_CONST_ADDITIONAL_PARAMS_REQUISITE_CODE " + 11717 "SYSRES_CONST_ADITIONAL_JOB_END_DATE_REQUISITE_NAME " + 11718 "SYSRES_CONST_ADITIONAL_JOB_READ_REQUISITE_NAME " + 11719 "SYSRES_CONST_ADITIONAL_JOB_START_DATE_REQUISITE_NAME " + 11720 "SYSRES_CONST_ADITIONAL_JOB_STATE_REQUISITE_NAME " + 11721 "SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION " + 11722 "SYSRES_CONST_ADMINISTRATION_HISTORY_ADDING_USER_TO_GROUP_ACTION_CODE " + 11723 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION " + 11724 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_COMP_ACTION_CODE " + 11725 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION " + 11726 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_GROUP_ACTION_CODE " + 11727 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION " + 11728 "SYSRES_CONST_ADMINISTRATION_HISTORY_CREATION_USER_ACTION_CODE " + 11729 "SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION " + 11730 "SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_CREATION_ACTION " + 11731 "SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION " + 11732 "SYSRES_CONST_ADMINISTRATION_HISTORY_DATABASE_USER_DELETION_ACTION " + 11733 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION " + 11734 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_COMP_ACTION_CODE " + 11735 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION " + 11736 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_GROUP_ACTION_CODE " + 11737 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION " + 11738 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_ACTION_CODE " + 11739 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION " + 11740 "SYSRES_CONST_ADMINISTRATION_HISTORY_DELETION_USER_FROM_GROUP_ACTION_CODE " + 11741 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION " + 11742 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_ACTION_CODE " + 11743 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION " + 11744 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_FILTERER_RESTRICTION_ACTION_CODE " + 11745 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION " + 11746 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_PRIVILEGE_ACTION_CODE " + 11747 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION " + 11748 "SYSRES_CONST_ADMINISTRATION_HISTORY_GRANTING_RIGHTS_ACTION_CODE " + 11749 "SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION " + 11750 "SYSRES_CONST_ADMINISTRATION_HISTORY_IS_MAIN_SERVER_CHANGED_ACTION_CODE " + 11751 "SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION " + 11752 "SYSRES_CONST_ADMINISTRATION_HISTORY_IS_PUBLIC_CHANGED_ACTION_CODE " + 11753 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION " + 11754 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_ACTION_CODE " + 11755 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION " + 11756 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_FILTERER_RESTRICTION_ACTION_CODE " + 11757 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION " + 11758 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_PRIVILEGE_ACTION_CODE " + 11759 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION " + 11760 "SYSRES_CONST_ADMINISTRATION_HISTORY_REMOVING_RIGHTS_ACTION_CODE " + 11761 "SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION " + 11762 "SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_CREATION_ACTION " + 11763 "SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION " + 11764 "SYSRES_CONST_ADMINISTRATION_HISTORY_SERVER_LOGIN_DELETION_ACTION " + 11765 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION " + 11766 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_CATEGORY_ACTION_CODE " + 11767 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION " + 11768 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_COMP_TITLE_ACTION_CODE " + 11769 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION " + 11770 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_FULL_NAME_ACTION_CODE " + 11771 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION " + 11772 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_GROUP_ACTION_CODE " + 11773 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION " + 11774 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_PARENT_GROUP_ACTION_CODE " + 11775 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION " + 11776 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_AUTH_TYPE_ACTION_CODE " + 11777 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION " + 11778 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_LOGIN_ACTION_CODE " + 11779 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION " + 11780 "SYSRES_CONST_ADMINISTRATION_HISTORY_UPDATING_USER_STATUS_ACTION_CODE " + 11781 "SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE " + 11782 "SYSRES_CONST_ADMINISTRATION_HISTORY_USER_PASSWORD_CHANGE_ACTION " + 11783 "SYSRES_CONST_ALL_ACCEPT_CONDITION_RUS " + 11784 "SYSRES_CONST_ALL_USERS_GROUP " + 11785 "SYSRES_CONST_ALL_USERS_GROUP_NAME " + 11786 "SYSRES_CONST_ALL_USERS_SERVER_GROUP_NAME " + 11787 "SYSRES_CONST_ALLOWED_ACCESS_TYPE_CODE " + 11788 "SYSRES_CONST_ALLOWED_ACCESS_TYPE_NAME " + 11789 "SYSRES_CONST_APP_VIEWER_TYPE_REQUISITE_CODE " + 11790 "SYSRES_CONST_APPROVING_SIGNATURE_NAME " + 11791 "SYSRES_CONST_APPROVING_SIGNATURE_REQUISITE_CODE " + 11792 "SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE " + 11793 "SYSRES_CONST_ASSISTANT_SUBSTITUE_TYPE_CODE " + 11794 "SYSRES_CONST_ATTACH_TYPE_COMPONENT_TOKEN " + 11795 "SYSRES_CONST_ATTACH_TYPE_DOC " + 11796 "SYSRES_CONST_ATTACH_TYPE_EDOC " + 11797 "SYSRES_CONST_ATTACH_TYPE_FOLDER " + 11798 "SYSRES_CONST_ATTACH_TYPE_JOB " + 11799 "SYSRES_CONST_ATTACH_TYPE_REFERENCE " + 11800 "SYSRES_CONST_ATTACH_TYPE_TASK " + 11801 "SYSRES_CONST_AUTH_ENCODED_PASSWORD " + 11802 "SYSRES_CONST_AUTH_ENCODED_PASSWORD_CODE " + 11803 "SYSRES_CONST_AUTH_NOVELL " + 11804 "SYSRES_CONST_AUTH_PASSWORD " + 11805 "SYSRES_CONST_AUTH_PASSWORD_CODE " + 11806 "SYSRES_CONST_AUTH_WINDOWS " + 11807 "SYSRES_CONST_AUTHENTICATING_SIGNATURE_NAME " + 11808 "SYSRES_CONST_AUTHENTICATING_SIGNATURE_REQUISITE_CODE " + 11809 "SYSRES_CONST_AUTO_ENUM_METHOD_FLAG " + 11810 "SYSRES_CONST_AUTO_NUMERATION_CODE " + 11811 "SYSRES_CONST_AUTO_STRONG_ENUM_METHOD_FLAG " + 11812 "SYSRES_CONST_AUTOTEXT_NAME_REQUISITE_CODE " + 11813 "SYSRES_CONST_AUTOTEXT_TEXT_REQUISITE_CODE " + 11814 "SYSRES_CONST_AUTOTEXT_USAGE_ALL " + 11815 "SYSRES_CONST_AUTOTEXT_USAGE_ALL_CODE " + 11816 "SYSRES_CONST_AUTOTEXT_USAGE_SIGN " + 11817 "SYSRES_CONST_AUTOTEXT_USAGE_SIGN_CODE " + 11818 "SYSRES_CONST_AUTOTEXT_USAGE_WORK " + 11819 "SYSRES_CONST_AUTOTEXT_USAGE_WORK_CODE " + 11820 "SYSRES_CONST_AUTOTEXT_USE_ANYWHERE_CODE " + 11821 "SYSRES_CONST_AUTOTEXT_USE_ON_SIGNING_CODE " + 11822 "SYSRES_CONST_AUTOTEXT_USE_ON_WORK_CODE " + 11823 "SYSRES_CONST_BEGIN_DATE_REQUISITE_CODE " + 11824 "SYSRES_CONST_BLACK_LIFE_CYCLE_STAGE_FONT_COLOR " + 11825 "SYSRES_CONST_BLUE_LIFE_CYCLE_STAGE_FONT_COLOR " + 11826 "SYSRES_CONST_BTN_PART " + 11827 "SYSRES_CONST_CALCULATED_ROLE_TYPE_CODE " + 11828 "SYSRES_CONST_CALL_TYPE_VARIABLE_BUTTON_VALUE " + 11829 "SYSRES_CONST_CALL_TYPE_VARIABLE_PROGRAM_VALUE " + 11830 "SYSRES_CONST_CANCEL_MESSAGE_FUNCTION_RESULT " + 11831 "SYSRES_CONST_CARD_PART " + 11832 "SYSRES_CONST_CARD_REFERENCE_MODE_NAME " + 11833 "SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_ENCRYPT_VALUE " + 11834 "SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_AND_ENCRYPT_VALUE " + 11835 "SYSRES_CONST_CERTIFICATE_TYPE_REQUISITE_SIGN_VALUE " + 11836 "SYSRES_CONST_CHECK_PARAM_VALUE_DATE_PARAM_TYPE " + 11837 "SYSRES_CONST_CHECK_PARAM_VALUE_FLOAT_PARAM_TYPE " + 11838 "SYSRES_CONST_CHECK_PARAM_VALUE_INTEGER_PARAM_TYPE " + 11839 "SYSRES_CONST_CHECK_PARAM_VALUE_PICK_PARAM_TYPE " + 11840 "SYSRES_CONST_CHECK_PARAM_VALUE_REEFRENCE_PARAM_TYPE " + 11841 "SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_FEMININE " + 11842 "SYSRES_CONST_CLOSED_RECORD_FLAG_VALUE_MASCULINE " + 11843 "SYSRES_CONST_CODE_COMPONENT_TYPE_ADMIN " + 11844 "SYSRES_CONST_CODE_COMPONENT_TYPE_DEVELOPER " + 11845 "SYSRES_CONST_CODE_COMPONENT_TYPE_DOCS " + 11846 "SYSRES_CONST_CODE_COMPONENT_TYPE_EDOC_CARDS " + 11847 "SYSRES_CONST_CODE_COMPONENT_TYPE_EXTERNAL_EXECUTABLE " + 11848 "SYSRES_CONST_CODE_COMPONENT_TYPE_OTHER " + 11849 "SYSRES_CONST_CODE_COMPONENT_TYPE_REFERENCE " + 11850 "SYSRES_CONST_CODE_COMPONENT_TYPE_REPORT " + 11851 "SYSRES_CONST_CODE_COMPONENT_TYPE_SCRIPT " + 11852 "SYSRES_CONST_CODE_COMPONENT_TYPE_URL " + 11853 "SYSRES_CONST_CODE_REQUISITE_ACCESS " + 11854 "SYSRES_CONST_CODE_REQUISITE_CODE " + 11855 "SYSRES_CONST_CODE_REQUISITE_COMPONENT " + 11856 "SYSRES_CONST_CODE_REQUISITE_DESCRIPTION " + 11857 "SYSRES_CONST_CODE_REQUISITE_EXCLUDE_COMPONENT " + 11858 "SYSRES_CONST_CODE_REQUISITE_RECORD " + 11859 "SYSRES_CONST_COMMENT_REQ_CODE " + 11860 "SYSRES_CONST_COMMON_SETTINGS_REQUISITE_CODE " + 11861 "SYSRES_CONST_COMP_CODE_GRD " + 11862 "SYSRES_CONST_COMPONENT_GROUP_TYPE_REQUISITE_CODE " + 11863 "SYSRES_CONST_COMPONENT_TYPE_ADMIN_COMPONENTS " + 11864 "SYSRES_CONST_COMPONENT_TYPE_DEVELOPER_COMPONENTS " + 11865 "SYSRES_CONST_COMPONENT_TYPE_DOCS " + 11866 "SYSRES_CONST_COMPONENT_TYPE_EDOC_CARDS " + 11867 "SYSRES_CONST_COMPONENT_TYPE_EDOCS " + 11868 "SYSRES_CONST_COMPONENT_TYPE_EXTERNAL_EXECUTABLE " + 11869 "SYSRES_CONST_COMPONENT_TYPE_OTHER " + 11870 "SYSRES_CONST_COMPONENT_TYPE_REFERENCE_TYPES " + 11871 "SYSRES_CONST_COMPONENT_TYPE_REFERENCES " + 11872 "SYSRES_CONST_COMPONENT_TYPE_REPORTS " + 11873 "SYSRES_CONST_COMPONENT_TYPE_SCRIPTS " + 11874 "SYSRES_CONST_COMPONENT_TYPE_URL " + 11875 "SYSRES_CONST_COMPONENTS_REMOTE_SERVERS_VIEW_CODE " + 11876 "SYSRES_CONST_CONDITION_BLOCK_DESCRIPTION " + 11877 "SYSRES_CONST_CONST_FIRM_STATUS_COMMON " + 11878 "SYSRES_CONST_CONST_FIRM_STATUS_INDIVIDUAL " + 11879 "SYSRES_CONST_CONST_NEGATIVE_VALUE " + 11880 "SYSRES_CONST_CONST_POSITIVE_VALUE " + 11881 "SYSRES_CONST_CONST_SERVER_STATUS_DONT_REPLICATE " + 11882 "SYSRES_CONST_CONST_SERVER_STATUS_REPLICATE " + 11883 "SYSRES_CONST_CONTENTS_REQUISITE_CODE " + 11884 "SYSRES_CONST_DATA_TYPE_BOOLEAN " + 11885 "SYSRES_CONST_DATA_TYPE_DATE " + 11886 "SYSRES_CONST_DATA_TYPE_FLOAT " + 11887 "SYSRES_CONST_DATA_TYPE_INTEGER " + 11888 "SYSRES_CONST_DATA_TYPE_PICK " + 11889 "SYSRES_CONST_DATA_TYPE_REFERENCE " + 11890 "SYSRES_CONST_DATA_TYPE_STRING " + 11891 "SYSRES_CONST_DATA_TYPE_TEXT " + 11892 "SYSRES_CONST_DATA_TYPE_VARIANT " + 11893 "SYSRES_CONST_DATE_CLOSE_REQ_CODE " + 11894 "SYSRES_CONST_DATE_FORMAT_DATE_ONLY_CHAR " + 11895 "SYSRES_CONST_DATE_OPEN_REQ_CODE " + 11896 "SYSRES_CONST_DATE_REQUISITE " + 11897 "SYSRES_CONST_DATE_REQUISITE_CODE " + 11898 "SYSRES_CONST_DATE_REQUISITE_NAME " + 11899 "SYSRES_CONST_DATE_REQUISITE_TYPE " + 11900 "SYSRES_CONST_DATE_TYPE_CHAR " + 11901 "SYSRES_CONST_DATETIME_FORMAT_VALUE " + 11902 "SYSRES_CONST_DEA_ACCESS_RIGHTS_ACTION_CODE " + 11903 "SYSRES_CONST_DESCRIPTION_LOCALIZE_ID_REQUISITE_CODE " + 11904 "SYSRES_CONST_DESCRIPTION_REQUISITE_CODE " + 11905 "SYSRES_CONST_DET1_PART " + 11906 "SYSRES_CONST_DET2_PART " + 11907 "SYSRES_CONST_DET3_PART " + 11908 "SYSRES_CONST_DET4_PART " + 11909 "SYSRES_CONST_DET5_PART " + 11910 "SYSRES_CONST_DET6_PART " + 11911 "SYSRES_CONST_DETAIL_DATASET_KEY_REQUISITE_CODE " + 11912 "SYSRES_CONST_DETAIL_PICK_REQUISITE_CODE " + 11913 "SYSRES_CONST_DETAIL_REQ_CODE " + 11914 "SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_CODE " + 11915 "SYSRES_CONST_DO_NOT_USE_ACCESS_TYPE_NAME " + 11916 "SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_CODE " + 11917 "SYSRES_CONST_DO_NOT_USE_ON_VIEW_ACCESS_TYPE_NAME " + 11918 "SYSRES_CONST_DOCUMENT_STORAGES_CODE " + 11919 "SYSRES_CONST_DOCUMENT_TEMPLATES_TYPE_NAME " + 11920 "SYSRES_CONST_DOUBLE_REQUISITE_CODE " + 11921 "SYSRES_CONST_EDITOR_CLOSE_FILE_OBSERV_TYPE_CODE " + 11922 "SYSRES_CONST_EDITOR_CLOSE_PROCESS_OBSERV_TYPE_CODE " + 11923 "SYSRES_CONST_EDITOR_TYPE_REQUISITE_CODE " + 11924 "SYSRES_CONST_EDITORS_APPLICATION_NAME_REQUISITE_CODE " + 11925 "SYSRES_CONST_EDITORS_CREATE_SEVERAL_PROCESSES_REQUISITE_CODE " + 11926 "SYSRES_CONST_EDITORS_EXTENSION_REQUISITE_CODE " + 11927 "SYSRES_CONST_EDITORS_OBSERVER_BY_PROCESS_TYPE " + 11928 "SYSRES_CONST_EDITORS_REFERENCE_CODE " + 11929 "SYSRES_CONST_EDITORS_REPLACE_SPEC_CHARS_REQUISITE_CODE " + 11930 "SYSRES_CONST_EDITORS_USE_PLUGINS_REQUISITE_CODE " + 11931 "SYSRES_CONST_EDITORS_VIEW_DOCUMENT_OPENED_TO_EDIT_CODE " + 11932 "SYSRES_CONST_EDOC_CARD_TYPE_REQUISITE_CODE " + 11933 "SYSRES_CONST_EDOC_CARD_TYPES_LINK_REQUISITE_CODE " + 11934 "SYSRES_CONST_EDOC_CERTIFICATE_AND_PASSWORD_ENCODE_CODE " + 11935 "SYSRES_CONST_EDOC_CERTIFICATE_ENCODE_CODE " + 11936 "SYSRES_CONST_EDOC_DATE_REQUISITE_CODE " + 11937 "SYSRES_CONST_EDOC_KIND_REFERENCE_CODE " + 11938 "SYSRES_CONST_EDOC_KINDS_BY_TEMPLATE_ACTION_CODE " + 11939 "SYSRES_CONST_EDOC_MANAGE_ACCESS_CODE " + 11940 "SYSRES_CONST_EDOC_NONE_ENCODE_CODE " + 11941 "SYSRES_CONST_EDOC_NUMBER_REQUISITE_CODE " + 11942 "SYSRES_CONST_EDOC_PASSWORD_ENCODE_CODE " + 11943 "SYSRES_CONST_EDOC_READONLY_ACCESS_CODE " + 11944 "SYSRES_CONST_EDOC_SHELL_LIFE_TYPE_VIEW_VALUE " + 11945 "SYSRES_CONST_EDOC_SIZE_RESTRICTION_PRIORITY_REQUISITE_CODE " + 11946 "SYSRES_CONST_EDOC_STORAGE_CHECK_ACCESS_RIGHTS_REQUISITE_CODE " + 11947 "SYSRES_CONST_EDOC_STORAGE_COMPUTER_NAME_REQUISITE_CODE " + 11948 "SYSRES_CONST_EDOC_STORAGE_DATABASE_NAME_REQUISITE_CODE " + 11949 "SYSRES_CONST_EDOC_STORAGE_EDIT_IN_STORAGE_REQUISITE_CODE " + 11950 "SYSRES_CONST_EDOC_STORAGE_LOCAL_PATH_REQUISITE_CODE " + 11951 "SYSRES_CONST_EDOC_STORAGE_SHARED_SOURCE_NAME_REQUISITE_CODE " + 11952 "SYSRES_CONST_EDOC_TEMPLATE_REQUISITE_CODE " + 11953 "SYSRES_CONST_EDOC_TYPES_REFERENCE_CODE " + 11954 "SYSRES_CONST_EDOC_VERSION_ACTIVE_STAGE_CODE " + 11955 "SYSRES_CONST_EDOC_VERSION_DESIGN_STAGE_CODE " + 11956 "SYSRES_CONST_EDOC_VERSION_OBSOLETE_STAGE_CODE " + 11957 "SYSRES_CONST_EDOC_WRITE_ACCES_CODE " + 11958 "SYSRES_CONST_EDOCUMENT_CARD_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE " + 11959 "SYSRES_CONST_ENCODE_CERTIFICATE_TYPE_CODE " + 11960 "SYSRES_CONST_END_DATE_REQUISITE_CODE " + 11961 "SYSRES_CONST_ENUMERATION_TYPE_REQUISITE_CODE " + 11962 "SYSRES_CONST_EXECUTE_ACCESS_RIGHTS_TYPE_CODE " + 11963 "SYSRES_CONST_EXECUTIVE_FILE_STORAGE_TYPE " + 11964 "SYSRES_CONST_EXIST_CONST " + 11965 "SYSRES_CONST_EXIST_VALUE " + 11966 "SYSRES_CONST_EXPORT_LOCK_TYPE_ASK " + 11967 "SYSRES_CONST_EXPORT_LOCK_TYPE_WITH_LOCK " + 11968 "SYSRES_CONST_EXPORT_LOCK_TYPE_WITHOUT_LOCK " + 11969 "SYSRES_CONST_EXPORT_VERSION_TYPE_ASK " + 11970 "SYSRES_CONST_EXPORT_VERSION_TYPE_LAST " + 11971 "SYSRES_CONST_EXPORT_VERSION_TYPE_LAST_ACTIVE " + 11972 "SYSRES_CONST_EXTENSION_REQUISITE_CODE " + 11973 "SYSRES_CONST_FILTER_NAME_REQUISITE_CODE " + 11974 "SYSRES_CONST_FILTER_REQUISITE_CODE " + 11975 "SYSRES_CONST_FILTER_TYPE_COMMON_CODE " + 11976 "SYSRES_CONST_FILTER_TYPE_COMMON_NAME " + 11977 "SYSRES_CONST_FILTER_TYPE_USER_CODE " + 11978 "SYSRES_CONST_FILTER_TYPE_USER_NAME " + 11979 "SYSRES_CONST_FILTER_VALUE_REQUISITE_NAME " + 11980 "SYSRES_CONST_FLOAT_NUMBER_FORMAT_CHAR " + 11981 "SYSRES_CONST_FLOAT_REQUISITE_TYPE " + 11982 "SYSRES_CONST_FOLDER_AUTHOR_VALUE " + 11983 "SYSRES_CONST_FOLDER_KIND_ANY_OBJECTS " + 11984 "SYSRES_CONST_FOLDER_KIND_COMPONENTS " + 11985 "SYSRES_CONST_FOLDER_KIND_EDOCS " + 11986 "SYSRES_CONST_FOLDER_KIND_JOBS " + 11987 "SYSRES_CONST_FOLDER_KIND_TASKS " + 11988 "SYSRES_CONST_FOLDER_TYPE_COMMON " + 11989 "SYSRES_CONST_FOLDER_TYPE_COMPONENT " + 11990 "SYSRES_CONST_FOLDER_TYPE_FAVORITES " + 11991 "SYSRES_CONST_FOLDER_TYPE_INBOX " + 11992 "SYSRES_CONST_FOLDER_TYPE_OUTBOX " + 11993 "SYSRES_CONST_FOLDER_TYPE_QUICK_LAUNCH " + 11994 "SYSRES_CONST_FOLDER_TYPE_SEARCH " + 11995 "SYSRES_CONST_FOLDER_TYPE_SHORTCUTS " + 11996 "SYSRES_CONST_FOLDER_TYPE_USER " + 11997 "SYSRES_CONST_FROM_DICTIONARY_ENUM_METHOD_FLAG " + 11998 "SYSRES_CONST_FULL_SUBSTITUTE_TYPE " + 11999 "SYSRES_CONST_FULL_SUBSTITUTE_TYPE_CODE " + 12000 "SYSRES_CONST_FUNCTION_CANCEL_RESULT " + 12001 "SYSRES_CONST_FUNCTION_CATEGORY_SYSTEM " + 12002 "SYSRES_CONST_FUNCTION_CATEGORY_USER " + 12003 "SYSRES_CONST_FUNCTION_FAILURE_RESULT " + 12004 "SYSRES_CONST_FUNCTION_SAVE_RESULT " + 12005 "SYSRES_CONST_GENERATED_REQUISITE " + 12006 "SYSRES_CONST_GREEN_LIFE_CYCLE_STAGE_FONT_COLOR " + 12007 "SYSRES_CONST_GROUP_ACCOUNT_TYPE_VALUE_CODE " + 12008 "SYSRES_CONST_GROUP_CATEGORY_NORMAL_CODE " + 12009 "SYSRES_CONST_GROUP_CATEGORY_NORMAL_NAME " + 12010 "SYSRES_CONST_GROUP_CATEGORY_SERVICE_CODE " + 12011 "SYSRES_CONST_GROUP_CATEGORY_SERVICE_NAME " + 12012 "SYSRES_CONST_GROUP_COMMON_CATEGORY_FIELD_VALUE " + 12013 "SYSRES_CONST_GROUP_FULL_NAME_REQUISITE_CODE " + 12014 "SYSRES_CONST_GROUP_NAME_REQUISITE_CODE " + 12015 "SYSRES_CONST_GROUP_RIGHTS_T_REQUISITE_CODE " + 12016 "SYSRES_CONST_GROUP_SERVER_CODES_REQUISITE_CODE " + 12017 "SYSRES_CONST_GROUP_SERVER_NAME_REQUISITE_CODE " + 12018 "SYSRES_CONST_GROUP_SERVICE_CATEGORY_FIELD_VALUE " + 12019 "SYSRES_CONST_GROUP_USER_REQUISITE_CODE " + 12020 "SYSRES_CONST_GROUPS_REFERENCE_CODE " + 12021 "SYSRES_CONST_GROUPS_REQUISITE_CODE " + 12022 "SYSRES_CONST_HIDDEN_MODE_NAME " + 12023 "SYSRES_CONST_HIGH_LVL_REQUISITE_CODE " + 12024 "SYSRES_CONST_HISTORY_ACTION_CREATE_CODE " + 12025 "SYSRES_CONST_HISTORY_ACTION_DELETE_CODE " + 12026 "SYSRES_CONST_HISTORY_ACTION_EDIT_CODE " + 12027 "SYSRES_CONST_HOUR_CHAR " + 12028 "SYSRES_CONST_ID_REQUISITE_CODE " + 12029 "SYSRES_CONST_IDSPS_REQUISITE_CODE " + 12030 "SYSRES_CONST_IMAGE_MODE_COLOR " + 12031 "SYSRES_CONST_IMAGE_MODE_GREYSCALE " + 12032 "SYSRES_CONST_IMAGE_MODE_MONOCHROME " + 12033 "SYSRES_CONST_IMPORTANCE_HIGH " + 12034 "SYSRES_CONST_IMPORTANCE_LOW " + 12035 "SYSRES_CONST_IMPORTANCE_NORMAL " + 12036 "SYSRES_CONST_IN_DESIGN_VERSION_STATE_PICK_VALUE " + 12037 "SYSRES_CONST_INCOMING_WORK_RULE_TYPE_CODE " + 12038 "SYSRES_CONST_INT_REQUISITE " + 12039 "SYSRES_CONST_INT_REQUISITE_TYPE " + 12040 "SYSRES_CONST_INTEGER_NUMBER_FORMAT_CHAR " + 12041 "SYSRES_CONST_INTEGER_TYPE_CHAR " + 12042 "SYSRES_CONST_IS_GENERATED_REQUISITE_NEGATIVE_VALUE " + 12043 "SYSRES_CONST_IS_PUBLIC_ROLE_REQUISITE_CODE " + 12044 "SYSRES_CONST_IS_REMOTE_USER_NEGATIVE_VALUE " + 12045 "SYSRES_CONST_IS_REMOTE_USER_POSITIVE_VALUE " + 12046 "SYSRES_CONST_IS_STORED_REQUISITE_NEGATIVE_VALUE " + 12047 "SYSRES_CONST_IS_STORED_REQUISITE_STORED_VALUE " + 12048 "SYSRES_CONST_ITALIC_LIFE_CYCLE_STAGE_DRAW_STYLE " + 12049 "SYSRES_CONST_JOB_BLOCK_DESCRIPTION " + 12050 "SYSRES_CONST_JOB_KIND_CONTROL_JOB " + 12051 "SYSRES_CONST_JOB_KIND_JOB " + 12052 "SYSRES_CONST_JOB_KIND_NOTICE " + 12053 "SYSRES_CONST_JOB_STATE_ABORTED " + 12054 "SYSRES_CONST_JOB_STATE_COMPLETE " + 12055 "SYSRES_CONST_JOB_STATE_WORKING " + 12056 "SYSRES_CONST_KIND_REQUISITE_CODE " + 12057 "SYSRES_CONST_KIND_REQUISITE_NAME " + 12058 "SYSRES_CONST_KINDS_CREATE_SHADOW_COPIES_REQUISITE_CODE " + 12059 "SYSRES_CONST_KINDS_DEFAULT_EDOC_LIFE_STAGE_REQUISITE_CODE " + 12060 "SYSRES_CONST_KINDS_EDOC_ALL_TEPLATES_ALLOWED_REQUISITE_CODE " + 12061 "SYSRES_CONST_KINDS_EDOC_ALLOW_LIFE_CYCLE_STAGE_CHANGING_REQUISITE_CODE " + 12062 "SYSRES_CONST_KINDS_EDOC_ALLOW_MULTIPLE_ACTIVE_VERSIONS_REQUISITE_CODE " + 12063 "SYSRES_CONST_KINDS_EDOC_SHARE_ACCES_RIGHTS_BY_DEFAULT_CODE " + 12064 "SYSRES_CONST_KINDS_EDOC_TEMPLATE_REQUISITE_CODE " + 12065 "SYSRES_CONST_KINDS_EDOC_TYPE_REQUISITE_CODE " + 12066 "SYSRES_CONST_KINDS_SIGNERS_REQUISITES_CODE " + 12067 "SYSRES_CONST_KOD_INPUT_TYPE " + 12068 "SYSRES_CONST_LAST_UPDATE_DATE_REQUISITE_CODE " + 12069 "SYSRES_CONST_LIFE_CYCLE_START_STAGE_REQUISITE_CODE " + 12070 "SYSRES_CONST_LILAC_LIFE_CYCLE_STAGE_FONT_COLOR " + 12071 "SYSRES_CONST_LINK_OBJECT_KIND_COMPONENT " + 12072 "SYSRES_CONST_LINK_OBJECT_KIND_DOCUMENT " + 12073 "SYSRES_CONST_LINK_OBJECT_KIND_EDOC " + 12074 "SYSRES_CONST_LINK_OBJECT_KIND_FOLDER " + 12075 "SYSRES_CONST_LINK_OBJECT_KIND_JOB " + 12076 "SYSRES_CONST_LINK_OBJECT_KIND_REFERENCE " + 12077 "SYSRES_CONST_LINK_OBJECT_KIND_TASK " + 12078 "SYSRES_CONST_LINK_REF_TYPE_REQUISITE_CODE " + 12079 "SYSRES_CONST_LIST_REFERENCE_MODE_NAME " + 12080 "SYSRES_CONST_LOCALIZATION_DICTIONARY_MAIN_VIEW_CODE " + 12081 "SYSRES_CONST_MAIN_VIEW_CODE " + 12082 "SYSRES_CONST_MANUAL_ENUM_METHOD_FLAG " + 12083 "SYSRES_CONST_MASTER_COMP_TYPE_REQUISITE_CODE " + 12084 "SYSRES_CONST_MASTER_TABLE_REC_ID_REQUISITE_CODE " + 12085 "SYSRES_CONST_MAXIMIZED_MODE_NAME " + 12086 "SYSRES_CONST_ME_VALUE " + 12087 "SYSRES_CONST_MESSAGE_ATTENTION_CAPTION " + 12088 "SYSRES_CONST_MESSAGE_CONFIRMATION_CAPTION " + 12089 "SYSRES_CONST_MESSAGE_ERROR_CAPTION " + 12090 "SYSRES_CONST_MESSAGE_INFORMATION_CAPTION " + 12091 "SYSRES_CONST_MINIMIZED_MODE_NAME " + 12092 "SYSRES_CONST_MINUTE_CHAR " + 12093 "SYSRES_CONST_MODULE_REQUISITE_CODE " + 12094 "SYSRES_CONST_MONITORING_BLOCK_DESCRIPTION " + 12095 "SYSRES_CONST_MONTH_FORMAT_VALUE " + 12096 "SYSRES_CONST_NAME_LOCALIZE_ID_REQUISITE_CODE " + 12097 "SYSRES_CONST_NAME_REQUISITE_CODE " + 12098 "SYSRES_CONST_NAME_SINGULAR_REQUISITE_CODE " + 12099 "SYSRES_CONST_NAMEAN_INPUT_TYPE " + 12100 "SYSRES_CONST_NEGATIVE_PICK_VALUE " + 12101 "SYSRES_CONST_NEGATIVE_VALUE " + 12102 "SYSRES_CONST_NO " + 12103 "SYSRES_CONST_NO_PICK_VALUE " + 12104 "SYSRES_CONST_NO_SIGNATURE_REQUISITE_CODE " + 12105 "SYSRES_CONST_NO_VALUE " + 12106 "SYSRES_CONST_NONE_ACCESS_RIGHTS_TYPE_CODE " + 12107 "SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE " + 12108 "SYSRES_CONST_NONOPERATING_RECORD_FLAG_VALUE_MASCULINE " + 12109 "SYSRES_CONST_NORMAL_ACCESS_RIGHTS_TYPE_CODE " + 12110 "SYSRES_CONST_NORMAL_LIFE_CYCLE_STAGE_DRAW_STYLE " + 12111 "SYSRES_CONST_NORMAL_MODE_NAME " + 12112 "SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_CODE " + 12113 "SYSRES_CONST_NOT_ALLOWED_ACCESS_TYPE_NAME " + 12114 "SYSRES_CONST_NOTE_REQUISITE_CODE " + 12115 "SYSRES_CONST_NOTICE_BLOCK_DESCRIPTION " + 12116 "SYSRES_CONST_NUM_REQUISITE " + 12117 "SYSRES_CONST_NUM_STR_REQUISITE_CODE " + 12118 "SYSRES_CONST_NUMERATION_AUTO_NOT_STRONG " + 12119 "SYSRES_CONST_NUMERATION_AUTO_STRONG " + 12120 "SYSRES_CONST_NUMERATION_FROM_DICTONARY " + 12121 "SYSRES_CONST_NUMERATION_MANUAL " + 12122 "SYSRES_CONST_NUMERIC_TYPE_CHAR " + 12123 "SYSRES_CONST_NUMREQ_REQUISITE_CODE " + 12124 "SYSRES_CONST_OBSOLETE_VERSION_STATE_PICK_VALUE " + 12125 "SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE " + 12126 "SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_CODE " + 12127 "SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_FEMININE " + 12128 "SYSRES_CONST_OPERATING_RECORD_FLAG_VALUE_MASCULINE " + 12129 "SYSRES_CONST_OPTIONAL_FORM_COMP_REQCODE_PREFIX " + 12130 "SYSRES_CONST_ORANGE_LIFE_CYCLE_STAGE_FONT_COLOR " + 12131 "SYSRES_CONST_ORIGINALREF_REQUISITE_CODE " + 12132 "SYSRES_CONST_OURFIRM_REF_CODE " + 12133 "SYSRES_CONST_OURFIRM_REQUISITE_CODE " + 12134 "SYSRES_CONST_OURFIRM_VAR " + 12135 "SYSRES_CONST_OUTGOING_WORK_RULE_TYPE_CODE " + 12136 "SYSRES_CONST_PICK_NEGATIVE_RESULT " + 12137 "SYSRES_CONST_PICK_POSITIVE_RESULT " + 12138 "SYSRES_CONST_PICK_REQUISITE " + 12139 "SYSRES_CONST_PICK_REQUISITE_TYPE " + 12140 "SYSRES_CONST_PICK_TYPE_CHAR " + 12141 "SYSRES_CONST_PLAN_STATUS_REQUISITE_CODE " + 12142 "SYSRES_CONST_PLATFORM_VERSION_COMMENT " + 12143 "SYSRES_CONST_PLUGINS_SETTINGS_DESCRIPTION_REQUISITE_CODE " + 12144 "SYSRES_CONST_POSITIVE_PICK_VALUE " + 12145 "SYSRES_CONST_POWER_TO_CREATE_ACTION_CODE " + 12146 "SYSRES_CONST_POWER_TO_SIGN_ACTION_CODE " + 12147 "SYSRES_CONST_PRIORITY_REQUISITE_CODE " + 12148 "SYSRES_CONST_QUALIFIED_TASK_TYPE " + 12149 "SYSRES_CONST_QUALIFIED_TASK_TYPE_CODE " + 12150 "SYSRES_CONST_RECSTAT_REQUISITE_CODE " + 12151 "SYSRES_CONST_RED_LIFE_CYCLE_STAGE_FONT_COLOR " + 12152 "SYSRES_CONST_REF_ID_T_REF_TYPE_REQUISITE_CODE " + 12153 "SYSRES_CONST_REF_REQUISITE " + 12154 "SYSRES_CONST_REF_REQUISITE_TYPE " + 12155 "SYSRES_CONST_REF_REQUISITES_REFERENCE_CODE_SELECTED_REQUISITE " + 12156 "SYSRES_CONST_REFERENCE_RECORD_HISTORY_CREATE_ACTION_CODE " + 12157 "SYSRES_CONST_REFERENCE_RECORD_HISTORY_DELETE_ACTION_CODE " + 12158 "SYSRES_CONST_REFERENCE_RECORD_HISTORY_MODIFY_ACTION_CODE " + 12159 "SYSRES_CONST_REFERENCE_TYPE_CHAR " + 12160 "SYSRES_CONST_REFERENCE_TYPE_REQUISITE_NAME " + 12161 "SYSRES_CONST_REFERENCES_ADD_PARAMS_REQUISITE_CODE " + 12162 "SYSRES_CONST_REFERENCES_DISPLAY_REQUISITE_REQUISITE_CODE " + 12163 "SYSRES_CONST_REMOTE_SERVER_STATUS_WORKING " + 12164 "SYSRES_CONST_REMOTE_SERVER_TYPE_MAIN " + 12165 "SYSRES_CONST_REMOTE_SERVER_TYPE_SECONDARY " + 12166 "SYSRES_CONST_REMOTE_USER_FLAG_VALUE_CODE " + 12167 "SYSRES_CONST_REPORT_APP_EDITOR_INTERNAL " + 12168 "SYSRES_CONST_REPORT_BASE_REPORT_ID_REQUISITE_CODE " + 12169 "SYSRES_CONST_REPORT_BASE_REPORT_REQUISITE_CODE " + 12170 "SYSRES_CONST_REPORT_SCRIPT_REQUISITE_CODE " + 12171 "SYSRES_CONST_REPORT_TEMPLATE_REQUISITE_CODE " + 12172 "SYSRES_CONST_REPORT_VIEWER_CODE_REQUISITE_CODE " + 12173 "SYSRES_CONST_REQ_ALLOW_COMPONENT_DEFAULT_VALUE " + 12174 "SYSRES_CONST_REQ_ALLOW_RECORD_DEFAULT_VALUE " + 12175 "SYSRES_CONST_REQ_ALLOW_SERVER_COMPONENT_DEFAULT_VALUE " + 12176 "SYSRES_CONST_REQ_MODE_AVAILABLE_CODE " + 12177 "SYSRES_CONST_REQ_MODE_EDIT_CODE " + 12178 "SYSRES_CONST_REQ_MODE_HIDDEN_CODE " + 12179 "SYSRES_CONST_REQ_MODE_NOT_AVAILABLE_CODE " + 12180 "SYSRES_CONST_REQ_MODE_VIEW_CODE " + 12181 "SYSRES_CONST_REQ_NUMBER_REQUISITE_CODE " + 12182 "SYSRES_CONST_REQ_SECTION_VALUE " + 12183 "SYSRES_CONST_REQ_TYPE_VALUE " + 12184 "SYSRES_CONST_REQUISITE_FORMAT_BY_UNIT " + 12185 "SYSRES_CONST_REQUISITE_FORMAT_DATE_FULL " + 12186 "SYSRES_CONST_REQUISITE_FORMAT_DATE_TIME " + 12187 "SYSRES_CONST_REQUISITE_FORMAT_LEFT " + 12188 "SYSRES_CONST_REQUISITE_FORMAT_RIGHT " + 12189 "SYSRES_CONST_REQUISITE_FORMAT_WITHOUT_UNIT " + 12190 "SYSRES_CONST_REQUISITE_NUMBER_REQUISITE_CODE " + 12191 "SYSRES_CONST_REQUISITE_SECTION_ACTIONS " + 12192 "SYSRES_CONST_REQUISITE_SECTION_BUTTON " + 12193 "SYSRES_CONST_REQUISITE_SECTION_BUTTONS " + 12194 "SYSRES_CONST_REQUISITE_SECTION_CARD " + 12195 "SYSRES_CONST_REQUISITE_SECTION_TABLE " + 12196 "SYSRES_CONST_REQUISITE_SECTION_TABLE10 " + 12197 "SYSRES_CONST_REQUISITE_SECTION_TABLE11 " + 12198 "SYSRES_CONST_REQUISITE_SECTION_TABLE12 " + 12199 "SYSRES_CONST_REQUISITE_SECTION_TABLE13 " + 12200 "SYSRES_CONST_REQUISITE_SECTION_TABLE14 " + 12201 "SYSRES_CONST_REQUISITE_SECTION_TABLE15 " + 12202 "SYSRES_CONST_REQUISITE_SECTION_TABLE16 " + 12203 "SYSRES_CONST_REQUISITE_SECTION_TABLE17 " + 12204 "SYSRES_CONST_REQUISITE_SECTION_TABLE18 " + 12205 "SYSRES_CONST_REQUISITE_SECTION_TABLE19 " + 12206 "SYSRES_CONST_REQUISITE_SECTION_TABLE2 " + 12207 "SYSRES_CONST_REQUISITE_SECTION_TABLE20 " + 12208 "SYSRES_CONST_REQUISITE_SECTION_TABLE21 " + 12209 "SYSRES_CONST_REQUISITE_SECTION_TABLE22 " + 12210 "SYSRES_CONST_REQUISITE_SECTION_TABLE23 " + 12211 "SYSRES_CONST_REQUISITE_SECTION_TABLE24 " + 12212 "SYSRES_CONST_REQUISITE_SECTION_TABLE3 " + 12213 "SYSRES_CONST_REQUISITE_SECTION_TABLE4 " + 12214 "SYSRES_CONST_REQUISITE_SECTION_TABLE5 " + 12215 "SYSRES_CONST_REQUISITE_SECTION_TABLE6 " + 12216 "SYSRES_CONST_REQUISITE_SECTION_TABLE7 " + 12217 "SYSRES_CONST_REQUISITE_SECTION_TABLE8 " + 12218 "SYSRES_CONST_REQUISITE_SECTION_TABLE9 " + 12219 "SYSRES_CONST_REQUISITES_PSEUDOREFERENCE_REQUISITE_NUMBER_REQUISITE_CODE " + 12220 "SYSRES_CONST_RIGHT_ALIGNMENT_CODE " + 12221 "SYSRES_CONST_ROLES_REFERENCE_CODE " + 12222 "SYSRES_CONST_ROUTE_STEP_AFTER_RUS " + 12223 "SYSRES_CONST_ROUTE_STEP_AND_CONDITION_RUS " + 12224 "SYSRES_CONST_ROUTE_STEP_OR_CONDITION_RUS " + 12225 "SYSRES_CONST_ROUTE_TYPE_COMPLEX " + 12226 "SYSRES_CONST_ROUTE_TYPE_PARALLEL " + 12227 "SYSRES_CONST_ROUTE_TYPE_SERIAL " + 12228 "SYSRES_CONST_SBDATASETDESC_NEGATIVE_VALUE " + 12229 "SYSRES_CONST_SBDATASETDESC_POSITIVE_VALUE " + 12230 "SYSRES_CONST_SBVIEWSDESC_POSITIVE_VALUE " + 12231 "SYSRES_CONST_SCRIPT_BLOCK_DESCRIPTION " + 12232 "SYSRES_CONST_SEARCH_BY_TEXT_REQUISITE_CODE " + 12233 "SYSRES_CONST_SEARCHES_COMPONENT_CONTENT " + 12234 "SYSRES_CONST_SEARCHES_CRITERIA_ACTION_NAME " + 12235 "SYSRES_CONST_SEARCHES_EDOC_CONTENT " + 12236 "SYSRES_CONST_SEARCHES_FOLDER_CONTENT " + 12237 "SYSRES_CONST_SEARCHES_JOB_CONTENT " + 12238 "SYSRES_CONST_SEARCHES_REFERENCE_CODE " + 12239 "SYSRES_CONST_SEARCHES_TASK_CONTENT " + 12240 "SYSRES_CONST_SECOND_CHAR " + 12241 "SYSRES_CONST_SECTION_REQUISITE_ACTIONS_VALUE " + 12242 "SYSRES_CONST_SECTION_REQUISITE_CARD_VALUE " + 12243 "SYSRES_CONST_SECTION_REQUISITE_CODE " + 12244 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_1_VALUE " + 12245 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_2_VALUE " + 12246 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_3_VALUE " + 12247 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_4_VALUE " + 12248 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_5_VALUE " + 12249 "SYSRES_CONST_SECTION_REQUISITE_DETAIL_6_VALUE " + 12250 "SYSRES_CONST_SELECT_REFERENCE_MODE_NAME " + 12251 "SYSRES_CONST_SELECT_TYPE_SELECTABLE " + 12252 "SYSRES_CONST_SELECT_TYPE_SELECTABLE_ONLY_CHILD " + 12253 "SYSRES_CONST_SELECT_TYPE_SELECTABLE_WITH_CHILD " + 12254 "SYSRES_CONST_SELECT_TYPE_UNSLECTABLE " + 12255 "SYSRES_CONST_SERVER_TYPE_MAIN " + 12256 "SYSRES_CONST_SERVICE_USER_CATEGORY_FIELD_VALUE " + 12257 "SYSRES_CONST_SETTINGS_USER_REQUISITE_CODE " + 12258 "SYSRES_CONST_SIGNATURE_AND_ENCODE_CERTIFICATE_TYPE_CODE " + 12259 "SYSRES_CONST_SIGNATURE_CERTIFICATE_TYPE_CODE " + 12260 "SYSRES_CONST_SINGULAR_TITLE_REQUISITE_CODE " + 12261 "SYSRES_CONST_SQL_SERVER_AUTHENTIFICATION_FLAG_VALUE_CODE " + 12262 "SYSRES_CONST_SQL_SERVER_ENCODE_AUTHENTIFICATION_FLAG_VALUE_CODE " + 12263 "SYSRES_CONST_STANDART_ROUTE_REFERENCE_CODE " + 12264 "SYSRES_CONST_STANDART_ROUTE_REFERENCE_COMMENT_REQUISITE_CODE " + 12265 "SYSRES_CONST_STANDART_ROUTES_GROUPS_REFERENCE_CODE " + 12266 "SYSRES_CONST_STATE_REQ_NAME " + 12267 "SYSRES_CONST_STATE_REQUISITE_ACTIVE_VALUE " + 12268 "SYSRES_CONST_STATE_REQUISITE_CLOSED_VALUE " + 12269 "SYSRES_CONST_STATE_REQUISITE_CODE " + 12270 "SYSRES_CONST_STATIC_ROLE_TYPE_CODE " + 12271 "SYSRES_CONST_STATUS_PLAN_DEFAULT_VALUE " + 12272 "SYSRES_CONST_STATUS_VALUE_AUTOCLEANING " + 12273 "SYSRES_CONST_STATUS_VALUE_BLUE_SQUARE " + 12274 "SYSRES_CONST_STATUS_VALUE_COMPLETE " + 12275 "SYSRES_CONST_STATUS_VALUE_GREEN_SQUARE " + 12276 "SYSRES_CONST_STATUS_VALUE_ORANGE_SQUARE " + 12277 "SYSRES_CONST_STATUS_VALUE_PURPLE_SQUARE " + 12278 "SYSRES_CONST_STATUS_VALUE_RED_SQUARE " + 12279 "SYSRES_CONST_STATUS_VALUE_SUSPEND " + 12280 "SYSRES_CONST_STATUS_VALUE_YELLOW_SQUARE " + 12281 "SYSRES_CONST_STDROUTE_SHOW_TO_USERS_REQUISITE_CODE " + 12282 "SYSRES_CONST_STORAGE_TYPE_FILE " + 12283 "SYSRES_CONST_STORAGE_TYPE_SQL_SERVER " + 12284 "SYSRES_CONST_STR_REQUISITE " + 12285 "SYSRES_CONST_STRIKEOUT_LIFE_CYCLE_STAGE_DRAW_STYLE " + 12286 "SYSRES_CONST_STRING_FORMAT_LEFT_ALIGN_CHAR " + 12287 "SYSRES_CONST_STRING_FORMAT_RIGHT_ALIGN_CHAR " + 12288 "SYSRES_CONST_STRING_REQUISITE_CODE " + 12289 "SYSRES_CONST_STRING_REQUISITE_TYPE " + 12290 "SYSRES_CONST_STRING_TYPE_CHAR " + 12291 "SYSRES_CONST_SUBSTITUTES_PSEUDOREFERENCE_CODE " + 12292 "SYSRES_CONST_SUBTASK_BLOCK_DESCRIPTION " + 12293 "SYSRES_CONST_SYSTEM_SETTING_CURRENT_USER_PARAM_VALUE " + 12294 "SYSRES_CONST_SYSTEM_SETTING_EMPTY_VALUE_PARAM_VALUE " + 12295 "SYSRES_CONST_SYSTEM_VERSION_COMMENT " + 12296 "SYSRES_CONST_TASK_ACCESS_TYPE_ALL " + 12297 "SYSRES_CONST_TASK_ACCESS_TYPE_ALL_MEMBERS " + 12298 "SYSRES_CONST_TASK_ACCESS_TYPE_MANUAL " + 12299 "SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION " + 12300 "SYSRES_CONST_TASK_ENCODE_TYPE_CERTIFICATION_AND_PASSWORD " + 12301 "SYSRES_CONST_TASK_ENCODE_TYPE_NONE " + 12302 "SYSRES_CONST_TASK_ENCODE_TYPE_PASSWORD " + 12303 "SYSRES_CONST_TASK_ROUTE_ALL_CONDITION " + 12304 "SYSRES_CONST_TASK_ROUTE_AND_CONDITION " + 12305 "SYSRES_CONST_TASK_ROUTE_OR_CONDITION " + 12306 "SYSRES_CONST_TASK_STATE_ABORTED " + 12307 "SYSRES_CONST_TASK_STATE_COMPLETE " + 12308 "SYSRES_CONST_TASK_STATE_CONTINUED " + 12309 "SYSRES_CONST_TASK_STATE_CONTROL " + 12310 "SYSRES_CONST_TASK_STATE_INIT " + 12311 "SYSRES_CONST_TASK_STATE_WORKING " + 12312 "SYSRES_CONST_TASK_TITLE " + 12313 "SYSRES_CONST_TASK_TYPES_GROUPS_REFERENCE_CODE " + 12314 "SYSRES_CONST_TASK_TYPES_REFERENCE_CODE " + 12315 "SYSRES_CONST_TEMPLATES_REFERENCE_CODE " + 12316 "SYSRES_CONST_TEST_DATE_REQUISITE_NAME " + 12317 "SYSRES_CONST_TEST_DEV_DATABASE_NAME " + 12318 "SYSRES_CONST_TEST_DEV_SYSTEM_CODE " + 12319 "SYSRES_CONST_TEST_EDMS_DATABASE_NAME " + 12320 "SYSRES_CONST_TEST_EDMS_MAIN_CODE " + 12321 "SYSRES_CONST_TEST_EDMS_MAIN_DB_NAME " + 12322 "SYSRES_CONST_TEST_EDMS_SECOND_CODE " + 12323 "SYSRES_CONST_TEST_EDMS_SECOND_DB_NAME " + 12324 "SYSRES_CONST_TEST_EDMS_SYSTEM_CODE " + 12325 "SYSRES_CONST_TEST_NUMERIC_REQUISITE_NAME " + 12326 "SYSRES_CONST_TEXT_REQUISITE " + 12327 "SYSRES_CONST_TEXT_REQUISITE_CODE " + 12328 "SYSRES_CONST_TEXT_REQUISITE_TYPE " + 12329 "SYSRES_CONST_TEXT_TYPE_CHAR " + 12330 "SYSRES_CONST_TYPE_CODE_REQUISITE_CODE " + 12331 "SYSRES_CONST_TYPE_REQUISITE_CODE " + 12332 "SYSRES_CONST_UNDEFINED_LIFE_CYCLE_STAGE_FONT_COLOR " + 12333 "SYSRES_CONST_UNITS_SECTION_ID_REQUISITE_CODE " + 12334 "SYSRES_CONST_UNITS_SECTION_REQUISITE_CODE " + 12335 "SYSRES_CONST_UNOPERATING_RECORD_FLAG_VALUE_CODE " + 12336 "SYSRES_CONST_UNSTORED_DATA_REQUISITE_CODE " + 12337 "SYSRES_CONST_UNSTORED_DATA_REQUISITE_NAME " + 12338 "SYSRES_CONST_USE_ACCESS_TYPE_CODE " + 12339 "SYSRES_CONST_USE_ACCESS_TYPE_NAME " + 12340 "SYSRES_CONST_USER_ACCOUNT_TYPE_VALUE_CODE " + 12341 "SYSRES_CONST_USER_ADDITIONAL_INFORMATION_REQUISITE_CODE " + 12342 "SYSRES_CONST_USER_AND_GROUP_ID_FROM_PSEUDOREFERENCE_REQUISITE_CODE " + 12343 "SYSRES_CONST_USER_CATEGORY_NORMAL " + 12344 "SYSRES_CONST_USER_CERTIFICATE_REQUISITE_CODE " + 12345 "SYSRES_CONST_USER_CERTIFICATE_STATE_REQUISITE_CODE " + 12346 "SYSRES_CONST_USER_CERTIFICATE_SUBJECT_NAME_REQUISITE_CODE " + 12347 "SYSRES_CONST_USER_CERTIFICATE_THUMBPRINT_REQUISITE_CODE " + 12348 "SYSRES_CONST_USER_COMMON_CATEGORY " + 12349 "SYSRES_CONST_USER_COMMON_CATEGORY_CODE " + 12350 "SYSRES_CONST_USER_FULL_NAME_REQUISITE_CODE " + 12351 "SYSRES_CONST_USER_GROUP_TYPE_REQUISITE_CODE " + 12352 "SYSRES_CONST_USER_LOGIN_REQUISITE_CODE " + 12353 "SYSRES_CONST_USER_REMOTE_CONTROLLER_REQUISITE_CODE " + 12354 "SYSRES_CONST_USER_REMOTE_SYSTEM_REQUISITE_CODE " + 12355 "SYSRES_CONST_USER_RIGHTS_T_REQUISITE_CODE " + 12356 "SYSRES_CONST_USER_SERVER_NAME_REQUISITE_CODE " + 12357 "SYSRES_CONST_USER_SERVICE_CATEGORY " + 12358 "SYSRES_CONST_USER_SERVICE_CATEGORY_CODE " + 12359 "SYSRES_CONST_USER_STATUS_ADMINISTRATOR_CODE " + 12360 "SYSRES_CONST_USER_STATUS_ADMINISTRATOR_NAME " + 12361 "SYSRES_CONST_USER_STATUS_DEVELOPER_CODE " + 12362 "SYSRES_CONST_USER_STATUS_DEVELOPER_NAME " + 12363 "SYSRES_CONST_USER_STATUS_DISABLED_CODE " + 12364 "SYSRES_CONST_USER_STATUS_DISABLED_NAME " + 12365 "SYSRES_CONST_USER_STATUS_SYSTEM_DEVELOPER_CODE " + 12366 "SYSRES_CONST_USER_STATUS_USER_CODE " + 12367 "SYSRES_CONST_USER_STATUS_USER_NAME " + 12368 "SYSRES_CONST_USER_STATUS_USER_NAME_DEPRECATED " + 12369 "SYSRES_CONST_USER_TYPE_FIELD_VALUE_USER " + 12370 "SYSRES_CONST_USER_TYPE_REQUISITE_CODE " + 12371 "SYSRES_CONST_USERS_CONTROLLER_REQUISITE_CODE " + 12372 "SYSRES_CONST_USERS_IS_MAIN_SERVER_REQUISITE_CODE " + 12373 "SYSRES_CONST_USERS_REFERENCE_CODE " + 12374 "SYSRES_CONST_USERS_REGISTRATION_CERTIFICATES_ACTION_NAME " + 12375 "SYSRES_CONST_USERS_REQUISITE_CODE " + 12376 "SYSRES_CONST_USERS_SYSTEM_REQUISITE_CODE " + 12377 "SYSRES_CONST_USERS_USER_ACCESS_RIGHTS_TYPR_REQUISITE_CODE " + 12378 "SYSRES_CONST_USERS_USER_AUTHENTICATION_REQUISITE_CODE " + 12379 "SYSRES_CONST_USERS_USER_COMPONENT_REQUISITE_CODE " + 12380 "SYSRES_CONST_USERS_USER_GROUP_REQUISITE_CODE " + 12381 "SYSRES_CONST_USERS_VIEW_CERTIFICATES_ACTION_NAME " + 12382 "SYSRES_CONST_VIEW_DEFAULT_CODE " + 12383 "SYSRES_CONST_VIEW_DEFAULT_NAME " + 12384 "SYSRES_CONST_VIEWER_REQUISITE_CODE " + 12385 "SYSRES_CONST_WAITING_BLOCK_DESCRIPTION " + 12386 "SYSRES_CONST_WIZARD_FORM_LABEL_TEST_STRING " + 12387 "SYSRES_CONST_WIZARD_QUERY_PARAM_HEIGHT_ETALON_STRING " + 12388 "SYSRES_CONST_WIZARD_REFERENCE_COMMENT_REQUISITE_CODE " + 12389 "SYSRES_CONST_WORK_RULES_DESCRIPTION_REQUISITE_CODE " + 12390 "SYSRES_CONST_WORK_TIME_CALENDAR_REFERENCE_CODE " + 12391 "SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE " + 12392 "SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE " + 12393 "SYSRES_CONST_WORK_WORKFLOW_HARD_ROUTE_TYPE_VALUE_CODE_RUS " + 12394 "SYSRES_CONST_WORK_WORKFLOW_SOFT_ROUTE_TYPE_VALUE_CODE_RUS " + 12395 "SYSRES_CONST_WORKFLOW_ROUTE_TYPR_HARD " + 12396 "SYSRES_CONST_WORKFLOW_ROUTE_TYPR_SOFT " + 12397 "SYSRES_CONST_XML_ENCODING " + 12398 "SYSRES_CONST_XREC_STAT_REQUISITE_CODE " + 12399 "SYSRES_CONST_XRECID_FIELD_NAME " + 12400 "SYSRES_CONST_YES " + 12401 "SYSRES_CONST_YES_NO_2_REQUISITE_CODE " + 12402 "SYSRES_CONST_YES_NO_REQUISITE_CODE " + 12403 "SYSRES_CONST_YES_NO_T_REF_TYPE_REQUISITE_CODE " + 12404 "SYSRES_CONST_YES_PICK_VALUE " + 12405 "SYSRES_CONST_YES_VALUE "; 12406 12407 // Base constant 12408 var base_constants = "CR FALSE nil NO_VALUE NULL TAB TRUE YES_VALUE "; 12409 12410 // Base group name 12411 var base_group_name_constants = 12412 "ADMINISTRATORS_GROUP_NAME CUSTOMIZERS_GROUP_NAME DEVELOPERS_GROUP_NAME SERVICE_USERS_GROUP_NAME "; 12413 12414 // Decision block properties 12415 var decision_block_properties_constants = 12416 "DECISION_BLOCK_FIRST_OPERAND_PROPERTY DECISION_BLOCK_NAME_PROPERTY DECISION_BLOCK_OPERATION_PROPERTY " + 12417 "DECISION_BLOCK_RESULT_TYPE_PROPERTY DECISION_BLOCK_SECOND_OPERAND_PROPERTY "; 12418 12419 // File extension 12420 var file_extension_constants = 12421 "ANY_FILE_EXTENTION COMPRESSED_DOCUMENT_EXTENSION EXTENDED_DOCUMENT_EXTENSION " + 12422 "SHORT_COMPRESSED_DOCUMENT_EXTENSION SHORT_EXTENDED_DOCUMENT_EXTENSION "; 12423 12424 // Job block properties 12425 var job_block_properties_constants = 12426 "JOB_BLOCK_ABORT_DEADLINE_PROPERTY " + 12427 "JOB_BLOCK_AFTER_FINISH_EVENT " + 12428 "JOB_BLOCK_AFTER_QUERY_PARAMETERS_EVENT " + 12429 "JOB_BLOCK_ATTACHMENT_PROPERTY " + 12430 "JOB_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY " + 12431 "JOB_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY " + 12432 "JOB_BLOCK_BEFORE_QUERY_PARAMETERS_EVENT " + 12433 "JOB_BLOCK_BEFORE_START_EVENT " + 12434 "JOB_BLOCK_CREATED_JOBS_PROPERTY " + 12435 "JOB_BLOCK_DEADLINE_PROPERTY " + 12436 "JOB_BLOCK_EXECUTION_RESULTS_PROPERTY " + 12437 "JOB_BLOCK_IS_PARALLEL_PROPERTY " + 12438 "JOB_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY " + 12439 "JOB_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY " + 12440 "JOB_BLOCK_JOB_TEXT_PROPERTY " + 12441 "JOB_BLOCK_NAME_PROPERTY " + 12442 "JOB_BLOCK_NEED_SIGN_ON_PERFORM_PROPERTY " + 12443 "JOB_BLOCK_PERFORMER_PROPERTY " + 12444 "JOB_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY " + 12445 "JOB_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY " + 12446 "JOB_BLOCK_SUBJECT_PROPERTY "; 12447 12448 // Language code 12449 var language_code_constants = "ENGLISH_LANGUAGE_CODE RUSSIAN_LANGUAGE_CODE "; 12450 12451 // Launching external applications 12452 var launching_external_applications_constants = 12453 "smHidden smMaximized smMinimized smNormal wmNo wmYes "; 12454 12455 // Link kind 12456 var link_kind_constants = 12457 "COMPONENT_TOKEN_LINK_KIND " + 12458 "DOCUMENT_LINK_KIND " + 12459 "EDOCUMENT_LINK_KIND " + 12460 "FOLDER_LINK_KIND " + 12461 "JOB_LINK_KIND " + 12462 "REFERENCE_LINK_KIND " + 12463 "TASK_LINK_KIND "; 12464 12465 // Lock type 12466 var lock_type_constants = 12467 "COMPONENT_TOKEN_LOCK_TYPE EDOCUMENT_VERSION_LOCK_TYPE "; 12468 12469 // Monitor block properties 12470 var monitor_block_properties_constants = 12471 "MONITOR_BLOCK_AFTER_FINISH_EVENT " + 12472 "MONITOR_BLOCK_BEFORE_START_EVENT " + 12473 "MONITOR_BLOCK_DEADLINE_PROPERTY " + 12474 "MONITOR_BLOCK_INTERVAL_PROPERTY " + 12475 "MONITOR_BLOCK_INTERVAL_TYPE_PROPERTY " + 12476 "MONITOR_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY " + 12477 "MONITOR_BLOCK_NAME_PROPERTY " + 12478 "MONITOR_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY " + 12479 "MONITOR_BLOCK_SEARCH_SCRIPT_PROPERTY "; 12480 12481 // Notice block properties 12482 var notice_block_properties_constants = 12483 "NOTICE_BLOCK_AFTER_FINISH_EVENT " + 12484 "NOTICE_BLOCK_ATTACHMENT_PROPERTY " + 12485 "NOTICE_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY " + 12486 "NOTICE_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY " + 12487 "NOTICE_BLOCK_BEFORE_START_EVENT " + 12488 "NOTICE_BLOCK_CREATED_NOTICES_PROPERTY " + 12489 "NOTICE_BLOCK_DEADLINE_PROPERTY " + 12490 "NOTICE_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY " + 12491 "NOTICE_BLOCK_NAME_PROPERTY " + 12492 "NOTICE_BLOCK_NOTICE_TEXT_PROPERTY " + 12493 "NOTICE_BLOCK_PERFORMER_PROPERTY " + 12494 "NOTICE_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY " + 12495 "NOTICE_BLOCK_SUBJECT_PROPERTY "; 12496 12497 // Object events 12498 var object_events_constants = 12499 "dseAfterCancel " + 12500 "dseAfterClose " + 12501 "dseAfterDelete " + 12502 "dseAfterDeleteOutOfTransaction " + 12503 "dseAfterInsert " + 12504 "dseAfterOpen " + 12505 "dseAfterScroll " + 12506 "dseAfterUpdate " + 12507 "dseAfterUpdateOutOfTransaction " + 12508 "dseBeforeCancel " + 12509 "dseBeforeClose " + 12510 "dseBeforeDelete " + 12511 "dseBeforeDetailUpdate " + 12512 "dseBeforeInsert " + 12513 "dseBeforeOpen " + 12514 "dseBeforeUpdate " + 12515 "dseOnAnyRequisiteChange " + 12516 "dseOnCloseRecord " + 12517 "dseOnDeleteError " + 12518 "dseOnOpenRecord " + 12519 "dseOnPrepareUpdate " + 12520 "dseOnUpdateError " + 12521 "dseOnUpdateRatifiedRecord " + 12522 "dseOnValidDelete " + 12523 "dseOnValidUpdate " + 12524 "reOnChange " + 12525 "reOnChangeValues " + 12526 "SELECTION_BEGIN_ROUTE_EVENT " + 12527 "SELECTION_END_ROUTE_EVENT "; 12528 12529 // Object params 12530 var object_params_constants = 12531 "CURRENT_PERIOD_IS_REQUIRED " + 12532 "PREVIOUS_CARD_TYPE_NAME " + 12533 "SHOW_RECORD_PROPERTIES_FORM "; 12534 12535 // Other 12536 var other_constants = 12537 "ACCESS_RIGHTS_SETTING_DIALOG_CODE " + 12538 "ADMINISTRATOR_USER_CODE " + 12539 "ANALYTIC_REPORT_TYPE " + 12540 "asrtHideLocal " + 12541 "asrtHideRemote " + 12542 "CALCULATED_ROLE_TYPE_CODE " + 12543 "COMPONENTS_REFERENCE_DEVELOPER_VIEW_CODE " + 12544 "DCTS_TEST_PROTOCOLS_FOLDER_PATH " + 12545 "E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED " + 12546 "E_EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER " + 12547 "E_EDOC_VERSION_ALREDY_SIGNED " + 12548 "E_EDOC_VERSION_ALREDY_SIGNED_BY_USER " + 12549 "EDOC_TYPES_CODE_REQUISITE_FIELD_NAME " + 12550 "EDOCUMENTS_ALIAS_NAME " + 12551 "FILES_FOLDER_PATH " + 12552 "FILTER_OPERANDS_DELIMITER " + 12553 "FILTER_OPERATIONS_DELIMITER " + 12554 "FORMCARD_NAME " + 12555 "FORMLIST_NAME " + 12556 "GET_EXTENDED_DOCUMENT_EXTENSION_CREATION_MODE " + 12557 "GET_EXTENDED_DOCUMENT_EXTENSION_IMPORT_MODE " + 12558 "INTEGRATED_REPORT_TYPE " + 12559 "IS_BUILDER_APPLICATION_ROLE " + 12560 "IS_BUILDER_APPLICATION_ROLE2 " + 12561 "IS_BUILDER_USERS " + 12562 "ISBSYSDEV " + 12563 "LOG_FOLDER_PATH " + 12564 "mbCancel " + 12565 "mbNo " + 12566 "mbNoToAll " + 12567 "mbOK " + 12568 "mbYes " + 12569 "mbYesToAll " + 12570 "MEMORY_DATASET_DESRIPTIONS_FILENAME " + 12571 "mrNo " + 12572 "mrNoToAll " + 12573 "mrYes " + 12574 "mrYesToAll " + 12575 "MULTIPLE_SELECT_DIALOG_CODE " + 12576 "NONOPERATING_RECORD_FLAG_FEMININE " + 12577 "NONOPERATING_RECORD_FLAG_MASCULINE " + 12578 "OPERATING_RECORD_FLAG_FEMININE " + 12579 "OPERATING_RECORD_FLAG_MASCULINE " + 12580 "PROFILING_SETTINGS_COMMON_SETTINGS_CODE_VALUE " + 12581 "PROGRAM_INITIATED_LOOKUP_ACTION " + 12582 "ratDelete " + 12583 "ratEdit " + 12584 "ratInsert " + 12585 "REPORT_TYPE " + 12586 "REQUIRED_PICK_VALUES_VARIABLE " + 12587 "rmCard " + 12588 "rmList " + 12589 "SBRTE_PROGID_DEV " + 12590 "SBRTE_PROGID_RELEASE " + 12591 "STATIC_ROLE_TYPE_CODE " + 12592 "SUPPRESS_EMPTY_TEMPLATE_CREATION " + 12593 "SYSTEM_USER_CODE " + 12594 "UPDATE_DIALOG_DATASET " + 12595 "USED_IN_OBJECT_HINT_PARAM " + 12596 "USER_INITIATED_LOOKUP_ACTION " + 12597 "USER_NAME_FORMAT " + 12598 "USER_SELECTION_RESTRICTIONS " + 12599 "WORKFLOW_TEST_PROTOCOLS_FOLDER_PATH " + 12600 "ELS_SUBTYPE_CONTROL_NAME " + 12601 "ELS_FOLDER_KIND_CONTROL_NAME " + 12602 "REPEAT_PROCESS_CURRENT_OBJECT_EXCEPTION_NAME "; 12603 12604 // Privileges 12605 var privileges_constants = 12606 "PRIVILEGE_COMPONENT_FULL_ACCESS " + 12607 "PRIVILEGE_DEVELOPMENT_EXPORT " + 12608 "PRIVILEGE_DEVELOPMENT_IMPORT " + 12609 "PRIVILEGE_DOCUMENT_DELETE " + 12610 "PRIVILEGE_ESD " + 12611 "PRIVILEGE_FOLDER_DELETE " + 12612 "PRIVILEGE_MANAGE_ACCESS_RIGHTS " + 12613 "PRIVILEGE_MANAGE_REPLICATION " + 12614 "PRIVILEGE_MANAGE_SESSION_SERVER " + 12615 "PRIVILEGE_OBJECT_FULL_ACCESS " + 12616 "PRIVILEGE_OBJECT_VIEW " + 12617 "PRIVILEGE_RESERVE_LICENSE " + 12618 "PRIVILEGE_SYSTEM_CUSTOMIZE " + 12619 "PRIVILEGE_SYSTEM_DEVELOP " + 12620 "PRIVILEGE_SYSTEM_INSTALL " + 12621 "PRIVILEGE_TASK_DELETE " + 12622 "PRIVILEGE_USER_PLUGIN_SETTINGS_CUSTOMIZE " + 12623 "PRIVILEGES_PSEUDOREFERENCE_CODE "; 12624 12625 // Pseudoreference code 12626 var pseudoreference_code_constants = 12627 "ACCESS_TYPES_PSEUDOREFERENCE_CODE " + 12628 "ALL_AVAILABLE_COMPONENTS_PSEUDOREFERENCE_CODE " + 12629 "ALL_AVAILABLE_PRIVILEGES_PSEUDOREFERENCE_CODE " + 12630 "ALL_REPLICATE_COMPONENTS_PSEUDOREFERENCE_CODE " + 12631 "AVAILABLE_DEVELOPERS_COMPONENTS_PSEUDOREFERENCE_CODE " + 12632 "COMPONENTS_PSEUDOREFERENCE_CODE " + 12633 "FILTRATER_SETTINGS_CONFLICTS_PSEUDOREFERENCE_CODE " + 12634 "GROUPS_PSEUDOREFERENCE_CODE " + 12635 "RECEIVE_PROTOCOL_PSEUDOREFERENCE_CODE " + 12636 "REFERENCE_REQUISITE_PSEUDOREFERENCE_CODE " + 12637 "REFERENCE_REQUISITES_PSEUDOREFERENCE_CODE " + 12638 "REFTYPES_PSEUDOREFERENCE_CODE " + 12639 "REPLICATION_SEANCES_DIARY_PSEUDOREFERENCE_CODE " + 12640 "SEND_PROTOCOL_PSEUDOREFERENCE_CODE " + 12641 "SUBSTITUTES_PSEUDOREFERENCE_CODE " + 12642 "SYSTEM_SETTINGS_PSEUDOREFERENCE_CODE " + 12643 "UNITS_PSEUDOREFERENCE_CODE " + 12644 "USERS_PSEUDOREFERENCE_CODE " + 12645 "VIEWERS_PSEUDOREFERENCE_CODE "; 12646 12647 // Requisite ISBCertificateType values 12648 var requisite_ISBCertificateType_values_constants = 12649 "CERTIFICATE_TYPE_ENCRYPT " + 12650 "CERTIFICATE_TYPE_SIGN " + 12651 "CERTIFICATE_TYPE_SIGN_AND_ENCRYPT "; 12652 12653 // Requisite ISBEDocStorageType values 12654 var requisite_ISBEDocStorageType_values_constants = 12655 "STORAGE_TYPE_FILE " + 12656 "STORAGE_TYPE_NAS_CIFS " + 12657 "STORAGE_TYPE_SAPERION " + 12658 "STORAGE_TYPE_SQL_SERVER "; 12659 12660 // Requisite CompType2 values 12661 var requisite_compType2_values_constants = 12662 "COMPTYPE2_REQUISITE_DOCUMENTS_VALUE " + 12663 "COMPTYPE2_REQUISITE_TASKS_VALUE " + 12664 "COMPTYPE2_REQUISITE_FOLDERS_VALUE " + 12665 "COMPTYPE2_REQUISITE_REFERENCES_VALUE "; 12666 12667 // Requisite name 12668 var requisite_name_constants = 12669 "SYSREQ_CODE " + 12670 "SYSREQ_COMPTYPE2 " + 12671 "SYSREQ_CONST_AVAILABLE_FOR_WEB " + 12672 "SYSREQ_CONST_COMMON_CODE " + 12673 "SYSREQ_CONST_COMMON_VALUE " + 12674 "SYSREQ_CONST_FIRM_CODE " + 12675 "SYSREQ_CONST_FIRM_STATUS " + 12676 "SYSREQ_CONST_FIRM_VALUE " + 12677 "SYSREQ_CONST_SERVER_STATUS " + 12678 "SYSREQ_CONTENTS " + 12679 "SYSREQ_DATE_OPEN " + 12680 "SYSREQ_DATE_CLOSE " + 12681 "SYSREQ_DESCRIPTION " + 12682 "SYSREQ_DESCRIPTION_LOCALIZE_ID " + 12683 "SYSREQ_DOUBLE " + 12684 "SYSREQ_EDOC_ACCESS_TYPE " + 12685 "SYSREQ_EDOC_AUTHOR " + 12686 "SYSREQ_EDOC_CREATED " + 12687 "SYSREQ_EDOC_DELEGATE_RIGHTS_REQUISITE_CODE " + 12688 "SYSREQ_EDOC_EDITOR " + 12689 "SYSREQ_EDOC_ENCODE_TYPE " + 12690 "SYSREQ_EDOC_ENCRYPTION_PLUGIN_NAME " + 12691 "SYSREQ_EDOC_ENCRYPTION_PLUGIN_VERSION " + 12692 "SYSREQ_EDOC_EXPORT_DATE " + 12693 "SYSREQ_EDOC_EXPORTER " + 12694 "SYSREQ_EDOC_KIND " + 12695 "SYSREQ_EDOC_LIFE_STAGE_NAME " + 12696 "SYSREQ_EDOC_LOCKED_FOR_SERVER_CODE " + 12697 "SYSREQ_EDOC_MODIFIED " + 12698 "SYSREQ_EDOC_NAME " + 12699 "SYSREQ_EDOC_NOTE " + 12700 "SYSREQ_EDOC_QUALIFIED_ID " + 12701 "SYSREQ_EDOC_SESSION_KEY " + 12702 "SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_NAME " + 12703 "SYSREQ_EDOC_SESSION_KEY_ENCRYPTION_PLUGIN_VERSION " + 12704 "SYSREQ_EDOC_SIGNATURE_TYPE " + 12705 "SYSREQ_EDOC_SIGNED " + 12706 "SYSREQ_EDOC_STORAGE " + 12707 "SYSREQ_EDOC_STORAGES_ARCHIVE_STORAGE " + 12708 "SYSREQ_EDOC_STORAGES_CHECK_RIGHTS " + 12709 "SYSREQ_EDOC_STORAGES_COMPUTER_NAME " + 12710 "SYSREQ_EDOC_STORAGES_EDIT_IN_STORAGE " + 12711 "SYSREQ_EDOC_STORAGES_EXECUTIVE_STORAGE " + 12712 "SYSREQ_EDOC_STORAGES_FUNCTION " + 12713 "SYSREQ_EDOC_STORAGES_INITIALIZED " + 12714 "SYSREQ_EDOC_STORAGES_LOCAL_PATH " + 12715 "SYSREQ_EDOC_STORAGES_SAPERION_DATABASE_NAME " + 12716 "SYSREQ_EDOC_STORAGES_SEARCH_BY_TEXT " + 12717 "SYSREQ_EDOC_STORAGES_SERVER_NAME " + 12718 "SYSREQ_EDOC_STORAGES_SHARED_SOURCE_NAME " + 12719 "SYSREQ_EDOC_STORAGES_TYPE " + 12720 "SYSREQ_EDOC_TEXT_MODIFIED " + 12721 "SYSREQ_EDOC_TYPE_ACT_CODE " + 12722 "SYSREQ_EDOC_TYPE_ACT_DESCRIPTION " + 12723 "SYSREQ_EDOC_TYPE_ACT_DESCRIPTION_LOCALIZE_ID " + 12724 "SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE " + 12725 "SYSREQ_EDOC_TYPE_ACT_ON_EXECUTE_EXISTS " + 12726 "SYSREQ_EDOC_TYPE_ACT_SECTION " + 12727 "SYSREQ_EDOC_TYPE_ADD_PARAMS " + 12728 "SYSREQ_EDOC_TYPE_COMMENT " + 12729 "SYSREQ_EDOC_TYPE_EVENT_TEXT " + 12730 "SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR " + 12731 "SYSREQ_EDOC_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID " + 12732 "SYSREQ_EDOC_TYPE_NAME_LOCALIZE_ID " + 12733 "SYSREQ_EDOC_TYPE_NUMERATION_METHOD " + 12734 "SYSREQ_EDOC_TYPE_PSEUDO_REQUISITE_CODE " + 12735 "SYSREQ_EDOC_TYPE_REQ_CODE " + 12736 "SYSREQ_EDOC_TYPE_REQ_DESCRIPTION " + 12737 "SYSREQ_EDOC_TYPE_REQ_DESCRIPTION_LOCALIZE_ID " + 12738 "SYSREQ_EDOC_TYPE_REQ_IS_LEADING " + 12739 "SYSREQ_EDOC_TYPE_REQ_IS_REQUIRED " + 12740 "SYSREQ_EDOC_TYPE_REQ_NUMBER " + 12741 "SYSREQ_EDOC_TYPE_REQ_ON_CHANGE " + 12742 "SYSREQ_EDOC_TYPE_REQ_ON_CHANGE_EXISTS " + 12743 "SYSREQ_EDOC_TYPE_REQ_ON_SELECT " + 12744 "SYSREQ_EDOC_TYPE_REQ_ON_SELECT_KIND " + 12745 "SYSREQ_EDOC_TYPE_REQ_SECTION " + 12746 "SYSREQ_EDOC_TYPE_VIEW_CARD " + 12747 "SYSREQ_EDOC_TYPE_VIEW_CODE " + 12748 "SYSREQ_EDOC_TYPE_VIEW_COMMENT " + 12749 "SYSREQ_EDOC_TYPE_VIEW_IS_MAIN " + 12750 "SYSREQ_EDOC_TYPE_VIEW_NAME " + 12751 "SYSREQ_EDOC_TYPE_VIEW_NAME_LOCALIZE_ID " + 12752 "SYSREQ_EDOC_VERSION_AUTHOR " + 12753 "SYSREQ_EDOC_VERSION_CRC " + 12754 "SYSREQ_EDOC_VERSION_DATA " + 12755 "SYSREQ_EDOC_VERSION_EDITOR " + 12756 "SYSREQ_EDOC_VERSION_EXPORT_DATE " + 12757 "SYSREQ_EDOC_VERSION_EXPORTER " + 12758 "SYSREQ_EDOC_VERSION_HIDDEN " + 12759 "SYSREQ_EDOC_VERSION_LIFE_STAGE " + 12760 "SYSREQ_EDOC_VERSION_MODIFIED " + 12761 "SYSREQ_EDOC_VERSION_NOTE " + 12762 "SYSREQ_EDOC_VERSION_SIGNATURE_TYPE " + 12763 "SYSREQ_EDOC_VERSION_SIGNED " + 12764 "SYSREQ_EDOC_VERSION_SIZE " + 12765 "SYSREQ_EDOC_VERSION_SOURCE " + 12766 "SYSREQ_EDOC_VERSION_TEXT_MODIFIED " + 12767 "SYSREQ_EDOCKIND_DEFAULT_VERSION_STATE_CODE " + 12768 "SYSREQ_FOLDER_KIND " + 12769 "SYSREQ_FUNC_CATEGORY " + 12770 "SYSREQ_FUNC_COMMENT " + 12771 "SYSREQ_FUNC_GROUP " + 12772 "SYSREQ_FUNC_GROUP_COMMENT " + 12773 "SYSREQ_FUNC_GROUP_NUMBER " + 12774 "SYSREQ_FUNC_HELP " + 12775 "SYSREQ_FUNC_PARAM_DEF_VALUE " + 12776 "SYSREQ_FUNC_PARAM_IDENT " + 12777 "SYSREQ_FUNC_PARAM_NUMBER " + 12778 "SYSREQ_FUNC_PARAM_TYPE " + 12779 "SYSREQ_FUNC_TEXT " + 12780 "SYSREQ_GROUP_CATEGORY " + 12781 "SYSREQ_ID " + 12782 "SYSREQ_LAST_UPDATE " + 12783 "SYSREQ_LEADER_REFERENCE " + 12784 "SYSREQ_LINE_NUMBER " + 12785 "SYSREQ_MAIN_RECORD_ID " + 12786 "SYSREQ_NAME " + 12787 "SYSREQ_NAME_LOCALIZE_ID " + 12788 "SYSREQ_NOTE " + 12789 "SYSREQ_ORIGINAL_RECORD " + 12790 "SYSREQ_OUR_FIRM " + 12791 "SYSREQ_PROFILING_SETTINGS_BATCH_LOGING " + 12792 "SYSREQ_PROFILING_SETTINGS_BATCH_SIZE " + 12793 "SYSREQ_PROFILING_SETTINGS_PROFILING_ENABLED " + 12794 "SYSREQ_PROFILING_SETTINGS_SQL_PROFILING_ENABLED " + 12795 "SYSREQ_PROFILING_SETTINGS_START_LOGGED " + 12796 "SYSREQ_RECORD_STATUS " + 12797 "SYSREQ_REF_REQ_FIELD_NAME " + 12798 "SYSREQ_REF_REQ_FORMAT " + 12799 "SYSREQ_REF_REQ_GENERATED " + 12800 "SYSREQ_REF_REQ_LENGTH " + 12801 "SYSREQ_REF_REQ_PRECISION " + 12802 "SYSREQ_REF_REQ_REFERENCE " + 12803 "SYSREQ_REF_REQ_SECTION " + 12804 "SYSREQ_REF_REQ_STORED " + 12805 "SYSREQ_REF_REQ_TOKENS " + 12806 "SYSREQ_REF_REQ_TYPE " + 12807 "SYSREQ_REF_REQ_VIEW " + 12808 "SYSREQ_REF_TYPE_ACT_CODE " + 12809 "SYSREQ_REF_TYPE_ACT_DESCRIPTION " + 12810 "SYSREQ_REF_TYPE_ACT_DESCRIPTION_LOCALIZE_ID " + 12811 "SYSREQ_REF_TYPE_ACT_ON_EXECUTE " + 12812 "SYSREQ_REF_TYPE_ACT_ON_EXECUTE_EXISTS " + 12813 "SYSREQ_REF_TYPE_ACT_SECTION " + 12814 "SYSREQ_REF_TYPE_ADD_PARAMS " + 12815 "SYSREQ_REF_TYPE_COMMENT " + 12816 "SYSREQ_REF_TYPE_COMMON_SETTINGS " + 12817 "SYSREQ_REF_TYPE_DISPLAY_REQUISITE_NAME " + 12818 "SYSREQ_REF_TYPE_EVENT_TEXT " + 12819 "SYSREQ_REF_TYPE_MAIN_LEADING_REF " + 12820 "SYSREQ_REF_TYPE_NAME_IN_SINGULAR " + 12821 "SYSREQ_REF_TYPE_NAME_IN_SINGULAR_LOCALIZE_ID " + 12822 "SYSREQ_REF_TYPE_NAME_LOCALIZE_ID " + 12823 "SYSREQ_REF_TYPE_NUMERATION_METHOD " + 12824 "SYSREQ_REF_TYPE_REQ_CODE " + 12825 "SYSREQ_REF_TYPE_REQ_DESCRIPTION " + 12826 "SYSREQ_REF_TYPE_REQ_DESCRIPTION_LOCALIZE_ID " + 12827 "SYSREQ_REF_TYPE_REQ_IS_CONTROL " + 12828 "SYSREQ_REF_TYPE_REQ_IS_FILTER " + 12829 "SYSREQ_REF_TYPE_REQ_IS_LEADING " + 12830 "SYSREQ_REF_TYPE_REQ_IS_REQUIRED " + 12831 "SYSREQ_REF_TYPE_REQ_NUMBER " + 12832 "SYSREQ_REF_TYPE_REQ_ON_CHANGE " + 12833 "SYSREQ_REF_TYPE_REQ_ON_CHANGE_EXISTS " + 12834 "SYSREQ_REF_TYPE_REQ_ON_SELECT " + 12835 "SYSREQ_REF_TYPE_REQ_ON_SELECT_KIND " + 12836 "SYSREQ_REF_TYPE_REQ_SECTION " + 12837 "SYSREQ_REF_TYPE_VIEW_CARD " + 12838 "SYSREQ_REF_TYPE_VIEW_CODE " + 12839 "SYSREQ_REF_TYPE_VIEW_COMMENT " + 12840 "SYSREQ_REF_TYPE_VIEW_IS_MAIN " + 12841 "SYSREQ_REF_TYPE_VIEW_NAME " + 12842 "SYSREQ_REF_TYPE_VIEW_NAME_LOCALIZE_ID " + 12843 "SYSREQ_REFERENCE_TYPE_ID " + 12844 "SYSREQ_STATE " + 12845 "SYSREQ_STATЕ " + 12846 "SYSREQ_SYSTEM_SETTINGS_VALUE " + 12847 "SYSREQ_TYPE " + 12848 "SYSREQ_UNIT " + 12849 "SYSREQ_UNIT_ID " + 12850 "SYSREQ_USER_GROUPS_GROUP_FULL_NAME " + 12851 "SYSREQ_USER_GROUPS_GROUP_NAME " + 12852 "SYSREQ_USER_GROUPS_GROUP_SERVER_NAME " + 12853 "SYSREQ_USERS_ACCESS_RIGHTS " + 12854 "SYSREQ_USERS_AUTHENTICATION " + 12855 "SYSREQ_USERS_CATEGORY " + 12856 "SYSREQ_USERS_COMPONENT " + 12857 "SYSREQ_USERS_COMPONENT_USER_IS_PUBLIC " + 12858 "SYSREQ_USERS_DOMAIN " + 12859 "SYSREQ_USERS_FULL_USER_NAME " + 12860 "SYSREQ_USERS_GROUP " + 12861 "SYSREQ_USERS_IS_MAIN_SERVER " + 12862 "SYSREQ_USERS_LOGIN " + 12863 "SYSREQ_USERS_REFERENCE_USER_IS_PUBLIC " + 12864 "SYSREQ_USERS_STATUS " + 12865 "SYSREQ_USERS_USER_CERTIFICATE " + 12866 "SYSREQ_USERS_USER_CERTIFICATE_INFO " + 12867 "SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_NAME " + 12868 "SYSREQ_USERS_USER_CERTIFICATE_PLUGIN_VERSION " + 12869 "SYSREQ_USERS_USER_CERTIFICATE_STATE " + 12870 "SYSREQ_USERS_USER_CERTIFICATE_SUBJECT_NAME " + 12871 "SYSREQ_USERS_USER_CERTIFICATE_THUMBPRINT " + 12872 "SYSREQ_USERS_USER_DEFAULT_CERTIFICATE " + 12873 "SYSREQ_USERS_USER_DESCRIPTION " + 12874 "SYSREQ_USERS_USER_GLOBAL_NAME " + 12875 "SYSREQ_USERS_USER_LOGIN " + 12876 "SYSREQ_USERS_USER_MAIN_SERVER " + 12877 "SYSREQ_USERS_USER_TYPE " + 12878 "SYSREQ_WORK_RULES_FOLDER_ID "; 12879 12880 // Result 12881 var result_constants = "RESULT_VAR_NAME RESULT_VAR_NAME_ENG "; 12882 12883 // Rule identification 12884 var rule_identification_constants = 12885 "AUTO_NUMERATION_RULE_ID " + 12886 "CANT_CHANGE_ID_REQUISITE_RULE_ID " + 12887 "CANT_CHANGE_OURFIRM_REQUISITE_RULE_ID " + 12888 "CHECK_CHANGING_REFERENCE_RECORD_USE_RULE_ID " + 12889 "CHECK_CODE_REQUISITE_RULE_ID " + 12890 "CHECK_DELETING_REFERENCE_RECORD_USE_RULE_ID " + 12891 "CHECK_FILTRATER_CHANGES_RULE_ID " + 12892 "CHECK_RECORD_INTERVAL_RULE_ID " + 12893 "CHECK_REFERENCE_INTERVAL_RULE_ID " + 12894 "CHECK_REQUIRED_DATA_FULLNESS_RULE_ID " + 12895 "CHECK_REQUIRED_REQUISITES_FULLNESS_RULE_ID " + 12896 "MAKE_RECORD_UNRATIFIED_RULE_ID " + 12897 "RESTORE_AUTO_NUMERATION_RULE_ID " + 12898 "SET_FIRM_CONTEXT_FROM_RECORD_RULE_ID " + 12899 "SET_FIRST_RECORD_IN_LIST_FORM_RULE_ID " + 12900 "SET_IDSPS_VALUE_RULE_ID " + 12901 "SET_NEXT_CODE_VALUE_RULE_ID " + 12902 "SET_OURFIRM_BOUNDS_RULE_ID " + 12903 "SET_OURFIRM_REQUISITE_RULE_ID "; 12904 12905 // Script block properties 12906 var script_block_properties_constants = 12907 "SCRIPT_BLOCK_AFTER_FINISH_EVENT " + 12908 "SCRIPT_BLOCK_BEFORE_START_EVENT " + 12909 "SCRIPT_BLOCK_EXECUTION_RESULTS_PROPERTY " + 12910 "SCRIPT_BLOCK_NAME_PROPERTY " + 12911 "SCRIPT_BLOCK_SCRIPT_PROPERTY "; 12912 12913 // Subtask block properties 12914 var subtask_block_properties_constants = 12915 "SUBTASK_BLOCK_ABORT_DEADLINE_PROPERTY " + 12916 "SUBTASK_BLOCK_AFTER_FINISH_EVENT " + 12917 "SUBTASK_BLOCK_ASSIGN_PARAMS_EVENT " + 12918 "SUBTASK_BLOCK_ATTACHMENTS_PROPERTY " + 12919 "SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_GROUP_PROPERTY " + 12920 "SUBTASK_BLOCK_ATTACHMENTS_RIGHTS_TYPE_PROPERTY " + 12921 "SUBTASK_BLOCK_BEFORE_START_EVENT " + 12922 "SUBTASK_BLOCK_CREATED_TASK_PROPERTY " + 12923 "SUBTASK_BLOCK_CREATION_EVENT " + 12924 "SUBTASK_BLOCK_DEADLINE_PROPERTY " + 12925 "SUBTASK_BLOCK_IMPORTANCE_PROPERTY " + 12926 "SUBTASK_BLOCK_INITIATOR_PROPERTY " + 12927 "SUBTASK_BLOCK_IS_RELATIVE_ABORT_DEADLINE_PROPERTY " + 12928 "SUBTASK_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY " + 12929 "SUBTASK_BLOCK_JOBS_TYPE_PROPERTY " + 12930 "SUBTASK_BLOCK_NAME_PROPERTY " + 12931 "SUBTASK_BLOCK_PARALLEL_ROUTE_PROPERTY " + 12932 "SUBTASK_BLOCK_PERFORMERS_PROPERTY " + 12933 "SUBTASK_BLOCK_RELATIVE_ABORT_DEADLINE_TYPE_PROPERTY " + 12934 "SUBTASK_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY " + 12935 "SUBTASK_BLOCK_REQUIRE_SIGN_PROPERTY " + 12936 "SUBTASK_BLOCK_STANDARD_ROUTE_PROPERTY " + 12937 "SUBTASK_BLOCK_START_EVENT " + 12938 "SUBTASK_BLOCK_STEP_CONTROL_PROPERTY " + 12939 "SUBTASK_BLOCK_SUBJECT_PROPERTY " + 12940 "SUBTASK_BLOCK_TASK_CONTROL_PROPERTY " + 12941 "SUBTASK_BLOCK_TEXT_PROPERTY " + 12942 "SUBTASK_BLOCK_UNLOCK_ATTACHMENTS_ON_STOP_PROPERTY " + 12943 "SUBTASK_BLOCK_USE_STANDARD_ROUTE_PROPERTY " + 12944 "SUBTASK_BLOCK_WAIT_FOR_TASK_COMPLETE_PROPERTY "; 12945 12946 // System component 12947 var system_component_constants = 12948 "SYSCOMP_CONTROL_JOBS " + 12949 "SYSCOMP_FOLDERS " + 12950 "SYSCOMP_JOBS " + 12951 "SYSCOMP_NOTICES " + 12952 "SYSCOMP_TASKS "; 12953 12954 // System dialogs 12955 var system_dialogs_constants = 12956 "SYSDLG_CREATE_EDOCUMENT " + 12957 "SYSDLG_CREATE_EDOCUMENT_VERSION " + 12958 "SYSDLG_CURRENT_PERIOD " + 12959 "SYSDLG_EDIT_FUNCTION_HELP " + 12960 "SYSDLG_EDOCUMENT_KINDS_FOR_TEMPLATE " + 12961 "SYSDLG_EXPORT_MULTIPLE_EDOCUMENTS " + 12962 "SYSDLG_EXPORT_SINGLE_EDOCUMENT " + 12963 "SYSDLG_IMPORT_EDOCUMENT " + 12964 "SYSDLG_MULTIPLE_SELECT " + 12965 "SYSDLG_SETUP_ACCESS_RIGHTS " + 12966 "SYSDLG_SETUP_DEFAULT_RIGHTS " + 12967 "SYSDLG_SETUP_FILTER_CONDITION " + 12968 "SYSDLG_SETUP_SIGN_RIGHTS " + 12969 "SYSDLG_SETUP_TASK_OBSERVERS " + 12970 "SYSDLG_SETUP_TASK_ROUTE " + 12971 "SYSDLG_SETUP_USERS_LIST " + 12972 "SYSDLG_SIGN_EDOCUMENT " + 12973 "SYSDLG_SIGN_MULTIPLE_EDOCUMENTS "; 12974 12975 // System reference names 12976 var system_reference_names_constants = 12977 "SYSREF_ACCESS_RIGHTS_TYPES " + 12978 "SYSREF_ADMINISTRATION_HISTORY " + 12979 "SYSREF_ALL_AVAILABLE_COMPONENTS " + 12980 "SYSREF_ALL_AVAILABLE_PRIVILEGES " + 12981 "SYSREF_ALL_REPLICATING_COMPONENTS " + 12982 "SYSREF_AVAILABLE_DEVELOPERS_COMPONENTS " + 12983 "SYSREF_CALENDAR_EVENTS " + 12984 "SYSREF_COMPONENT_TOKEN_HISTORY " + 12985 "SYSREF_COMPONENT_TOKENS " + 12986 "SYSREF_COMPONENTS " + 12987 "SYSREF_CONSTANTS " + 12988 "SYSREF_DATA_RECEIVE_PROTOCOL " + 12989 "SYSREF_DATA_SEND_PROTOCOL " + 12990 "SYSREF_DIALOGS " + 12991 "SYSREF_DIALOGS_REQUISITES " + 12992 "SYSREF_EDITORS " + 12993 "SYSREF_EDOC_CARDS " + 12994 "SYSREF_EDOC_TYPES " + 12995 "SYSREF_EDOCUMENT_CARD_REQUISITES " + 12996 "SYSREF_EDOCUMENT_CARD_TYPES " + 12997 "SYSREF_EDOCUMENT_CARD_TYPES_REFERENCE " + 12998 "SYSREF_EDOCUMENT_CARDS " + 12999 "SYSREF_EDOCUMENT_HISTORY " + 13000 "SYSREF_EDOCUMENT_KINDS " + 13001 "SYSREF_EDOCUMENT_REQUISITES " + 13002 "SYSREF_EDOCUMENT_SIGNATURES " + 13003 "SYSREF_EDOCUMENT_TEMPLATES " + 13004 "SYSREF_EDOCUMENT_TEXT_STORAGES " + 13005 "SYSREF_EDOCUMENT_VIEWS " + 13006 "SYSREF_FILTERER_SETUP_CONFLICTS " + 13007 "SYSREF_FILTRATER_SETTING_CONFLICTS " + 13008 "SYSREF_FOLDER_HISTORY " + 13009 "SYSREF_FOLDERS " + 13010 "SYSREF_FUNCTION_GROUPS " + 13011 "SYSREF_FUNCTION_PARAMS " + 13012 "SYSREF_FUNCTIONS " + 13013 "SYSREF_JOB_HISTORY " + 13014 "SYSREF_LINKS " + 13015 "SYSREF_LOCALIZATION_DICTIONARY " + 13016 "SYSREF_LOCALIZATION_LANGUAGES " + 13017 "SYSREF_MODULES " + 13018 "SYSREF_PRIVILEGES " + 13019 "SYSREF_RECORD_HISTORY " + 13020 "SYSREF_REFERENCE_REQUISITES " + 13021 "SYSREF_REFERENCE_TYPE_VIEWS " + 13022 "SYSREF_REFERENCE_TYPES " + 13023 "SYSREF_REFERENCES " + 13024 "SYSREF_REFERENCES_REQUISITES " + 13025 "SYSREF_REMOTE_SERVERS " + 13026 "SYSREF_REPLICATION_SESSIONS_LOG " + 13027 "SYSREF_REPLICATION_SESSIONS_PROTOCOL " + 13028 "SYSREF_REPORTS " + 13029 "SYSREF_ROLES " + 13030 "SYSREF_ROUTE_BLOCK_GROUPS " + 13031 "SYSREF_ROUTE_BLOCKS " + 13032 "SYSREF_SCRIPTS " + 13033 "SYSREF_SEARCHES " + 13034 "SYSREF_SERVER_EVENTS " + 13035 "SYSREF_SERVER_EVENTS_HISTORY " + 13036 "SYSREF_STANDARD_ROUTE_GROUPS " + 13037 "SYSREF_STANDARD_ROUTES " + 13038 "SYSREF_STATUSES " + 13039 "SYSREF_SYSTEM_SETTINGS " + 13040 "SYSREF_TASK_HISTORY " + 13041 "SYSREF_TASK_KIND_GROUPS " + 13042 "SYSREF_TASK_KINDS " + 13043 "SYSREF_TASK_RIGHTS " + 13044 "SYSREF_TASK_SIGNATURES " + 13045 "SYSREF_TASKS " + 13046 "SYSREF_UNITS " + 13047 "SYSREF_USER_GROUPS " + 13048 "SYSREF_USER_GROUPS_REFERENCE " + 13049 "SYSREF_USER_SUBSTITUTION " + 13050 "SYSREF_USERS " + 13051 "SYSREF_USERS_REFERENCE " + 13052 "SYSREF_VIEWERS " + 13053 "SYSREF_WORKING_TIME_CALENDARS "; 13054 13055 // Table name 13056 var table_name_constants = 13057 "ACCESS_RIGHTS_TABLE_NAME " + 13058 "EDMS_ACCESS_TABLE_NAME " + 13059 "EDOC_TYPES_TABLE_NAME "; 13060 13061 // Test 13062 var test_constants = 13063 "TEST_DEV_DB_NAME " + 13064 "TEST_DEV_SYSTEM_CODE " + 13065 "TEST_EDMS_DB_NAME " + 13066 "TEST_EDMS_MAIN_CODE " + 13067 "TEST_EDMS_MAIN_DB_NAME " + 13068 "TEST_EDMS_SECOND_CODE " + 13069 "TEST_EDMS_SECOND_DB_NAME " + 13070 "TEST_EDMS_SYSTEM_CODE " + 13071 "TEST_ISB5_MAIN_CODE " + 13072 "TEST_ISB5_SECOND_CODE " + 13073 "TEST_SQL_SERVER_2005_NAME " + 13074 "TEST_SQL_SERVER_NAME "; 13075 13076 // Using the dialog windows 13077 var using_the_dialog_windows_constants = 13078 "ATTENTION_CAPTION " + 13079 "cbsCommandLinks " + 13080 "cbsDefault " + 13081 "CONFIRMATION_CAPTION " + 13082 "ERROR_CAPTION " + 13083 "INFORMATION_CAPTION " + 13084 "mrCancel " + 13085 "mrOk "; 13086 13087 // Using the document 13088 var using_the_document_constants = 13089 "EDOC_VERSION_ACTIVE_STAGE_CODE " + 13090 "EDOC_VERSION_DESIGN_STAGE_CODE " + 13091 "EDOC_VERSION_OBSOLETE_STAGE_CODE "; 13092 13093 // Using the EA and encryption 13094 var using_the_EA_and_encryption_constants = 13095 "cpDataEnciphermentEnabled " + 13096 "cpDigitalSignatureEnabled " + 13097 "cpID " + 13098 "cpIssuer " + 13099 "cpPluginVersion " + 13100 "cpSerial " + 13101 "cpSubjectName " + 13102 "cpSubjSimpleName " + 13103 "cpValidFromDate " + 13104 "cpValidToDate "; 13105 13106 // Using the ISBL-editor 13107 var using_the_ISBL_editor_constants = 13108 "ISBL_SYNTAX " + "NO_SYNTAX " + "XML_SYNTAX "; 13109 13110 // Wait block properties 13111 var wait_block_properties_constants = 13112 "WAIT_BLOCK_AFTER_FINISH_EVENT " + 13113 "WAIT_BLOCK_BEFORE_START_EVENT " + 13114 "WAIT_BLOCK_DEADLINE_PROPERTY " + 13115 "WAIT_BLOCK_IS_RELATIVE_DEADLINE_PROPERTY " + 13116 "WAIT_BLOCK_NAME_PROPERTY " + 13117 "WAIT_BLOCK_RELATIVE_DEADLINE_TYPE_PROPERTY "; 13118 13119 // SYSRES Common 13120 var sysres_common_constants = 13121 "SYSRES_COMMON " + 13122 "SYSRES_CONST " + 13123 "SYSRES_MBFUNC " + 13124 "SYSRES_SBDATA " + 13125 "SYSRES_SBGUI " + 13126 "SYSRES_SBINTF " + 13127 "SYSRES_SBREFDSC " + 13128 "SYSRES_SQLERRORS " + 13129 "SYSRES_SYSCOMP "; 13130 13131 // Константы ==> built_in 13132 var CONSTANTS = 13133 sysres_constants + 13134 base_constants + 13135 base_group_name_constants + 13136 decision_block_properties_constants + 13137 file_extension_constants + 13138 job_block_properties_constants + 13139 language_code_constants + 13140 launching_external_applications_constants + 13141 link_kind_constants + 13142 lock_type_constants + 13143 monitor_block_properties_constants + 13144 notice_block_properties_constants + 13145 object_events_constants + 13146 object_params_constants + 13147 other_constants + 13148 privileges_constants + 13149 pseudoreference_code_constants + 13150 requisite_ISBCertificateType_values_constants + 13151 requisite_ISBEDocStorageType_values_constants + 13152 requisite_compType2_values_constants + 13153 requisite_name_constants + 13154 result_constants + 13155 rule_identification_constants + 13156 script_block_properties_constants + 13157 subtask_block_properties_constants + 13158 system_component_constants + 13159 system_dialogs_constants + 13160 system_reference_names_constants + 13161 table_name_constants + 13162 test_constants + 13163 using_the_dialog_windows_constants + 13164 using_the_document_constants + 13165 using_the_EA_and_encryption_constants + 13166 using_the_ISBL_editor_constants + 13167 wait_block_properties_constants + 13168 sysres_common_constants; 13169 13170 // enum TAccountType 13171 var TAccountType = "atUser atGroup atRole "; 13172 13173 // enum TActionEnabledMode 13174 var TActionEnabledMode = 13175 "aemEnabledAlways " + 13176 "aemDisabledAlways " + 13177 "aemEnabledOnBrowse " + 13178 "aemEnabledOnEdit " + 13179 "aemDisabledOnBrowseEmpty "; 13180 13181 // enum TAddPosition 13182 var TAddPosition = "apBegin apEnd "; 13183 13184 // enum TAlignment 13185 var TAlignment = "alLeft alRight "; 13186 13187 // enum TAreaShowMode 13188 var TAreaShowMode = 13189 "asmNever " + 13190 "asmNoButCustomize " + 13191 "asmAsLastTime " + 13192 "asmYesButCustomize " + 13193 "asmAlways "; 13194 13195 // enum TCertificateInvalidationReason 13196 var TCertificateInvalidationReason = "cirCommon cirRevoked "; 13197 13198 // enum TCertificateType 13199 var TCertificateType = "ctSignature ctEncode ctSignatureEncode "; 13200 13201 // enum TCheckListBoxItemState 13202 var TCheckListBoxItemState = "clbUnchecked clbChecked clbGrayed "; 13203 13204 // enum TCloseOnEsc 13205 var TCloseOnEsc = "ceISB ceAlways ceNever "; 13206 13207 // enum TCompType 13208 var TCompType = 13209 "ctDocument " + 13210 "ctReference " + 13211 "ctScript " + 13212 "ctUnknown " + 13213 "ctReport " + 13214 "ctDialog " + 13215 "ctFunction " + 13216 "ctFolder " + 13217 "ctEDocument " + 13218 "ctTask " + 13219 "ctJob " + 13220 "ctNotice " + 13221 "ctControlJob "; 13222 13223 // enum TConditionFormat 13224 var TConditionFormat = "cfInternal cfDisplay "; 13225 13226 // enum TConnectionIntent 13227 var TConnectionIntent = "ciUnspecified ciWrite ciRead "; 13228 13229 // enum TContentKind 13230 var TContentKind = 13231 "ckFolder " + 13232 "ckEDocument " + 13233 "ckTask " + 13234 "ckJob " + 13235 "ckComponentToken " + 13236 "ckAny " + 13237 "ckReference " + 13238 "ckScript " + 13239 "ckReport " + 13240 "ckDialog "; 13241 13242 // enum TControlType 13243 var TControlType = 13244 "ctISBLEditor " + 13245 "ctBevel " + 13246 "ctButton " + 13247 "ctCheckListBox " + 13248 "ctComboBox " + 13249 "ctComboEdit " + 13250 "ctGrid " + 13251 "ctDBCheckBox " + 13252 "ctDBComboBox " + 13253 "ctDBEdit " + 13254 "ctDBEllipsis " + 13255 "ctDBMemo " + 13256 "ctDBNavigator " + 13257 "ctDBRadioGroup " + 13258 "ctDBStatusLabel " + 13259 "ctEdit " + 13260 "ctGroupBox " + 13261 "ctInplaceHint " + 13262 "ctMemo " + 13263 "ctPanel " + 13264 "ctListBox " + 13265 "ctRadioButton " + 13266 "ctRichEdit " + 13267 "ctTabSheet " + 13268 "ctWebBrowser " + 13269 "ctImage " + 13270 "ctHyperLink " + 13271 "ctLabel " + 13272 "ctDBMultiEllipsis " + 13273 "ctRibbon " + 13274 "ctRichView " + 13275 "ctInnerPanel " + 13276 "ctPanelGroup " + 13277 "ctBitButton "; 13278 13279 // enum TCriterionContentType 13280 var TCriterionContentType = 13281 "cctDate " + 13282 "cctInteger " + 13283 "cctNumeric " + 13284 "cctPick " + 13285 "cctReference " + 13286 "cctString " + 13287 "cctText "; 13288 13289 // enum TCultureType 13290 var TCultureType = "cltInternal cltPrimary cltGUI "; 13291 13292 // enum TDataSetEventType 13293 var TDataSetEventType = 13294 "dseBeforeOpen " + 13295 "dseAfterOpen " + 13296 "dseBeforeClose " + 13297 "dseAfterClose " + 13298 "dseOnValidDelete " + 13299 "dseBeforeDelete " + 13300 "dseAfterDelete " + 13301 "dseAfterDeleteOutOfTransaction " + 13302 "dseOnDeleteError " + 13303 "dseBeforeInsert " + 13304 "dseAfterInsert " + 13305 "dseOnValidUpdate " + 13306 "dseBeforeUpdate " + 13307 "dseOnUpdateRatifiedRecord " + 13308 "dseAfterUpdate " + 13309 "dseAfterUpdateOutOfTransaction " + 13310 "dseOnUpdateError " + 13311 "dseAfterScroll " + 13312 "dseOnOpenRecord " + 13313 "dseOnCloseRecord " + 13314 "dseBeforeCancel " + 13315 "dseAfterCancel " + 13316 "dseOnUpdateDeadlockError " + 13317 "dseBeforeDetailUpdate " + 13318 "dseOnPrepareUpdate " + 13319 "dseOnAnyRequisiteChange "; 13320 13321 // enum TDataSetState 13322 var TDataSetState = "dssEdit dssInsert dssBrowse dssInActive "; 13323 13324 // enum TDateFormatType 13325 var TDateFormatType = "dftDate dftShortDate dftDateTime dftTimeStamp "; 13326 13327 // enum TDateOffsetType 13328 var TDateOffsetType = "dotDays dotHours dotMinutes dotSeconds "; 13329 13330 // enum TDateTimeKind 13331 var TDateTimeKind = "dtkndLocal dtkndUTC "; 13332 13333 // enum TDeaAccessRights 13334 var TDeaAccessRights = "arNone arView arEdit arFull "; 13335 13336 // enum TDocumentDefaultAction 13337 var TDocumentDefaultAction = "ddaView ddaEdit "; 13338 13339 // enum TEditMode 13340 var TEditMode = 13341 "emLock " + 13342 "emEdit " + 13343 "emSign " + 13344 "emExportWithLock " + 13345 "emImportWithUnlock " + 13346 "emChangeVersionNote " + 13347 "emOpenForModify " + 13348 "emChangeLifeStage " + 13349 "emDelete " + 13350 "emCreateVersion " + 13351 "emImport " + 13352 "emUnlockExportedWithLock " + 13353 "emStart " + 13354 "emAbort " + 13355 "emReInit " + 13356 "emMarkAsReaded " + 13357 "emMarkAsUnreaded " + 13358 "emPerform " + 13359 "emAccept " + 13360 "emResume " + 13361 "emChangeRights " + 13362 "emEditRoute " + 13363 "emEditObserver " + 13364 "emRecoveryFromLocalCopy " + 13365 "emChangeWorkAccessType " + 13366 "emChangeEncodeTypeToCertificate " + 13367 "emChangeEncodeTypeToPassword " + 13368 "emChangeEncodeTypeToNone " + 13369 "emChangeEncodeTypeToCertificatePassword " + 13370 "emChangeStandardRoute " + 13371 "emGetText " + 13372 "emOpenForView " + 13373 "emMoveToStorage " + 13374 "emCreateObject " + 13375 "emChangeVersionHidden " + 13376 "emDeleteVersion " + 13377 "emChangeLifeCycleStage " + 13378 "emApprovingSign " + 13379 "emExport " + 13380 "emContinue " + 13381 "emLockFromEdit " + 13382 "emUnLockForEdit " + 13383 "emLockForServer " + 13384 "emUnlockFromServer " + 13385 "emDelegateAccessRights " + 13386 "emReEncode "; 13387 13388 // enum TEditorCloseObservType 13389 var TEditorCloseObservType = "ecotFile ecotProcess "; 13390 13391 // enum TEdmsApplicationAction 13392 var TEdmsApplicationAction = "eaGet eaCopy eaCreate eaCreateStandardRoute "; 13393 13394 // enum TEDocumentLockType 13395 var TEDocumentLockType = "edltAll edltNothing edltQuery "; 13396 13397 // enum TEDocumentStepShowMode 13398 var TEDocumentStepShowMode = "essmText essmCard "; 13399 13400 // enum TEDocumentStepVersionType 13401 var TEDocumentStepVersionType = "esvtLast esvtLastActive esvtSpecified "; 13402 13403 // enum TEDocumentStorageFunction 13404 var TEDocumentStorageFunction = "edsfExecutive edsfArchive "; 13405 13406 // enum TEDocumentStorageType 13407 var TEDocumentStorageType = "edstSQLServer edstFile "; 13408 13409 // enum TEDocumentVersionSourceType 13410 var TEDocumentVersionSourceType = 13411 "edvstNone edvstEDocumentVersionCopy edvstFile edvstTemplate edvstScannedFile "; 13412 13413 // enum TEDocumentVersionState 13414 var TEDocumentVersionState = "vsDefault vsDesign vsActive vsObsolete "; 13415 13416 // enum TEncodeType 13417 var TEncodeType = "etNone etCertificate etPassword etCertificatePassword "; 13418 13419 // enum TExceptionCategory 13420 var TExceptionCategory = "ecException ecWarning ecInformation "; 13421 13422 // enum TExportedSignaturesType 13423 var TExportedSignaturesType = "estAll estApprovingOnly "; 13424 13425 // enum TExportedVersionType 13426 var TExportedVersionType = "evtLast evtLastActive evtQuery "; 13427 13428 // enum TFieldDataType 13429 var TFieldDataType = 13430 "fdtString " + 13431 "fdtNumeric " + 13432 "fdtInteger " + 13433 "fdtDate " + 13434 "fdtText " + 13435 "fdtUnknown " + 13436 "fdtWideString " + 13437 "fdtLargeInteger "; 13438 13439 // enum TFolderType 13440 var TFolderType = 13441 "ftInbox " + 13442 "ftOutbox " + 13443 "ftFavorites " + 13444 "ftCommonFolder " + 13445 "ftUserFolder " + 13446 "ftComponents " + 13447 "ftQuickLaunch " + 13448 "ftShortcuts " + 13449 "ftSearch "; 13450 13451 // enum TGridRowHeight 13452 var TGridRowHeight = "grhAuto " + "grhX1 " + "grhX2 " + "grhX3 "; 13453 13454 // enum THyperlinkType 13455 var THyperlinkType = "hltText " + "hltRTF " + "hltHTML "; 13456 13457 // enum TImageFileFormat 13458 var TImageFileFormat = 13459 "iffBMP " + 13460 "iffJPEG " + 13461 "iffMultiPageTIFF " + 13462 "iffSinglePageTIFF " + 13463 "iffTIFF " + 13464 "iffPNG "; 13465 13466 // enum TImageMode 13467 var TImageMode = "im8bGrayscale " + "im24bRGB " + "im1bMonochrome "; 13468 13469 // enum TImageType 13470 var TImageType = "itBMP " + "itJPEG " + "itWMF " + "itPNG "; 13471 13472 // enum TInplaceHintKind 13473 var TInplaceHintKind = 13474 "ikhInformation " + "ikhWarning " + "ikhError " + "ikhNoIcon "; 13475 13476 // enum TISBLContext 13477 var TISBLContext = 13478 "icUnknown " + 13479 "icScript " + 13480 "icFunction " + 13481 "icIntegratedReport " + 13482 "icAnalyticReport " + 13483 "icDataSetEventHandler " + 13484 "icActionHandler " + 13485 "icFormEventHandler " + 13486 "icLookUpEventHandler " + 13487 "icRequisiteChangeEventHandler " + 13488 "icBeforeSearchEventHandler " + 13489 "icRoleCalculation " + 13490 "icSelectRouteEventHandler " + 13491 "icBlockPropertyCalculation " + 13492 "icBlockQueryParamsEventHandler " + 13493 "icChangeSearchResultEventHandler " + 13494 "icBlockEventHandler " + 13495 "icSubTaskInitEventHandler " + 13496 "icEDocDataSetEventHandler " + 13497 "icEDocLookUpEventHandler " + 13498 "icEDocActionHandler " + 13499 "icEDocFormEventHandler " + 13500 "icEDocRequisiteChangeEventHandler " + 13501 "icStructuredConversionRule " + 13502 "icStructuredConversionEventBefore " + 13503 "icStructuredConversionEventAfter " + 13504 "icWizardEventHandler " + 13505 "icWizardFinishEventHandler " + 13506 "icWizardStepEventHandler " + 13507 "icWizardStepFinishEventHandler " + 13508 "icWizardActionEnableEventHandler " + 13509 "icWizardActionExecuteEventHandler " + 13510 "icCreateJobsHandler " + 13511 "icCreateNoticesHandler " + 13512 "icBeforeLookUpEventHandler " + 13513 "icAfterLookUpEventHandler " + 13514 "icTaskAbortEventHandler " + 13515 "icWorkflowBlockActionHandler " + 13516 "icDialogDataSetEventHandler " + 13517 "icDialogActionHandler " + 13518 "icDialogLookUpEventHandler " + 13519 "icDialogRequisiteChangeEventHandler " + 13520 "icDialogFormEventHandler " + 13521 "icDialogValidCloseEventHandler " + 13522 "icBlockFormEventHandler " + 13523 "icTaskFormEventHandler " + 13524 "icReferenceMethod " + 13525 "icEDocMethod " + 13526 "icDialogMethod " + 13527 "icProcessMessageHandler "; 13528 13529 // enum TItemShow 13530 var TItemShow = "isShow " + "isHide " + "isByUserSettings "; 13531 13532 // enum TJobKind 13533 var TJobKind = "jkJob " + "jkNotice " + "jkControlJob "; 13534 13535 // enum TJoinType 13536 var TJoinType = "jtInner " + "jtLeft " + "jtRight " + "jtFull " + "jtCross "; 13537 13538 // enum TLabelPos 13539 var TLabelPos = "lbpAbove " + "lbpBelow " + "lbpLeft " + "lbpRight "; 13540 13541 // enum TLicensingType 13542 var TLicensingType = "eltPerConnection " + "eltPerUser "; 13543 13544 // enum TLifeCycleStageFontColor 13545 var TLifeCycleStageFontColor = 13546 "sfcUndefined " + 13547 "sfcBlack " + 13548 "sfcGreen " + 13549 "sfcRed " + 13550 "sfcBlue " + 13551 "sfcOrange " + 13552 "sfcLilac "; 13553 13554 // enum TLifeCycleStageFontStyle 13555 var TLifeCycleStageFontStyle = "sfsItalic " + "sfsStrikeout " + "sfsNormal "; 13556 13557 // enum TLockableDevelopmentComponentType 13558 var TLockableDevelopmentComponentType = 13559 "ldctStandardRoute " + 13560 "ldctWizard " + 13561 "ldctScript " + 13562 "ldctFunction " + 13563 "ldctRouteBlock " + 13564 "ldctIntegratedReport " + 13565 "ldctAnalyticReport " + 13566 "ldctReferenceType " + 13567 "ldctEDocumentType " + 13568 "ldctDialog " + 13569 "ldctServerEvents "; 13570 13571 // enum TMaxRecordCountRestrictionType 13572 var TMaxRecordCountRestrictionType = 13573 "mrcrtNone " + "mrcrtUser " + "mrcrtMaximal " + "mrcrtCustom "; 13574 13575 // enum TRangeValueType 13576 var TRangeValueType = 13577 "vtEqual " + "vtGreaterOrEqual " + "vtLessOrEqual " + "vtRange "; 13578 13579 // enum TRelativeDate 13580 var TRelativeDate = 13581 "rdYesterday " + 13582 "rdToday " + 13583 "rdTomorrow " + 13584 "rdThisWeek " + 13585 "rdThisMonth " + 13586 "rdThisYear " + 13587 "rdNextMonth " + 13588 "rdNextWeek " + 13589 "rdLastWeek " + 13590 "rdLastMonth "; 13591 13592 // enum TReportDestination 13593 var TReportDestination = "rdWindow " + "rdFile " + "rdPrinter "; 13594 13595 // enum TReqDataType 13596 var TReqDataType = 13597 "rdtString " + 13598 "rdtNumeric " + 13599 "rdtInteger " + 13600 "rdtDate " + 13601 "rdtReference " + 13602 "rdtAccount " + 13603 "rdtText " + 13604 "rdtPick " + 13605 "rdtUnknown " + 13606 "rdtLargeInteger " + 13607 "rdtDocument "; 13608 13609 // enum TRequisiteEventType 13610 var TRequisiteEventType = "reOnChange " + "reOnChangeValues "; 13611 13612 // enum TSBTimeType 13613 var TSBTimeType = "ttGlobal " + "ttLocal " + "ttUser " + "ttSystem "; 13614 13615 // enum TSearchShowMode 13616 var TSearchShowMode = 13617 "ssmBrowse " + "ssmSelect " + "ssmMultiSelect " + "ssmBrowseModal "; 13618 13619 // enum TSelectMode 13620 var TSelectMode = "smSelect " + "smLike " + "smCard "; 13621 13622 // enum TSignatureType 13623 var TSignatureType = "stNone " + "stAuthenticating " + "stApproving "; 13624 13625 // enum TSignerContentType 13626 var TSignerContentType = "sctString " + "sctStream "; 13627 13628 // enum TStringsSortType 13629 var TStringsSortType = "sstAnsiSort " + "sstNaturalSort "; 13630 13631 // enum TStringValueType 13632 var TStringValueType = "svtEqual " + "svtContain "; 13633 13634 // enum TStructuredObjectAttributeType 13635 var TStructuredObjectAttributeType = 13636 "soatString " + 13637 "soatNumeric " + 13638 "soatInteger " + 13639 "soatDatetime " + 13640 "soatReferenceRecord " + 13641 "soatText " + 13642 "soatPick " + 13643 "soatBoolean " + 13644 "soatEDocument " + 13645 "soatAccount " + 13646 "soatIntegerCollection " + 13647 "soatNumericCollection " + 13648 "soatStringCollection " + 13649 "soatPickCollection " + 13650 "soatDatetimeCollection " + 13651 "soatBooleanCollection " + 13652 "soatReferenceRecordCollection " + 13653 "soatEDocumentCollection " + 13654 "soatAccountCollection " + 13655 "soatContents " + 13656 "soatUnknown "; 13657 13658 // enum TTaskAbortReason 13659 var TTaskAbortReason = "tarAbortByUser " + "tarAbortByWorkflowException "; 13660 13661 // enum TTextValueType 13662 var TTextValueType = "tvtAllWords " + "tvtExactPhrase " + "tvtAnyWord "; 13663 13664 // enum TUserObjectStatus 13665 var TUserObjectStatus = 13666 "usNone " + 13667 "usCompleted " + 13668 "usRedSquare " + 13669 "usBlueSquare " + 13670 "usYellowSquare " + 13671 "usGreenSquare " + 13672 "usOrangeSquare " + 13673 "usPurpleSquare " + 13674 "usFollowUp "; 13675 13676 // enum TUserType 13677 var TUserType = 13678 "utUnknown " + 13679 "utUser " + 13680 "utDeveloper " + 13681 "utAdministrator " + 13682 "utSystemDeveloper " + 13683 "utDisconnected "; 13684 13685 // enum TValuesBuildType 13686 var TValuesBuildType = 13687 "btAnd " + "btDetailAnd " + "btOr " + "btNotOr " + "btOnly "; 13688 13689 // enum TViewMode 13690 var TViewMode = "vmView " + "vmSelect " + "vmNavigation "; 13691 13692 // enum TViewSelectionMode 13693 var TViewSelectionMode = 13694 "vsmSingle " + "vsmMultiple " + "vsmMultipleCheck " + "vsmNoSelection "; 13695 13696 // enum TWizardActionType 13697 var TWizardActionType = 13698 "wfatPrevious " + "wfatNext " + "wfatCancel " + "wfatFinish "; 13699 13700 // enum TWizardFormElementProperty 13701 var TWizardFormElementProperty = 13702 "wfepUndefined " + 13703 "wfepText3 " + 13704 "wfepText6 " + 13705 "wfepText9 " + 13706 "wfepSpinEdit " + 13707 "wfepDropDown " + 13708 "wfepRadioGroup " + 13709 "wfepFlag " + 13710 "wfepText12 " + 13711 "wfepText15 " + 13712 "wfepText18 " + 13713 "wfepText21 " + 13714 "wfepText24 " + 13715 "wfepText27 " + 13716 "wfepText30 " + 13717 "wfepRadioGroupColumn1 " + 13718 "wfepRadioGroupColumn2 " + 13719 "wfepRadioGroupColumn3 "; 13720 13721 // enum TWizardFormElementType 13722 var TWizardFormElementType = 13723 "wfetQueryParameter " + "wfetText " + "wfetDelimiter " + "wfetLabel "; 13724 13725 // enum TWizardParamType 13726 var TWizardParamType = 13727 "wptString " + 13728 "wptInteger " + 13729 "wptNumeric " + 13730 "wptBoolean " + 13731 "wptDateTime " + 13732 "wptPick " + 13733 "wptText " + 13734 "wptUser " + 13735 "wptUserList " + 13736 "wptEDocumentInfo " + 13737 "wptEDocumentInfoList " + 13738 "wptReferenceRecordInfo " + 13739 "wptReferenceRecordInfoList " + 13740 "wptFolderInfo " + 13741 "wptTaskInfo " + 13742 "wptContents " + 13743 "wptFileName " + 13744 "wptDate "; 13745 13746 // enum TWizardStepResult 13747 var TWizardStepResult = 13748 "wsrComplete " + 13749 "wsrGoNext " + 13750 "wsrGoPrevious " + 13751 "wsrCustom " + 13752 "wsrCancel " + 13753 "wsrGoFinal "; 13754 13755 // enum TWizardStepType 13756 var TWizardStepType = 13757 "wstForm " + 13758 "wstEDocument " + 13759 "wstTaskCard " + 13760 "wstReferenceRecordCard " + 13761 "wstFinal "; 13762 13763 // enum TWorkAccessType 13764 var TWorkAccessType = "waAll " + "waPerformers " + "waManual "; 13765 13766 // enum TWorkflowBlockType 13767 var TWorkflowBlockType = 13768 "wsbStart " + 13769 "wsbFinish " + 13770 "wsbNotice " + 13771 "wsbStep " + 13772 "wsbDecision " + 13773 "wsbWait " + 13774 "wsbMonitor " + 13775 "wsbScript " + 13776 "wsbConnector " + 13777 "wsbSubTask " + 13778 "wsbLifeCycleStage " + 13779 "wsbPause "; 13780 13781 // enum TWorkflowDataType 13782 var TWorkflowDataType = 13783 "wdtInteger " + 13784 "wdtFloat " + 13785 "wdtString " + 13786 "wdtPick " + 13787 "wdtDateTime " + 13788 "wdtBoolean " + 13789 "wdtTask " + 13790 "wdtJob " + 13791 "wdtFolder " + 13792 "wdtEDocument " + 13793 "wdtReferenceRecord " + 13794 "wdtUser " + 13795 "wdtGroup " + 13796 "wdtRole " + 13797 "wdtIntegerCollection " + 13798 "wdtFloatCollection " + 13799 "wdtStringCollection " + 13800 "wdtPickCollection " + 13801 "wdtDateTimeCollection " + 13802 "wdtBooleanCollection " + 13803 "wdtTaskCollection " + 13804 "wdtJobCollection " + 13805 "wdtFolderCollection " + 13806 "wdtEDocumentCollection " + 13807 "wdtReferenceRecordCollection " + 13808 "wdtUserCollection " + 13809 "wdtGroupCollection " + 13810 "wdtRoleCollection " + 13811 "wdtContents " + 13812 "wdtUserList " + 13813 "wdtSearchDescription " + 13814 "wdtDeadLine " + 13815 "wdtPickSet " + 13816 "wdtAccountCollection "; 13817 13818 // enum TWorkImportance 13819 var TWorkImportance = "wiLow " + "wiNormal " + "wiHigh "; 13820 13821 // enum TWorkRouteType 13822 var TWorkRouteType = "wrtSoft " + "wrtHard "; 13823 13824 // enum TWorkState 13825 var TWorkState = 13826 "wsInit " + 13827 "wsRunning " + 13828 "wsDone " + 13829 "wsControlled " + 13830 "wsAborted " + 13831 "wsContinued "; 13832 13833 // enum TWorkTextBuildingMode 13834 var TWorkTextBuildingMode = 13835 "wtmFull " + "wtmFromCurrent " + "wtmOnlyCurrent "; 13836 13837 // Перечисления 13838 var ENUMS = 13839 TAccountType + 13840 TActionEnabledMode + 13841 TAddPosition + 13842 TAlignment + 13843 TAreaShowMode + 13844 TCertificateInvalidationReason + 13845 TCertificateType + 13846 TCheckListBoxItemState + 13847 TCloseOnEsc + 13848 TCompType + 13849 TConditionFormat + 13850 TConnectionIntent + 13851 TContentKind + 13852 TControlType + 13853 TCriterionContentType + 13854 TCultureType + 13855 TDataSetEventType + 13856 TDataSetState + 13857 TDateFormatType + 13858 TDateOffsetType + 13859 TDateTimeKind + 13860 TDeaAccessRights + 13861 TDocumentDefaultAction + 13862 TEditMode + 13863 TEditorCloseObservType + 13864 TEdmsApplicationAction + 13865 TEDocumentLockType + 13866 TEDocumentStepShowMode + 13867 TEDocumentStepVersionType + 13868 TEDocumentStorageFunction + 13869 TEDocumentStorageType + 13870 TEDocumentVersionSourceType + 13871 TEDocumentVersionState + 13872 TEncodeType + 13873 TExceptionCategory + 13874 TExportedSignaturesType + 13875 TExportedVersionType + 13876 TFieldDataType + 13877 TFolderType + 13878 TGridRowHeight + 13879 THyperlinkType + 13880 TImageFileFormat + 13881 TImageMode + 13882 TImageType + 13883 TInplaceHintKind + 13884 TISBLContext + 13885 TItemShow + 13886 TJobKind + 13887 TJoinType + 13888 TLabelPos + 13889 TLicensingType + 13890 TLifeCycleStageFontColor + 13891 TLifeCycleStageFontStyle + 13892 TLockableDevelopmentComponentType + 13893 TMaxRecordCountRestrictionType + 13894 TRangeValueType + 13895 TRelativeDate + 13896 TReportDestination + 13897 TReqDataType + 13898 TRequisiteEventType + 13899 TSBTimeType + 13900 TSearchShowMode + 13901 TSelectMode + 13902 TSignatureType + 13903 TSignerContentType + 13904 TStringsSortType + 13905 TStringValueType + 13906 TStructuredObjectAttributeType + 13907 TTaskAbortReason + 13908 TTextValueType + 13909 TUserObjectStatus + 13910 TUserType + 13911 TValuesBuildType + 13912 TViewMode + 13913 TViewSelectionMode + 13914 TWizardActionType + 13915 TWizardFormElementProperty + 13916 TWizardFormElementType + 13917 TWizardParamType + 13918 TWizardStepResult + 13919 TWizardStepType + 13920 TWorkAccessType + 13921 TWorkflowBlockType + 13922 TWorkflowDataType + 13923 TWorkImportance + 13924 TWorkRouteType + 13925 TWorkState + 13926 TWorkTextBuildingMode; 13927 13928 // Системные функции ==> SYSFUNCTIONS 13929 var system_functions = 13930 "AddSubString " + 13931 "AdjustLineBreaks " + 13932 "AmountInWords " + 13933 "Analysis " + 13934 "ArrayDimCount " + 13935 "ArrayHighBound " + 13936 "ArrayLowBound " + 13937 "ArrayOf " + 13938 "ArrayReDim " + 13939 "Assert " + 13940 "Assigned " + 13941 "BeginOfMonth " + 13942 "BeginOfPeriod " + 13943 "BuildProfilingOperationAnalysis " + 13944 "CallProcedure " + 13945 "CanReadFile " + 13946 "CArrayElement " + 13947 "CDataSetRequisite " + 13948 "ChangeDate " + 13949 "ChangeReferenceDataset " + 13950 "Char " + 13951 "CharPos " + 13952 "CheckParam " + 13953 "CheckParamValue " + 13954 "CompareStrings " + 13955 "ConstantExists " + 13956 "ControlState " + 13957 "ConvertDateStr " + 13958 "Copy " + 13959 "CopyFile " + 13960 "CreateArray " + 13961 "CreateCachedReference " + 13962 "CreateConnection " + 13963 "CreateDialog " + 13964 "CreateDualListDialog " + 13965 "CreateEditor " + 13966 "CreateException " + 13967 "CreateFile " + 13968 "CreateFolderDialog " + 13969 "CreateInputDialog " + 13970 "CreateLinkFile " + 13971 "CreateList " + 13972 "CreateLock " + 13973 "CreateMemoryDataSet " + 13974 "CreateObject " + 13975 "CreateOpenDialog " + 13976 "CreateProgress " + 13977 "CreateQuery " + 13978 "CreateReference " + 13979 "CreateReport " + 13980 "CreateSaveDialog " + 13981 "CreateScript " + 13982 "CreateSQLPivotFunction " + 13983 "CreateStringList " + 13984 "CreateTreeListSelectDialog " + 13985 "CSelectSQL " + 13986 "CSQL " + 13987 "CSubString " + 13988 "CurrentUserID " + 13989 "CurrentUserName " + 13990 "CurrentVersion " + 13991 "DataSetLocateEx " + 13992 "DateDiff " + 13993 "DateTimeDiff " + 13994 "DateToStr " + 13995 "DayOfWeek " + 13996 "DeleteFile " + 13997 "DirectoryExists " + 13998 "DisableCheckAccessRights " + 13999 "DisableCheckFullShowingRestriction " + 14000 "DisableMassTaskSendingRestrictions " + 14001 "DropTable " + 14002 "DupeString " + 14003 "EditText " + 14004 "EnableCheckAccessRights " + 14005 "EnableCheckFullShowingRestriction " + 14006 "EnableMassTaskSendingRestrictions " + 14007 "EndOfMonth " + 14008 "EndOfPeriod " + 14009 "ExceptionExists " + 14010 "ExceptionsOff " + 14011 "ExceptionsOn " + 14012 "Execute " + 14013 "ExecuteProcess " + 14014 "Exit " + 14015 "ExpandEnvironmentVariables " + 14016 "ExtractFileDrive " + 14017 "ExtractFileExt " + 14018 "ExtractFileName " + 14019 "ExtractFilePath " + 14020 "ExtractParams " + 14021 "FileExists " + 14022 "FileSize " + 14023 "FindFile " + 14024 "FindSubString " + 14025 "FirmContext " + 14026 "ForceDirectories " + 14027 "Format " + 14028 "FormatDate " + 14029 "FormatNumeric " + 14030 "FormatSQLDate " + 14031 "FormatString " + 14032 "FreeException " + 14033 "GetComponent " + 14034 "GetComponentLaunchParam " + 14035 "GetConstant " + 14036 "GetLastException " + 14037 "GetReferenceRecord " + 14038 "GetRefTypeByRefID " + 14039 "GetTableID " + 14040 "GetTempFolder " + 14041 "IfThen " + 14042 "In " + 14043 "IndexOf " + 14044 "InputDialog " + 14045 "InputDialogEx " + 14046 "InteractiveMode " + 14047 "IsFileLocked " + 14048 "IsGraphicFile " + 14049 "IsNumeric " + 14050 "Length " + 14051 "LoadString " + 14052 "LoadStringFmt " + 14053 "LocalTimeToUTC " + 14054 "LowerCase " + 14055 "Max " + 14056 "MessageBox " + 14057 "MessageBoxEx " + 14058 "MimeDecodeBinary " + 14059 "MimeDecodeString " + 14060 "MimeEncodeBinary " + 14061 "MimeEncodeString " + 14062 "Min " + 14063 "MoneyInWords " + 14064 "MoveFile " + 14065 "NewID " + 14066 "Now " + 14067 "OpenFile " + 14068 "Ord " + 14069 "Precision " + 14070 "Raise " + 14071 "ReadCertificateFromFile " + 14072 "ReadFile " + 14073 "ReferenceCodeByID " + 14074 "ReferenceNumber " + 14075 "ReferenceRequisiteMode " + 14076 "ReferenceRequisiteValue " + 14077 "RegionDateSettings " + 14078 "RegionNumberSettings " + 14079 "RegionTimeSettings " + 14080 "RegRead " + 14081 "RegWrite " + 14082 "RenameFile " + 14083 "Replace " + 14084 "Round " + 14085 "SelectServerCode " + 14086 "SelectSQL " + 14087 "ServerDateTime " + 14088 "SetConstant " + 14089 "SetManagedFolderFieldsState " + 14090 "ShowConstantsInputDialog " + 14091 "ShowMessage " + 14092 "Sleep " + 14093 "Split " + 14094 "SQL " + 14095 "SQL2XLSTAB " + 14096 "SQLProfilingSendReport " + 14097 "StrToDate " + 14098 "SubString " + 14099 "SubStringCount " + 14100 "SystemSetting " + 14101 "Time " + 14102 "TimeDiff " + 14103 "Today " + 14104 "Transliterate " + 14105 "Trim " + 14106 "UpperCase " + 14107 "UserStatus " + 14108 "UTCToLocalTime " + 14109 "ValidateXML " + 14110 "VarIsClear " + 14111 "VarIsEmpty " + 14112 "VarIsNull " + 14113 "WorkTimeDiff " + 14114 "WriteFile " + 14115 "WriteFileEx " + 14116 "WriteObjectHistory " + 14117 "Анализ " + 14118 "БазаДанных " + 14119 "БлокЕсть " + 14120 "БлокЕстьРасш " + 14121 "БлокИнфо " + 14122 "БлокСнять " + 14123 "БлокСнятьРасш " + 14124 "БлокУстановить " + 14125 "Ввод " + 14126 "ВводМеню " + 14127 "ВедС " + 14128 "ВедСпр " + 14129 "ВерхняяГраницаМассива " + 14130 "ВнешПрогр " + 14131 "Восст " + 14132 "ВременнаяПапка " + 14133 "Время " + 14134 "ВыборSQL " + 14135 "ВыбратьЗапись " + 14136 "ВыделитьСтр " + 14137 "Вызвать " + 14138 "Выполнить " + 14139 "ВыпПрогр " + 14140 "ГрафическийФайл " + 14141 "ГруппаДополнительно " + 14142 "ДатаВремяСерв " + 14143 "ДеньНедели " + 14144 "ДиалогДаНет " + 14145 "ДлинаСтр " + 14146 "ДобПодстр " + 14147 "ЕПусто " + 14148 "ЕслиТо " + 14149 "ЕЧисло " + 14150 "ЗамПодстр " + 14151 "ЗаписьСправочника " + 14152 "ЗначПоляСпр " + 14153 "ИДТипСпр " + 14154 "ИзвлечьДиск " + 14155 "ИзвлечьИмяФайла " + 14156 "ИзвлечьПуть " + 14157 "ИзвлечьРасширение " + 14158 "ИзмДат " + 14159 "ИзменитьРазмерМассива " + 14160 "ИзмеренийМассива " + 14161 "ИмяОрг " + 14162 "ИмяПоляСпр " + 14163 "Индекс " + 14164 "ИндикаторЗакрыть " + 14165 "ИндикаторОткрыть " + 14166 "ИндикаторШаг " + 14167 "ИнтерактивныйРежим " + 14168 "ИтогТблСпр " + 14169 "КодВидВедСпр " + 14170 "КодВидСпрПоИД " + 14171 "КодПоAnalit " + 14172 "КодСимвола " + 14173 "КодСпр " + 14174 "КолПодстр " + 14175 "КолПроп " + 14176 "КонМес " + 14177 "Конст " + 14178 "КонстЕсть " + 14179 "КонстЗнач " + 14180 "КонТран " + 14181 "КопироватьФайл " + 14182 "КопияСтр " + 14183 "КПериод " + 14184 "КСтрТблСпр " + 14185 "Макс " + 14186 "МаксСтрТблСпр " + 14187 "Массив " + 14188 "Меню " + 14189 "МенюРасш " + 14190 "Мин " + 14191 "НаборДанныхНайтиРасш " + 14192 "НаимВидСпр " + 14193 "НаимПоAnalit " + 14194 "НаимСпр " + 14195 "НастроитьПереводыСтрок " + 14196 "НачМес " + 14197 "НачТран " + 14198 "НижняяГраницаМассива " + 14199 "НомерСпр " + 14200 "НПериод " + 14201 "Окно " + 14202 "Окр " + 14203 "Окружение " + 14204 "ОтлИнфДобавить " + 14205 "ОтлИнфУдалить " + 14206 "Отчет " + 14207 "ОтчетАнал " + 14208 "ОтчетИнт " + 14209 "ПапкаСуществует " + 14210 "Пауза " + 14211 "ПВыборSQL " + 14212 "ПереименоватьФайл " + 14213 "Переменные " + 14214 "ПереместитьФайл " + 14215 "Подстр " + 14216 "ПоискПодстр " + 14217 "ПоискСтр " + 14218 "ПолучитьИДТаблицы " + 14219 "ПользовательДополнительно " + 14220 "ПользовательИД " + 14221 "ПользовательИмя " + 14222 "ПользовательСтатус " + 14223 "Прервать " + 14224 "ПроверитьПараметр " + 14225 "ПроверитьПараметрЗнач " + 14226 "ПроверитьУсловие " + 14227 "РазбСтр " + 14228 "РазнВремя " + 14229 "РазнДат " + 14230 "РазнДатаВремя " + 14231 "РазнРабВремя " + 14232 "РегУстВрем " + 14233 "РегУстДат " + 14234 "РегУстЧсл " + 14235 "РедТекст " + 14236 "РеестрЗапись " + 14237 "РеестрСписокИменПарам " + 14238 "РеестрЧтение " + 14239 "РеквСпр " + 14240 "РеквСпрПр " + 14241 "Сегодня " + 14242 "Сейчас " + 14243 "Сервер " + 14244 "СерверПроцессИД " + 14245 "СертификатФайлСчитать " + 14246 "СжПроб " + 14247 "Символ " + 14248 "СистемаДиректумКод " + 14249 "СистемаИнформация " + 14250 "СистемаКод " + 14251 "Содержит " + 14252 "СоединениеЗакрыть " + 14253 "СоединениеОткрыть " + 14254 "СоздатьДиалог " + 14255 "СоздатьДиалогВыбораИзДвухСписков " + 14256 "СоздатьДиалогВыбораПапки " + 14257 "СоздатьДиалогОткрытияФайла " + 14258 "СоздатьДиалогСохраненияФайла " + 14259 "СоздатьЗапрос " + 14260 "СоздатьИндикатор " + 14261 "СоздатьИсключение " + 14262 "СоздатьКэшированныйСправочник " + 14263 "СоздатьМассив " + 14264 "СоздатьНаборДанных " + 14265 "СоздатьОбъект " + 14266 "СоздатьОтчет " + 14267 "СоздатьПапку " + 14268 "СоздатьРедактор " + 14269 "СоздатьСоединение " + 14270 "СоздатьСписок " + 14271 "СоздатьСписокСтрок " + 14272 "СоздатьСправочник " + 14273 "СоздатьСценарий " + 14274 "СоздСпр " + 14275 "СостСпр " + 14276 "Сохр " + 14277 "СохрСпр " + 14278 "СписокСистем " + 14279 "Спр " + 14280 "Справочник " + 14281 "СпрБлокЕсть " + 14282 "СпрБлокСнять " + 14283 "СпрБлокСнятьРасш " + 14284 "СпрБлокУстановить " + 14285 "СпрИзмНабДан " + 14286 "СпрКод " + 14287 "СпрНомер " + 14288 "СпрОбновить " + 14289 "СпрОткрыть " + 14290 "СпрОтменить " + 14291 "СпрПарам " + 14292 "СпрПолеЗнач " + 14293 "СпрПолеИмя " + 14294 "СпрРекв " + 14295 "СпрРеквВведЗн " + 14296 "СпрРеквНовые " + 14297 "СпрРеквПр " + 14298 "СпрРеквПредЗн " + 14299 "СпрРеквРежим " + 14300 "СпрРеквТипТекст " + 14301 "СпрСоздать " + 14302 "СпрСост " + 14303 "СпрСохранить " + 14304 "СпрТблИтог " + 14305 "СпрТблСтр " + 14306 "СпрТблСтрКол " + 14307 "СпрТблСтрМакс " + 14308 "СпрТблСтрМин " + 14309 "СпрТблСтрПред " + 14310 "СпрТблСтрСлед " + 14311 "СпрТблСтрСозд " + 14312 "СпрТблСтрУд " + 14313 "СпрТекПредст " + 14314 "СпрУдалить " + 14315 "СравнитьСтр " + 14316 "СтрВерхРегистр " + 14317 "СтрНижнРегистр " + 14318 "СтрТблСпр " + 14319 "СумПроп " + 14320 "Сценарий " + 14321 "СценарийПарам " + 14322 "ТекВерсия " + 14323 "ТекОрг " + 14324 "Точн " + 14325 "Тран " + 14326 "Транслитерация " + 14327 "УдалитьТаблицу " + 14328 "УдалитьФайл " + 14329 "УдСпр " + 14330 "УдСтрТблСпр " + 14331 "Уст " + 14332 "УстановкиКонстант " + 14333 "ФайлАтрибутСчитать " + 14334 "ФайлАтрибутУстановить " + 14335 "ФайлВремя " + 14336 "ФайлВремяУстановить " + 14337 "ФайлВыбрать " + 14338 "ФайлЗанят " + 14339 "ФайлЗаписать " + 14340 "ФайлИскать " + 14341 "ФайлКопировать " + 14342 "ФайлМожноЧитать " + 14343 "ФайлОткрыть " + 14344 "ФайлПереименовать " + 14345 "ФайлПерекодировать " + 14346 "ФайлПереместить " + 14347 "ФайлПросмотреть " + 14348 "ФайлРазмер " + 14349 "ФайлСоздать " + 14350 "ФайлСсылкаСоздать " + 14351 "ФайлСуществует " + 14352 "ФайлСчитать " + 14353 "ФайлУдалить " + 14354 "ФмтSQLДат " + 14355 "ФмтДат " + 14356 "ФмтСтр " + 14357 "ФмтЧсл " + 14358 "Формат " + 14359 "ЦМассивЭлемент " + 14360 "ЦНаборДанныхРеквизит " + 14361 "ЦПодстр "; 14362 14363 // Предопределенные переменные ==> built_in 14364 var predefined_variables = 14365 "AltState " + 14366 "Application " + 14367 "CallType " + 14368 "ComponentTokens " + 14369 "CreatedJobs " + 14370 "CreatedNotices " + 14371 "ControlState " + 14372 "DialogResult " + 14373 "Dialogs " + 14374 "EDocuments " + 14375 "EDocumentVersionSource " + 14376 "Folders " + 14377 "GlobalIDs " + 14378 "Job " + 14379 "Jobs " + 14380 "InputValue " + 14381 "LookUpReference " + 14382 "LookUpRequisiteNames " + 14383 "LookUpSearch " + 14384 "Object " + 14385 "ParentComponent " + 14386 "Processes " + 14387 "References " + 14388 "Requisite " + 14389 "ReportName " + 14390 "Reports " + 14391 "Result " + 14392 "Scripts " + 14393 "Searches " + 14394 "SelectedAttachments " + 14395 "SelectedItems " + 14396 "SelectMode " + 14397 "Sender " + 14398 "ServerEvents " + 14399 "ServiceFactory " + 14400 "ShiftState " + 14401 "SubTask " + 14402 "SystemDialogs " + 14403 "Tasks " + 14404 "Wizard " + 14405 "Wizards " + 14406 "Work " + 14407 "ВызовСпособ " + 14408 "ИмяОтчета " + 14409 "РеквЗнач "; 14410 14411 // Интерфейсы ==> type 14412 var interfaces = 14413 "IApplication " + 14414 "IAccessRights " + 14415 "IAccountRepository " + 14416 "IAccountSelectionRestrictions " + 14417 "IAction " + 14418 "IActionList " + 14419 "IAdministrationHistoryDescription " + 14420 "IAnchors " + 14421 "IApplication " + 14422 "IArchiveInfo " + 14423 "IAttachment " + 14424 "IAttachmentList " + 14425 "ICheckListBox " + 14426 "ICheckPointedList " + 14427 "IColumn " + 14428 "IComponent " + 14429 "IComponentDescription " + 14430 "IComponentToken " + 14431 "IComponentTokenFactory " + 14432 "IComponentTokenInfo " + 14433 "ICompRecordInfo " + 14434 "IConnection " + 14435 "IContents " + 14436 "IControl " + 14437 "IControlJob " + 14438 "IControlJobInfo " + 14439 "IControlList " + 14440 "ICrypto " + 14441 "ICrypto2 " + 14442 "ICustomJob " + 14443 "ICustomJobInfo " + 14444 "ICustomListBox " + 14445 "ICustomObjectWizardStep " + 14446 "ICustomWork " + 14447 "ICustomWorkInfo " + 14448 "IDataSet " + 14449 "IDataSetAccessInfo " + 14450 "IDataSigner " + 14451 "IDateCriterion " + 14452 "IDateRequisite " + 14453 "IDateRequisiteDescription " + 14454 "IDateValue " + 14455 "IDeaAccessRights " + 14456 "IDeaObjectInfo " + 14457 "IDevelopmentComponentLock " + 14458 "IDialog " + 14459 "IDialogFactory " + 14460 "IDialogPickRequisiteItems " + 14461 "IDialogsFactory " + 14462 "IDICSFactory " + 14463 "IDocRequisite " + 14464 "IDocumentInfo " + 14465 "IDualListDialog " + 14466 "IECertificate " + 14467 "IECertificateInfo " + 14468 "IECertificates " + 14469 "IEditControl " + 14470 "IEditorForm " + 14471 "IEdmsExplorer " + 14472 "IEdmsObject " + 14473 "IEdmsObjectDescription " + 14474 "IEdmsObjectFactory " + 14475 "IEdmsObjectInfo " + 14476 "IEDocument " + 14477 "IEDocumentAccessRights " + 14478 "IEDocumentDescription " + 14479 "IEDocumentEditor " + 14480 "IEDocumentFactory " + 14481 "IEDocumentInfo " + 14482 "IEDocumentStorage " + 14483 "IEDocumentVersion " + 14484 "IEDocumentVersionListDialog " + 14485 "IEDocumentVersionSource " + 14486 "IEDocumentWizardStep " + 14487 "IEDocVerSignature " + 14488 "IEDocVersionState " + 14489 "IEnabledMode " + 14490 "IEncodeProvider " + 14491 "IEncrypter " + 14492 "IEvent " + 14493 "IEventList " + 14494 "IException " + 14495 "IExternalEvents " + 14496 "IExternalHandler " + 14497 "IFactory " + 14498 "IField " + 14499 "IFileDialog " + 14500 "IFolder " + 14501 "IFolderDescription " + 14502 "IFolderDialog " + 14503 "IFolderFactory " + 14504 "IFolderInfo " + 14505 "IForEach " + 14506 "IForm " + 14507 "IFormTitle " + 14508 "IFormWizardStep " + 14509 "IGlobalIDFactory " + 14510 "IGlobalIDInfo " + 14511 "IGrid " + 14512 "IHasher " + 14513 "IHistoryDescription " + 14514 "IHyperLinkControl " + 14515 "IImageButton " + 14516 "IImageControl " + 14517 "IInnerPanel " + 14518 "IInplaceHint " + 14519 "IIntegerCriterion " + 14520 "IIntegerList " + 14521 "IIntegerRequisite " + 14522 "IIntegerValue " + 14523 "IISBLEditorForm " + 14524 "IJob " + 14525 "IJobDescription " + 14526 "IJobFactory " + 14527 "IJobForm " + 14528 "IJobInfo " + 14529 "ILabelControl " + 14530 "ILargeIntegerCriterion " + 14531 "ILargeIntegerRequisite " + 14532 "ILargeIntegerValue " + 14533 "ILicenseInfo " + 14534 "ILifeCycleStage " + 14535 "IList " + 14536 "IListBox " + 14537 "ILocalIDInfo " + 14538 "ILocalization " + 14539 "ILock " + 14540 "IMemoryDataSet " + 14541 "IMessagingFactory " + 14542 "IMetadataRepository " + 14543 "INotice " + 14544 "INoticeInfo " + 14545 "INumericCriterion " + 14546 "INumericRequisite " + 14547 "INumericValue " + 14548 "IObject " + 14549 "IObjectDescription " + 14550 "IObjectImporter " + 14551 "IObjectInfo " + 14552 "IObserver " + 14553 "IPanelGroup " + 14554 "IPickCriterion " + 14555 "IPickProperty " + 14556 "IPickRequisite " + 14557 "IPickRequisiteDescription " + 14558 "IPickRequisiteItem " + 14559 "IPickRequisiteItems " + 14560 "IPickValue " + 14561 "IPrivilege " + 14562 "IPrivilegeList " + 14563 "IProcess " + 14564 "IProcessFactory " + 14565 "IProcessMessage " + 14566 "IProgress " + 14567 "IProperty " + 14568 "IPropertyChangeEvent " + 14569 "IQuery " + 14570 "IReference " + 14571 "IReferenceCriterion " + 14572 "IReferenceEnabledMode " + 14573 "IReferenceFactory " + 14574 "IReferenceHistoryDescription " + 14575 "IReferenceInfo " + 14576 "IReferenceRecordCardWizardStep " + 14577 "IReferenceRequisiteDescription " + 14578 "IReferencesFactory " + 14579 "IReferenceValue " + 14580 "IRefRequisite " + 14581 "IReport " + 14582 "IReportFactory " + 14583 "IRequisite " + 14584 "IRequisiteDescription " + 14585 "IRequisiteDescriptionList " + 14586 "IRequisiteFactory " + 14587 "IRichEdit " + 14588 "IRouteStep " + 14589 "IRule " + 14590 "IRuleList " + 14591 "ISchemeBlock " + 14592 "IScript " + 14593 "IScriptFactory " + 14594 "ISearchCriteria " + 14595 "ISearchCriterion " + 14596 "ISearchDescription " + 14597 "ISearchFactory " + 14598 "ISearchFolderInfo " + 14599 "ISearchForObjectDescription " + 14600 "ISearchResultRestrictions " + 14601 "ISecuredContext " + 14602 "ISelectDialog " + 14603 "IServerEvent " + 14604 "IServerEventFactory " + 14605 "IServiceDialog " + 14606 "IServiceFactory " + 14607 "ISignature " + 14608 "ISignProvider " + 14609 "ISignProvider2 " + 14610 "ISignProvider3 " + 14611 "ISimpleCriterion " + 14612 "IStringCriterion " + 14613 "IStringList " + 14614 "IStringRequisite " + 14615 "IStringRequisiteDescription " + 14616 "IStringValue " + 14617 "ISystemDialogsFactory " + 14618 "ISystemInfo " + 14619 "ITabSheet " + 14620 "ITask " + 14621 "ITaskAbortReasonInfo " + 14622 "ITaskCardWizardStep " + 14623 "ITaskDescription " + 14624 "ITaskFactory " + 14625 "ITaskInfo " + 14626 "ITaskRoute " + 14627 "ITextCriterion " + 14628 "ITextRequisite " + 14629 "ITextValue " + 14630 "ITreeListSelectDialog " + 14631 "IUser " + 14632 "IUserList " + 14633 "IValue " + 14634 "IView " + 14635 "IWebBrowserControl " + 14636 "IWizard " + 14637 "IWizardAction " + 14638 "IWizardFactory " + 14639 "IWizardFormElement " + 14640 "IWizardParam " + 14641 "IWizardPickParam " + 14642 "IWizardReferenceParam " + 14643 "IWizardStep " + 14644 "IWorkAccessRights " + 14645 "IWorkDescription " + 14646 "IWorkflowAskableParam " + 14647 "IWorkflowAskableParams " + 14648 "IWorkflowBlock " + 14649 "IWorkflowBlockResult " + 14650 "IWorkflowEnabledMode " + 14651 "IWorkflowParam " + 14652 "IWorkflowPickParam " + 14653 "IWorkflowReferenceParam " + 14654 "IWorkState " + 14655 "IWorkTreeCustomNode " + 14656 "IWorkTreeJobNode " + 14657 "IWorkTreeTaskNode " + 14658 "IXMLEditorForm " + 14659 "SBCrypto "; 14660 14661 // built_in : встроенные или библиотечные объекты (константы, перечисления) 14662 var BUILTIN = CONSTANTS + ENUMS; 14663 14664 // class: встроенные наборы значений, системные объекты, фабрики 14665 var CLASS = predefined_variables; 14666 14667 // literal : примитивные типы 14668 var LITERAL = "null true false nil "; 14669 14670 // number : числа 14671 var NUMBERS = { 14672 className: "number", 14673 begin: hljs.NUMBER_RE, 14674 relevance: 0, 14675 }; 14676 14677 // string : строки 14678 var STRINGS = { 14679 className: "string", 14680 variants: [{ begin: '"', end: '"' }, { begin: "'", end: "'" }], 14681 }; 14682 14683 // Токены 14684 var DOCTAGS = { 14685 className: "doctag", 14686 begin: "\\b(?:TODO|DONE|BEGIN|END|STUB|CHG|FIXME|NOTE|BUG|XXX)\\b", 14687 relevance: 0, 14688 }; 14689 14690 // Однострочный комментарий 14691 var ISBL_LINE_COMMENT_MODE = { 14692 className: "comment", 14693 begin: "//", 14694 end: "$", 14695 relevance: 0, 14696 contains: [hljs.PHRASAL_WORDS_MODE, DOCTAGS], 14697 }; 14698 14699 // Многострочный комментарий 14700 var ISBL_BLOCK_COMMENT_MODE = { 14701 className: "comment", 14702 begin: "/\\*", 14703 end: "\\*/", 14704 relevance: 0, 14705 contains: [hljs.PHRASAL_WORDS_MODE, DOCTAGS], 14706 }; 14707 14708 // comment : комментарии 14709 var COMMENTS = { 14710 variants: [ISBL_LINE_COMMENT_MODE, ISBL_BLOCK_COMMENT_MODE], 14711 }; 14712 14713 // keywords : ключевые слова 14714 var KEYWORDS = { 14715 keyword: KEYWORD, 14716 built_in: BUILTIN, 14717 class: CLASS, 14718 literal: LITERAL, 14719 }; 14720 14721 // methods : методы 14722 var METHODS = { 14723 begin: "\\.\\s*" + hljs.UNDERSCORE_IDENT_RE, 14724 keywords: KEYWORDS, 14725 relevance: 0, 14726 }; 14727 14728 // type : встроенные типы 14729 var TYPES = { 14730 className: "type", 14731 begin: ":[ \\t]*(" + interfaces.trim().replace(/\s/g, "|") + ")", 14732 end: "[ \\t]*=", 14733 excludeEnd: true, 14734 }; 14735 14736 // variables : переменные 14737 var VARIABLES = { 14738 className: "variable", 14739 lexemes: UNDERSCORE_IDENT_RE, 14740 keywords: KEYWORDS, 14741 begin: UNDERSCORE_IDENT_RE, 14742 relevance: 0, 14743 contains: [TYPES, METHODS], 14744 }; 14745 14746 // Имена функций 14747 var FUNCTION_TITLE = FUNCTION_NAME_IDENT_RE + "\\("; 14748 14749 var TITLE_MODE = { 14750 className: "title", 14751 lexemes: UNDERSCORE_IDENT_RE, 14752 keywords: { 14753 built_in: system_functions, 14754 }, 14755 begin: FUNCTION_TITLE, 14756 end: "\\(", 14757 returnBegin: true, 14758 excludeEnd: true, 14759 }; 14760 14761 // function : функции 14762 var FUNCTIONS = { 14763 className: "function", 14764 begin: FUNCTION_TITLE, 14765 end: "\\)$", 14766 returnBegin: true, 14767 lexemes: UNDERSCORE_IDENT_RE, 14768 keywords: KEYWORDS, 14769 illegal: "[\\[\\]\\|\\$\\?%,~#@]", 14770 contains: [TITLE_MODE, METHODS, VARIABLES, STRINGS, NUMBERS, COMMENTS], 14771 }; 14772 14773 return { 14774 aliases: ["isbl"], 14775 case_insensitive: true, 14776 lexemes: UNDERSCORE_IDENT_RE, 14777 keywords: KEYWORDS, 14778 illegal: "\\$|\\?|%|,|;$|~|#|@|</", 14779 contains: [ 14780 FUNCTIONS, 14781 TYPES, 14782 METHODS, 14783 VARIABLES, 14784 STRINGS, 14785 NUMBERS, 14786 COMMENTS, 14787 ], 14788 }; 14789 } 14790 },{name:"java",create:/* 14791 Language: Java 14792 Author: Vsevolod Solovyov <vsevolod.solovyov@gmail.com> 14793 Category: common, enterprise 14794 */ 14795 14796 function(hljs) { 14797 var JAVA_IDENT_RE = '[\u00C0-\u02B8a-zA-Z_$][\u00C0-\u02B8a-zA-Z_$0-9]*'; 14798 var GENERIC_IDENT_RE = JAVA_IDENT_RE + '(<' + JAVA_IDENT_RE + '(\\s*,\\s*' + JAVA_IDENT_RE + ')*>)?'; 14799 var KEYWORDS = 14800 'false synchronized int abstract float private char boolean var static null if const ' + 14801 'for true while long strictfp finally protected import native final void ' + 14802 'enum else break transient catch instanceof byte super volatile case assert short ' + 14803 'package default double public try this switch continue throws protected public private ' + 14804 'module requires exports do'; 14805 14806 // https://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html 14807 var JAVA_NUMBER_RE = '\\b' + 14808 '(' + 14809 '0[bB]([01]+[01_]+[01]+|[01]+)' + // 0b... 14810 '|' + 14811 '0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)' + // 0x... 14812 '|' + 14813 '(' + 14814 '([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?' + 14815 '|' + 14816 '\\.([\\d]+[\\d_]+[\\d]+|[\\d]+)' + 14817 ')' + 14818 '([eE][-+]?\\d+)?' + // octal, decimal, float 14819 ')' + 14820 '[lLfF]?'; 14821 var JAVA_NUMBER_MODE = { 14822 className: 'number', 14823 begin: JAVA_NUMBER_RE, 14824 relevance: 0 14825 }; 14826 14827 return { 14828 aliases: ['jsp'], 14829 keywords: KEYWORDS, 14830 illegal: /<\/|#/, 14831 contains: [ 14832 hljs.COMMENT( 14833 '/\\*\\*', 14834 '\\*/', 14835 { 14836 relevance : 0, 14837 contains : [ 14838 { 14839 // eat up @'s in emails to prevent them to be recognized as doctags 14840 begin: /\w+@/, relevance: 0 14841 }, 14842 { 14843 className : 'doctag', 14844 begin : '@[A-Za-z]+' 14845 } 14846 ] 14847 } 14848 ), 14849 hljs.C_LINE_COMMENT_MODE, 14850 hljs.C_BLOCK_COMMENT_MODE, 14851 hljs.APOS_STRING_MODE, 14852 hljs.QUOTE_STRING_MODE, 14853 { 14854 className: 'class', 14855 beginKeywords: 'class interface', end: /[{;=]/, excludeEnd: true, 14856 keywords: 'class interface', 14857 illegal: /[:"\[\]]/, 14858 contains: [ 14859 {beginKeywords: 'extends implements'}, 14860 hljs.UNDERSCORE_TITLE_MODE 14861 ] 14862 }, 14863 { 14864 // Expression keywords prevent 'keyword Name(...)' from being 14865 // recognized as a function definition 14866 beginKeywords: 'new throw return else', 14867 relevance: 0 14868 }, 14869 { 14870 className: 'function', 14871 begin: '(' + GENERIC_IDENT_RE + '\\s+)+' + hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', returnBegin: true, end: /[{;=]/, 14872 excludeEnd: true, 14873 keywords: KEYWORDS, 14874 contains: [ 14875 { 14876 begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', returnBegin: true, 14877 relevance: 0, 14878 contains: [hljs.UNDERSCORE_TITLE_MODE] 14879 }, 14880 { 14881 className: 'params', 14882 begin: /\(/, end: /\)/, 14883 keywords: KEYWORDS, 14884 relevance: 0, 14885 contains: [ 14886 hljs.APOS_STRING_MODE, 14887 hljs.QUOTE_STRING_MODE, 14888 hljs.C_NUMBER_MODE, 14889 hljs.C_BLOCK_COMMENT_MODE 14890 ] 14891 }, 14892 hljs.C_LINE_COMMENT_MODE, 14893 hljs.C_BLOCK_COMMENT_MODE 14894 ] 14895 }, 14896 JAVA_NUMBER_MODE, 14897 { 14898 className: 'meta', begin: '@[A-Za-z]+' 14899 } 14900 ] 14901 }; 14902 } 14903 },{name:"javascript",create:/* 14904 Language: JavaScript 14905 Category: common, scripting 14906 */ 14907 14908 function(hljs) { 14909 var IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*'; 14910 var KEYWORDS = { 14911 keyword: 14912 'in of if for while finally var new function do return void else break catch ' + 14913 'instanceof with throw case default try this switch continue typeof delete ' + 14914 'let yield const export super debugger as async await static ' + 14915 // ECMAScript 6 modules import 14916 'import from as' 14917 , 14918 literal: 14919 'true false null undefined NaN Infinity', 14920 built_in: 14921 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' + 14922 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' + 14923 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' + 14924 'TypeError URIError Number Math Date String RegExp Array Float32Array ' + 14925 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' + 14926 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' + 14927 'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' + 14928 'Promise' 14929 }; 14930 var NUMBER = { 14931 className: 'number', 14932 variants: [ 14933 { begin: '\\b(0[bB][01]+)' }, 14934 { begin: '\\b(0[oO][0-7]+)' }, 14935 { begin: hljs.C_NUMBER_RE } 14936 ], 14937 relevance: 0 14938 }; 14939 var SUBST = { 14940 className: 'subst', 14941 begin: '\\$\\{', end: '\\}', 14942 keywords: KEYWORDS, 14943 contains: [] // defined later 14944 }; 14945 var HTML_TEMPLATE = { 14946 begin: 'html`', end: '', 14947 starts: { 14948 end: '`', returnEnd: false, 14949 contains: [ 14950 hljs.BACKSLASH_ESCAPE, 14951 SUBST 14952 ], 14953 subLanguage: 'xml', 14954 } 14955 }; 14956 var CSS_TEMPLATE = { 14957 begin: 'css`', end: '', 14958 starts: { 14959 end: '`', returnEnd: false, 14960 contains: [ 14961 hljs.BACKSLASH_ESCAPE, 14962 SUBST 14963 ], 14964 subLanguage: 'css', 14965 } 14966 }; 14967 var TEMPLATE_STRING = { 14968 className: 'string', 14969 begin: '`', end: '`', 14970 contains: [ 14971 hljs.BACKSLASH_ESCAPE, 14972 SUBST 14973 ] 14974 }; 14975 SUBST.contains = [ 14976 hljs.APOS_STRING_MODE, 14977 hljs.QUOTE_STRING_MODE, 14978 HTML_TEMPLATE, 14979 CSS_TEMPLATE, 14980 TEMPLATE_STRING, 14981 NUMBER, 14982 hljs.REGEXP_MODE 14983 ]; 14984 var PARAMS_CONTAINS = SUBST.contains.concat([ 14985 hljs.C_BLOCK_COMMENT_MODE, 14986 hljs.C_LINE_COMMENT_MODE 14987 ]); 14988 14989 return { 14990 aliases: ['js', 'jsx'], 14991 keywords: KEYWORDS, 14992 contains: [ 14993 { 14994 className: 'meta', 14995 relevance: 10, 14996 begin: /^\s*['"]use (strict|asm)['"]/ 14997 }, 14998 { 14999 className: 'meta', 15000 begin: /^#!/, end: /$/ 15001 }, 15002 hljs.APOS_STRING_MODE, 15003 hljs.QUOTE_STRING_MODE, 15004 HTML_TEMPLATE, 15005 CSS_TEMPLATE, 15006 TEMPLATE_STRING, 15007 hljs.C_LINE_COMMENT_MODE, 15008 hljs.C_BLOCK_COMMENT_MODE, 15009 NUMBER, 15010 { // object attr container 15011 begin: /[{,]\s*/, relevance: 0, 15012 contains: [ 15013 { 15014 begin: IDENT_RE + '\\s*:', returnBegin: true, 15015 relevance: 0, 15016 contains: [{className: 'attr', begin: IDENT_RE, relevance: 0}] 15017 } 15018 ] 15019 }, 15020 { // "value" container 15021 begin: '(' + hljs.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*', 15022 keywords: 'return throw case', 15023 contains: [ 15024 hljs.C_LINE_COMMENT_MODE, 15025 hljs.C_BLOCK_COMMENT_MODE, 15026 hljs.REGEXP_MODE, 15027 { 15028 className: 'function', 15029 begin: '(\\(.*?\\)|' + IDENT_RE + ')\\s*=>', returnBegin: true, 15030 end: '\\s*=>', 15031 contains: [ 15032 { 15033 className: 'params', 15034 variants: [ 15035 { 15036 begin: IDENT_RE 15037 }, 15038 { 15039 begin: /\(\s*\)/, 15040 }, 15041 { 15042 begin: /\(/, end: /\)/, 15043 excludeBegin: true, excludeEnd: true, 15044 keywords: KEYWORDS, 15045 contains: PARAMS_CONTAINS 15046 } 15047 ] 15048 } 15049 ] 15050 }, 15051 { 15052 className: '', 15053 begin: /\s/, 15054 end: /\s*/, 15055 skip: true, 15056 }, 15057 { // E4X / JSX 15058 begin: /</, end: /(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/, 15059 subLanguage: 'xml', 15060 contains: [ 15061 { begin: /<[A-Za-z0-9\\._:-]+\s*\/>/, skip: true }, 15062 { 15063 begin: /<[A-Za-z0-9\\._:-]+/, end: /(\/[A-Za-z0-9\\._:-]+|[A-Za-z0-9\\._:-]+\/)>/, skip: true, 15064 contains: [ 15065 { begin: /<[A-Za-z0-9\\._:-]+\s*\/>/, skip: true }, 15066 'self' 15067 ] 15068 } 15069 ] 15070 } 15071 ], 15072 relevance: 0 15073 }, 15074 { 15075 className: 'function', 15076 beginKeywords: 'function', end: /\{/, excludeEnd: true, 15077 contains: [ 15078 hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE}), 15079 { 15080 className: 'params', 15081 begin: /\(/, end: /\)/, 15082 excludeBegin: true, 15083 excludeEnd: true, 15084 contains: PARAMS_CONTAINS 15085 } 15086 ], 15087 illegal: /\[|%/ 15088 }, 15089 { 15090 begin: /\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something` 15091 }, 15092 hljs.METHOD_GUARD, 15093 { // ES6 class 15094 className: 'class', 15095 beginKeywords: 'class', end: /[{;=]/, excludeEnd: true, 15096 illegal: /[:"\[\]]/, 15097 contains: [ 15098 {beginKeywords: 'extends'}, 15099 hljs.UNDERSCORE_TITLE_MODE 15100 ] 15101 }, 15102 { 15103 beginKeywords: 'constructor get set', end: /\{/, excludeEnd: true 15104 } 15105 ], 15106 illegal: /#(?!!)/ 15107 }; 15108 } 15109 },{name:"jboss-cli",create:/* 15110 Language: jboss-cli 15111 Author: Raphaël Parrëe <rparree@edc4it.com> 15112 Description: language definition jboss cli 15113 Category: config 15114 */ 15115 15116 function (hljs) { 15117 var PARAM = { 15118 begin: /[\w-]+ *=/, returnBegin: true, 15119 relevance: 0, 15120 contains: [{className: 'attr', begin: /[\w-]+/}] 15121 }; 15122 var PARAMSBLOCK = { 15123 className: 'params', 15124 begin: /\(/, 15125 end: /\)/, 15126 contains: [PARAM], 15127 relevance : 0 15128 }; 15129 var OPERATION = { 15130 className: 'function', 15131 begin: /:[\w\-.]+/, 15132 relevance: 0 15133 }; 15134 var PATH = { 15135 className: 'string', 15136 begin: /\B(([\/.])[\w\-.\/=]+)+/, 15137 }; 15138 var COMMAND_PARAMS = { 15139 className: 'params', 15140 begin: /--[\w\-=\/]+/, 15141 }; 15142 return { 15143 aliases: ['wildfly-cli'], 15144 lexemes: '[a-z\-]+', 15145 keywords: { 15146 keyword: 'alias batch cd clear command connect connection-factory connection-info data-source deploy ' + 15147 'deployment-info deployment-overlay echo echo-dmr help history if jdbc-driver-info jms-queue|20 jms-topic|20 ls ' + 15148 'patch pwd quit read-attribute read-operation reload rollout-plan run-batch set shutdown try unalias ' + 15149 'undeploy unset version xa-data-source', // module 15150 literal: 'true false' 15151 }, 15152 contains: [ 15153 hljs.HASH_COMMENT_MODE, 15154 hljs.QUOTE_STRING_MODE, 15155 COMMAND_PARAMS, 15156 OPERATION, 15157 PATH, 15158 PARAMSBLOCK 15159 ] 15160 } 15161 } 15162 },{name:"json",create:/* 15163 Language: JSON 15164 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 15165 Category: common, protocols 15166 */ 15167 15168 function(hljs) { 15169 var LITERALS = {literal: 'true false null'}; 15170 var TYPES = [ 15171 hljs.QUOTE_STRING_MODE, 15172 hljs.C_NUMBER_MODE 15173 ]; 15174 var VALUE_CONTAINER = { 15175 end: ',', endsWithParent: true, excludeEnd: true, 15176 contains: TYPES, 15177 keywords: LITERALS 15178 }; 15179 var OBJECT = { 15180 begin: '{', end: '}', 15181 contains: [ 15182 { 15183 className: 'attr', 15184 begin: /"/, end: /"/, 15185 contains: [hljs.BACKSLASH_ESCAPE], 15186 illegal: '\\n', 15187 }, 15188 hljs.inherit(VALUE_CONTAINER, {begin: /:/}) 15189 ], 15190 illegal: '\\S' 15191 }; 15192 var ARRAY = { 15193 begin: '\\[', end: '\\]', 15194 contains: [hljs.inherit(VALUE_CONTAINER)], // inherit is a workaround for a bug that makes shared modes with endsWithParent compile only the ending of one of the parents 15195 illegal: '\\S' 15196 }; 15197 TYPES.splice(TYPES.length, 0, OBJECT, ARRAY); 15198 return { 15199 contains: TYPES, 15200 keywords: LITERALS, 15201 illegal: '\\S' 15202 }; 15203 } 15204 },{name:"julia-repl",create:/* 15205 Language: Julia REPL 15206 Description: Julia REPL sessions 15207 Author: Morten Piibeleht <morten.piibeleht@gmail.com> 15208 Requires: julia.js 15209 15210 The Julia REPL code blocks look something like the following: 15211 15212 julia> function foo(x) 15213 x + 1 15214 end 15215 foo (generic function with 1 method) 15216 15217 They start on a new line with "julia>". Usually there should also be a space after this, but 15218 we also allow the code to start right after the > character. The code may run over multiple 15219 lines, but the additional lines must start with six spaces (i.e. be indented to match 15220 "julia>"). The rest of the code is assumed to be output from the executed code and will be 15221 left un-highlighted. 15222 15223 Using simply spaces to identify line continuations may get a false-positive if the output 15224 also prints out six spaces, but such cases should be rare. 15225 */ 15226 15227 function(hljs) { 15228 return { 15229 contains: [ 15230 { 15231 className: 'meta', 15232 begin: /^julia>/, 15233 relevance: 10, 15234 starts: { 15235 // end the highlighting if we are on a new line and the line does not have at 15236 // least six spaces in the beginning 15237 end: /^(?![ ]{6})/, 15238 subLanguage: 'julia' 15239 }, 15240 // jldoctest Markdown blocks are used in the Julia manual and package docs indicate 15241 // code snippets that should be verified when the documentation is built. They can be 15242 // either REPL-like or script-like, but are usually REPL-like and therefore we apply 15243 // julia-repl highlighting to them. More information can be found in Documenter's 15244 // manual: https://juliadocs.github.io/Documenter.jl/latest/man/doctests.html 15245 aliases: ['jldoctest'] 15246 } 15247 ] 15248 } 15249 } 15250 },{name:"julia",create:/* 15251 Language: Julia 15252 Author: Kenta Sato <bicycle1885@gmail.com> 15253 Contributors: Alex Arslan <ararslan@comcast.net> 15254 */ 15255 15256 function(hljs) { 15257 // Since there are numerous special names in Julia, it is too much trouble 15258 // to maintain them by hand. Hence these names (i.e. keywords, literals and 15259 // built-ins) are automatically generated from Julia v0.6 itself through 15260 // the following scripts for each. 15261 15262 var KEYWORDS = { 15263 // # keyword generator, multi-word keywords handled manually below 15264 // foreach(println, ["in", "isa", "where"]) 15265 // for kw in Base.REPLCompletions.complete_keyword("") 15266 // if !(contains(kw, " ") || kw == "struct") 15267 // println(kw) 15268 // end 15269 // end 15270 keyword: 15271 'in isa where ' + 15272 'baremodule begin break catch ccall const continue do else elseif end export false finally for function ' + 15273 'global if import importall let local macro module quote return true try using while ' + 15274 // legacy, to be deprecated in the next release 15275 'type immutable abstract bitstype typealias ', 15276 15277 // # literal generator 15278 // println("true") 15279 // println("false") 15280 // for name in Base.REPLCompletions.completions("", 0)[1] 15281 // try 15282 // v = eval(Symbol(name)) 15283 // if !(v isa Function || v isa Type || v isa TypeVar || v isa Module || v isa Colon) 15284 // println(name) 15285 // end 15286 // end 15287 // end 15288 literal: 15289 'true false ' + 15290 'ARGS C_NULL DevNull ENDIAN_BOM ENV I Inf Inf16 Inf32 Inf64 InsertionSort JULIA_HOME LOAD_PATH MergeSort ' + 15291 'NaN NaN16 NaN32 NaN64 PROGRAM_FILE QuickSort RoundDown RoundFromZero RoundNearest RoundNearestTiesAway ' + 15292 'RoundNearestTiesUp RoundToZero RoundUp STDERR STDIN STDOUT VERSION catalan e|0 eu|0 eulergamma golden im ' + 15293 'nothing pi γ π φ ', 15294 15295 // # built_in generator: 15296 // for name in Base.REPLCompletions.completions("", 0)[1] 15297 // try 15298 // v = eval(Symbol(name)) 15299 // if v isa Type || v isa TypeVar 15300 // println(name) 15301 // end 15302 // end 15303 // end 15304 built_in: 15305 'ANY AbstractArray AbstractChannel AbstractFloat AbstractMatrix AbstractRNG AbstractSerializer AbstractSet ' + 15306 'AbstractSparseArray AbstractSparseMatrix AbstractSparseVector AbstractString AbstractUnitRange AbstractVecOrMat ' + 15307 'AbstractVector Any ArgumentError Array AssertionError Associative Base64DecodePipe Base64EncodePipe Bidiagonal '+ 15308 'BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError BufferStream CachingPool CapturedException ' + 15309 'CartesianIndex CartesianRange Cchar Cdouble Cfloat Channel Char Cint Cintmax_t Clong Clonglong ClusterManager ' + 15310 'Cmd CodeInfo Colon Complex Complex128 Complex32 Complex64 CompositeException Condition ConjArray ConjMatrix ' + 15311 'ConjVector Cptrdiff_t Cshort Csize_t Cssize_t Cstring Cuchar Cuint Cuintmax_t Culong Culonglong Cushort Cwchar_t ' + 15312 'Cwstring DataType Date DateFormat DateTime DenseArray DenseMatrix DenseVecOrMat DenseVector Diagonal Dict ' + 15313 'DimensionMismatch Dims DirectIndexString Display DivideError DomainError EOFError EachLine Enum Enumerate ' + 15314 'ErrorException Exception ExponentialBackOff Expr Factorization FileMonitor Float16 Float32 Float64 Function ' + 15315 'Future GlobalRef GotoNode HTML Hermitian IO IOBuffer IOContext IOStream IPAddr IPv4 IPv6 IndexCartesian IndexLinear ' + 15316 'IndexStyle InexactError InitError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException ' + 15317 'InvalidStateException Irrational KeyError LabelNode LinSpace LineNumberNode LoadError LowerTriangular MIME Matrix ' + 15318 'MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode NullException Nullable Number ObjectIdDict ' + 15319 'OrdinalRange OutOfMemoryError OverflowError Pair ParseError PartialQuickSort PermutedDimsArray Pipe ' + 15320 'PollingFileWatcher ProcessExitedException Ptr QuoteNode RandomDevice Range RangeIndex Rational RawFD ' + 15321 'ReadOnlyMemoryError Real ReentrantLock Ref Regex RegexMatch RemoteChannel RemoteException RevString RoundingMode ' + 15322 'RowVector SSAValue SegmentationFault SerializationState Set SharedArray SharedMatrix SharedVector Signed ' + 15323 'SimpleVector Slot SlotNumber SparseMatrixCSC SparseVector StackFrame StackOverflowError StackTrace StepRange ' + 15324 'StepRangeLen StridedArray StridedMatrix StridedVecOrMat StridedVector String SubArray SubString SymTridiagonal ' + 15325 'Symbol Symmetric SystemError TCPSocket Task Text TextDisplay Timer Tridiagonal Tuple Type TypeError TypeMapEntry ' + 15326 'TypeMapLevel TypeName TypeVar TypedSlot UDPSocket UInt UInt128 UInt16 UInt32 UInt64 UInt8 UndefRefError UndefVarError ' + 15327 'UnicodeError UniformScaling Union UnionAll UnitRange Unsigned UpperTriangular Val Vararg VecElement VecOrMat Vector ' + 15328 'VersionNumber Void WeakKeyDict WeakRef WorkerConfig WorkerPool ' 15329 }; 15330 15331 // ref: http://julia.readthedocs.org/en/latest/manual/variables/#allowed-variable-names 15332 var VARIABLE_NAME_RE = '[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*'; 15333 15334 // placeholder for recursive self-reference 15335 var DEFAULT = { 15336 lexemes: VARIABLE_NAME_RE, keywords: KEYWORDS, illegal: /<\// 15337 }; 15338 15339 // ref: http://julia.readthedocs.org/en/latest/manual/integers-and-floating-point-numbers/ 15340 var NUMBER = { 15341 className: 'number', 15342 // supported numeric literals: 15343 // * binary literal (e.g. 0x10) 15344 // * octal literal (e.g. 0o76543210) 15345 // * hexadecimal literal (e.g. 0xfedcba876543210) 15346 // * hexadecimal floating point literal (e.g. 0x1p0, 0x1.2p2) 15347 // * decimal literal (e.g. 9876543210, 100_000_000) 15348 // * floating pointe literal (e.g. 1.2, 1.2f, .2, 1., 1.2e10, 1.2e-10) 15349 begin: /(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/, 15350 relevance: 0 15351 }; 15352 15353 var CHAR = { 15354 className: 'string', 15355 begin: /'(.|\\[xXuU][a-zA-Z0-9]+)'/ 15356 }; 15357 15358 var INTERPOLATION = { 15359 className: 'subst', 15360 begin: /\$\(/, end: /\)/, 15361 keywords: KEYWORDS 15362 }; 15363 15364 var INTERPOLATED_VARIABLE = { 15365 className: 'variable', 15366 begin: '\\$' + VARIABLE_NAME_RE 15367 }; 15368 15369 // TODO: neatly escape normal code in string literal 15370 var STRING = { 15371 className: 'string', 15372 contains: [hljs.BACKSLASH_ESCAPE, INTERPOLATION, INTERPOLATED_VARIABLE], 15373 variants: [ 15374 { begin: /\w*"""/, end: /"""\w*/, relevance: 10 }, 15375 { begin: /\w*"/, end: /"\w*/ } 15376 ] 15377 }; 15378 15379 var COMMAND = { 15380 className: 'string', 15381 contains: [hljs.BACKSLASH_ESCAPE, INTERPOLATION, INTERPOLATED_VARIABLE], 15382 begin: '`', end: '`' 15383 }; 15384 15385 var MACROCALL = { 15386 className: 'meta', 15387 begin: '@' + VARIABLE_NAME_RE 15388 }; 15389 15390 var COMMENT = { 15391 className: 'comment', 15392 variants: [ 15393 { begin: '#=', end: '=#', relevance: 10 }, 15394 { begin: '#', end: '$' } 15395 ] 15396 }; 15397 15398 DEFAULT.contains = [ 15399 NUMBER, 15400 CHAR, 15401 STRING, 15402 COMMAND, 15403 MACROCALL, 15404 COMMENT, 15405 hljs.HASH_COMMENT_MODE, 15406 { 15407 className: 'keyword', 15408 begin: 15409 '\\b(((abstract|primitive)\\s+)type|(mutable\\s+)?struct)\\b' 15410 }, 15411 {begin: /<:/} // relevance booster 15412 ]; 15413 INTERPOLATION.contains = DEFAULT.contains; 15414 15415 return DEFAULT; 15416 } 15417 },{name:"kotlin",create:/* 15418 Language: Kotlin 15419 Author: Sergey Mashkov <cy6erGn0m@gmail.com> 15420 */ 15421 15422 15423 function(hljs) { 15424 var KEYWORDS = { 15425 keyword: 15426 'abstract as val var vararg get set class object open private protected public noinline ' + 15427 'crossinline dynamic final enum if else do while for when throw try catch finally ' + 15428 'import package is in fun override companion reified inline lateinit init ' + 15429 'interface annotation data sealed internal infix operator out by constructor super ' + 15430 'tailrec where const inner suspend typealias external expect actual ' + 15431 // to be deleted soon 15432 'trait volatile transient native default', 15433 built_in: 15434 'Byte Short Char Int Long Boolean Float Double Void Unit Nothing', 15435 literal: 15436 'true false null' 15437 }; 15438 var KEYWORDS_WITH_LABEL = { 15439 className: 'keyword', 15440 begin: /\b(break|continue|return|this)\b/, 15441 starts: { 15442 contains: [ 15443 { 15444 className: 'symbol', 15445 begin: /@\w+/ 15446 } 15447 ] 15448 } 15449 }; 15450 var LABEL = { 15451 className: 'symbol', begin: hljs.UNDERSCORE_IDENT_RE + '@' 15452 }; 15453 15454 // for string templates 15455 var SUBST = { 15456 className: 'subst', 15457 begin: '\\${', end: '}', contains: [hljs.APOS_STRING_MODE, hljs.C_NUMBER_MODE] 15458 }; 15459 var VARIABLE = { 15460 className: 'variable', begin: '\\$' + hljs.UNDERSCORE_IDENT_RE 15461 }; 15462 var STRING = { 15463 className: 'string', 15464 variants: [ 15465 { 15466 begin: '"""', end: '"""', 15467 contains: [VARIABLE, SUBST] 15468 }, 15469 // Can't use built-in modes easily, as we want to use STRING in the meta 15470 // context as 'meta-string' and there's no syntax to remove explicitly set 15471 // classNames in built-in modes. 15472 { 15473 begin: '\'', end: '\'', 15474 illegal: /\n/, 15475 contains: [hljs.BACKSLASH_ESCAPE] 15476 }, 15477 { 15478 begin: '"', end: '"', 15479 illegal: /\n/, 15480 contains: [hljs.BACKSLASH_ESCAPE, VARIABLE, SUBST] 15481 } 15482 ] 15483 }; 15484 15485 var ANNOTATION_USE_SITE = { 15486 className: 'meta', begin: '@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*' + hljs.UNDERSCORE_IDENT_RE + ')?' 15487 }; 15488 var ANNOTATION = { 15489 className: 'meta', begin: '@' + hljs.UNDERSCORE_IDENT_RE, 15490 contains: [ 15491 { 15492 begin: /\(/, end: /\)/, 15493 contains: [ 15494 hljs.inherit(STRING, {className: 'meta-string'}) 15495 ] 15496 } 15497 ] 15498 }; 15499 15500 // https://kotlinlang.org/docs/reference/whatsnew11.html#underscores-in-numeric-literals 15501 // According to the doc above, the number mode of kotlin is the same as java 8, 15502 // so the code below is copied from java.js 15503 var KOTLIN_NUMBER_RE = '\\b' + 15504 '(' + 15505 '0[bB]([01]+[01_]+[01]+|[01]+)' + // 0b... 15506 '|' + 15507 '0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)' + // 0x... 15508 '|' + 15509 '(' + 15510 '([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?' + 15511 '|' + 15512 '\\.([\\d]+[\\d_]+[\\d]+|[\\d]+)' + 15513 ')' + 15514 '([eE][-+]?\\d+)?' + // octal, decimal, float 15515 ')' + 15516 '[lLfF]?'; 15517 var KOTLIN_NUMBER_MODE = { 15518 className: 'number', 15519 begin: KOTLIN_NUMBER_RE, 15520 relevance: 0 15521 }; 15522 var KOTLIN_NESTED_COMMENT = hljs.COMMENT( 15523 '/\\*', '\\*/', 15524 { contains: [ hljs.C_BLOCK_COMMENT_MODE ] } 15525 ); 15526 var KOTLIN_PAREN_TYPE = { 15527 variants: [ 15528 { className: 'type', 15529 begin: hljs.UNDERSCORE_IDENT_RE 15530 }, 15531 { begin: /\(/, end: /\)/, 15532 contains: [] //defined later 15533 } 15534 ] 15535 }; 15536 var KOTLIN_PAREN_TYPE2 = KOTLIN_PAREN_TYPE; 15537 KOTLIN_PAREN_TYPE2.variants[1].contains = [ KOTLIN_PAREN_TYPE ]; 15538 KOTLIN_PAREN_TYPE.variants[1].contains = [ KOTLIN_PAREN_TYPE2 ]; 15539 15540 return { 15541 aliases: ['kt'], 15542 keywords: KEYWORDS, 15543 contains : [ 15544 hljs.COMMENT( 15545 '/\\*\\*', 15546 '\\*/', 15547 { 15548 relevance : 0, 15549 contains : [{ 15550 className : 'doctag', 15551 begin : '@[A-Za-z]+' 15552 }] 15553 } 15554 ), 15555 hljs.C_LINE_COMMENT_MODE, 15556 KOTLIN_NESTED_COMMENT, 15557 KEYWORDS_WITH_LABEL, 15558 LABEL, 15559 ANNOTATION_USE_SITE, 15560 ANNOTATION, 15561 { 15562 className: 'function', 15563 beginKeywords: 'fun', end: '[(]|$', 15564 returnBegin: true, 15565 excludeEnd: true, 15566 keywords: KEYWORDS, 15567 illegal: /fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/, 15568 relevance: 5, 15569 contains: [ 15570 { 15571 begin: hljs.UNDERSCORE_IDENT_RE + '\\s*\\(', returnBegin: true, 15572 relevance: 0, 15573 contains: [hljs.UNDERSCORE_TITLE_MODE] 15574 }, 15575 { 15576 className: 'type', 15577 begin: /</, end: />/, keywords: 'reified', 15578 relevance: 0 15579 }, 15580 { 15581 className: 'params', 15582 begin: /\(/, end: /\)/, 15583 endsParent: true, 15584 keywords: KEYWORDS, 15585 relevance: 0, 15586 contains: [ 15587 { 15588 begin: /:/, end: /[=,\/]/, endsWithParent: true, 15589 contains: [ 15590 KOTLIN_PAREN_TYPE, 15591 hljs.C_LINE_COMMENT_MODE, 15592 KOTLIN_NESTED_COMMENT 15593 ], 15594 relevance: 0 15595 }, 15596 hljs.C_LINE_COMMENT_MODE, 15597 KOTLIN_NESTED_COMMENT, 15598 ANNOTATION_USE_SITE, 15599 ANNOTATION, 15600 STRING, 15601 hljs.C_NUMBER_MODE 15602 ] 15603 }, 15604 KOTLIN_NESTED_COMMENT 15605 ] 15606 }, 15607 { 15608 className: 'class', 15609 beginKeywords: 'class interface trait', end: /[:\{(]|$/, // remove 'trait' when removed from KEYWORDS 15610 excludeEnd: true, 15611 illegal: 'extends implements', 15612 contains: [ 15613 {beginKeywords: 'public protected internal private constructor'}, 15614 hljs.UNDERSCORE_TITLE_MODE, 15615 { 15616 className: 'type', 15617 begin: /</, end: />/, excludeBegin: true, excludeEnd: true, 15618 relevance: 0 15619 }, 15620 { 15621 className: 'type', 15622 begin: /[,:]\s*/, end: /[<\(,]|$/, excludeBegin: true, returnEnd: true 15623 }, 15624 ANNOTATION_USE_SITE, 15625 ANNOTATION 15626 ] 15627 }, 15628 STRING, 15629 { 15630 className: 'meta', 15631 begin: "^#!/usr/bin/env", end: '$', 15632 illegal: '\n' 15633 }, 15634 KOTLIN_NUMBER_MODE 15635 ] 15636 }; 15637 } 15638 },{name:"lasso",create:/* 15639 Language: Lasso 15640 Author: Eric Knibbe <eric@lassosoft.com> 15641 Description: Lasso is a language and server platform for database-driven web applications. This definition handles Lasso 9 syntax and LassoScript for Lasso 8.6 and earlier. 15642 */ 15643 15644 function(hljs) { 15645 var LASSO_IDENT_RE = '[a-zA-Z_][\\w.]*'; 15646 var LASSO_ANGLE_RE = '<\\?(lasso(script)?|=)'; 15647 var LASSO_CLOSE_RE = '\\]|\\?>'; 15648 var LASSO_KEYWORDS = { 15649 literal: 15650 'true false none minimal full all void and or not ' + 15651 'bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft', 15652 built_in: 15653 'array date decimal duration integer map pair string tag xml null ' + 15654 'boolean bytes keyword list locale queue set stack staticarray ' + 15655 'local var variable global data self inherited currentcapture givenblock', 15656 keyword: 15657 'cache database_names database_schemanames database_tablenames ' + 15658 'define_tag define_type email_batch encode_set html_comment handle ' + 15659 'handle_error header if inline iterate ljax_target link ' + 15660 'link_currentaction link_currentgroup link_currentrecord link_detail ' + 15661 'link_firstgroup link_firstrecord link_lastgroup link_lastrecord ' + 15662 'link_nextgroup link_nextrecord link_prevgroup link_prevrecord log ' + 15663 'loop namespace_using output_none portal private protect records ' + 15664 'referer referrer repeating resultset rows search_args ' + 15665 'search_arguments select sort_args sort_arguments thread_atomic ' + 15666 'value_list while abort case else fail_if fail_ifnot fail if_empty ' + 15667 'if_false if_null if_true loop_abort loop_continue loop_count params ' + 15668 'params_up return return_value run_children soap_definetag ' + 15669 'soap_lastrequest soap_lastresponse tag_name ascending average by ' + 15670 'define descending do equals frozen group handle_failure import in ' + 15671 'into join let match max min on order parent protected provide public ' + 15672 'require returnhome skip split_thread sum take thread to trait type ' + 15673 'where with yield yieldhome' 15674 }; 15675 var HTML_COMMENT = hljs.COMMENT( 15676 '<!--', 15677 '-->', 15678 { 15679 relevance: 0 15680 } 15681 ); 15682 var LASSO_NOPROCESS = { 15683 className: 'meta', 15684 begin: '\\[noprocess\\]', 15685 starts: { 15686 end: '\\[/noprocess\\]', 15687 returnEnd: true, 15688 contains: [HTML_COMMENT] 15689 } 15690 }; 15691 var LASSO_START = { 15692 className: 'meta', 15693 begin: '\\[/noprocess|' + LASSO_ANGLE_RE 15694 }; 15695 var LASSO_DATAMEMBER = { 15696 className: 'symbol', 15697 begin: '\'' + LASSO_IDENT_RE + '\'' 15698 }; 15699 var LASSO_CODE = [ 15700 hljs.C_LINE_COMMENT_MODE, 15701 hljs.C_BLOCK_COMMENT_MODE, 15702 hljs.inherit(hljs.C_NUMBER_MODE, {begin: hljs.C_NUMBER_RE + '|(-?infinity|NaN)\\b'}), 15703 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}), 15704 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 15705 { 15706 className: 'string', 15707 begin: '`', end: '`' 15708 }, 15709 { // variables 15710 variants: [ 15711 { 15712 begin: '[#$]' + LASSO_IDENT_RE 15713 }, 15714 { 15715 begin: '#', end: '\\d+', 15716 illegal: '\\W' 15717 } 15718 ] 15719 }, 15720 { 15721 className: 'type', 15722 begin: '::\\s*', end: LASSO_IDENT_RE, 15723 illegal: '\\W' 15724 }, 15725 { 15726 className: 'params', 15727 variants: [ 15728 { 15729 begin: '-(?!infinity)' + LASSO_IDENT_RE, 15730 relevance: 0 15731 }, 15732 { 15733 begin: '(\\.\\.\\.)' 15734 } 15735 ] 15736 }, 15737 { 15738 begin: /(->|\.)\s*/, 15739 relevance: 0, 15740 contains: [LASSO_DATAMEMBER] 15741 }, 15742 { 15743 className: 'class', 15744 beginKeywords: 'define', 15745 returnEnd: true, end: '\\(|=>', 15746 contains: [ 15747 hljs.inherit(hljs.TITLE_MODE, {begin: LASSO_IDENT_RE + '(=(?!>))?|[-+*/%](?!>)'}) 15748 ] 15749 } 15750 ]; 15751 return { 15752 aliases: ['ls', 'lassoscript'], 15753 case_insensitive: true, 15754 lexemes: LASSO_IDENT_RE + '|&[lg]t;', 15755 keywords: LASSO_KEYWORDS, 15756 contains: [ 15757 { 15758 className: 'meta', 15759 begin: LASSO_CLOSE_RE, 15760 relevance: 0, 15761 starts: { // markup 15762 end: '\\[|' + LASSO_ANGLE_RE, 15763 returnEnd: true, 15764 relevance: 0, 15765 contains: [HTML_COMMENT] 15766 } 15767 }, 15768 LASSO_NOPROCESS, 15769 LASSO_START, 15770 { 15771 className: 'meta', 15772 begin: '\\[no_square_brackets', 15773 starts: { 15774 end: '\\[/no_square_brackets\\]', // not implemented in the language 15775 lexemes: LASSO_IDENT_RE + '|&[lg]t;', 15776 keywords: LASSO_KEYWORDS, 15777 contains: [ 15778 { 15779 className: 'meta', 15780 begin: LASSO_CLOSE_RE, 15781 relevance: 0, 15782 starts: { 15783 end: '\\[noprocess\\]|' + LASSO_ANGLE_RE, 15784 returnEnd: true, 15785 contains: [HTML_COMMENT] 15786 } 15787 }, 15788 LASSO_NOPROCESS, 15789 LASSO_START 15790 ].concat(LASSO_CODE) 15791 } 15792 }, 15793 { 15794 className: 'meta', 15795 begin: '\\[', 15796 relevance: 0 15797 }, 15798 { 15799 className: 'meta', 15800 begin: '^#!', end:'lasso9$', 15801 relevance: 10 15802 } 15803 ].concat(LASSO_CODE) 15804 }; 15805 } 15806 },{name:"ldif",create:/* 15807 Language: LDIF 15808 Contributors: Jacob Childress <jacobc@gmail.com> 15809 Category: enterprise, config 15810 */ 15811 function(hljs) { 15812 return { 15813 contains: [ 15814 { 15815 className: 'attribute', 15816 begin: '^dn', end: ': ', excludeEnd: true, 15817 starts: {end: '$', relevance: 0}, 15818 relevance: 10 15819 }, 15820 { 15821 className: 'attribute', 15822 begin: '^\\w', end: ': ', excludeEnd: true, 15823 starts: {end: '$', relevance: 0} 15824 }, 15825 { 15826 className: 'literal', 15827 begin: '^-', end: '$' 15828 }, 15829 hljs.HASH_COMMENT_MODE 15830 ] 15831 }; 15832 } 15833 },{name:"leaf",create:/* 15834 Language: Leaf 15835 Author: Hale Chan <halechan@qq.com> 15836 Description: Based on the Leaf reference from https://vapor.github.io/documentation/guide/leaf.html. 15837 */ 15838 15839 function (hljs) { 15840 return { 15841 contains: [ 15842 { 15843 className: 'function', 15844 begin: '#+' + '[A-Za-z_0-9]*' + '\\(', 15845 end:' {', 15846 returnBegin: true, 15847 excludeEnd: true, 15848 contains : [ 15849 { 15850 className: 'keyword', 15851 begin: '#+' 15852 }, 15853 { 15854 className: 'title', 15855 begin: '[A-Za-z_][A-Za-z_0-9]*' 15856 }, 15857 { 15858 className: 'params', 15859 begin: '\\(', end: '\\)', 15860 endsParent: true, 15861 contains: [ 15862 { 15863 className: 'string', 15864 begin: '"', 15865 end: '"' 15866 }, 15867 { 15868 className: 'variable', 15869 begin: '[A-Za-z_][A-Za-z_0-9]*' 15870 } 15871 ] 15872 } 15873 ] 15874 } 15875 ] 15876 }; 15877 } 15878 },{name:"less",create:/* 15879 Language: Less 15880 Author: Max Mikhailov <seven.phases.max@gmail.com> 15881 Category: css 15882 */ 15883 15884 function(hljs) { 15885 var IDENT_RE = '[\\w-]+'; // yes, Less identifiers may begin with a digit 15886 var INTERP_IDENT_RE = '(' + IDENT_RE + '|@{' + IDENT_RE + '})'; 15887 15888 /* Generic Modes */ 15889 15890 var RULES = [], VALUE = []; // forward def. for recursive modes 15891 15892 var STRING_MODE = function(c) { return { 15893 // Less strings are not multiline (also include '~' for more consistent coloring of "escaped" strings) 15894 className: 'string', begin: '~?' + c + '.*?' + c 15895 };}; 15896 15897 var IDENT_MODE = function(name, begin, relevance) { return { 15898 className: name, begin: begin, relevance: relevance 15899 };}; 15900 15901 var PARENS_MODE = { 15902 // used only to properly balance nested parens inside mixin call, def. arg list 15903 begin: '\\(', end: '\\)', contains: VALUE, relevance: 0 15904 }; 15905 15906 // generic Less highlighter (used almost everywhere except selectors): 15907 VALUE.push( 15908 hljs.C_LINE_COMMENT_MODE, 15909 hljs.C_BLOCK_COMMENT_MODE, 15910 STRING_MODE("'"), 15911 STRING_MODE('"'), 15912 hljs.CSS_NUMBER_MODE, // fixme: it does not include dot for numbers like .5em :( 15913 { 15914 begin: '(url|data-uri)\\(', 15915 starts: {className: 'string', end: '[\\)\\n]', excludeEnd: true} 15916 }, 15917 IDENT_MODE('number', '#[0-9A-Fa-f]+\\b'), 15918 PARENS_MODE, 15919 IDENT_MODE('variable', '@@?' + IDENT_RE, 10), 15920 IDENT_MODE('variable', '@{' + IDENT_RE + '}'), 15921 IDENT_MODE('built_in', '~?`[^`]*?`'), // inline javascript (or whatever host language) *multiline* string 15922 { // @media features (it’s here to not duplicate things in AT_RULE_MODE with extra PARENS_MODE overriding): 15923 className: 'attribute', begin: IDENT_RE + '\\s*:', end: ':', returnBegin: true, excludeEnd: true 15924 }, 15925 { 15926 className: 'meta', 15927 begin: '!important' 15928 } 15929 ); 15930 15931 var VALUE_WITH_RULESETS = VALUE.concat({ 15932 begin: '{', end: '}', contains: RULES 15933 }); 15934 15935 var MIXIN_GUARD_MODE = { 15936 beginKeywords: 'when', endsWithParent: true, 15937 contains: [{beginKeywords: 'and not'}].concat(VALUE) // using this form to override VALUE’s 'function' match 15938 }; 15939 15940 /* Rule-Level Modes */ 15941 15942 var RULE_MODE = { 15943 begin: INTERP_IDENT_RE + '\\s*:', returnBegin: true, end: '[;}]', 15944 relevance: 0, 15945 contains: [ 15946 { 15947 className: 'attribute', 15948 begin: INTERP_IDENT_RE, end: ':', excludeEnd: true, 15949 starts: { 15950 endsWithParent: true, illegal: '[<=$]', 15951 relevance: 0, 15952 contains: VALUE 15953 } 15954 } 15955 ] 15956 }; 15957 15958 var AT_RULE_MODE = { 15959 className: 'keyword', 15960 begin: '@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b', 15961 starts: {end: '[;{}]', returnEnd: true, contains: VALUE, relevance: 0} 15962 }; 15963 15964 // variable definitions and calls 15965 var VAR_RULE_MODE = { 15966 className: 'variable', 15967 variants: [ 15968 // using more strict pattern for higher relevance to increase chances of Less detection. 15969 // this is *the only* Less specific statement used in most of the sources, so... 15970 // (we’ll still often loose to the css-parser unless there's '//' comment, 15971 // simply because 1 variable just can't beat 99 properties :) 15972 {begin: '@' + IDENT_RE + '\\s*:', relevance: 15}, 15973 {begin: '@' + IDENT_RE} 15974 ], 15975 starts: {end: '[;}]', returnEnd: true, contains: VALUE_WITH_RULESETS} 15976 }; 15977 15978 var SELECTOR_MODE = { 15979 // first parse unambiguous selectors (i.e. those not starting with tag) 15980 // then fall into the scary lookahead-discriminator variant. 15981 // this mode also handles mixin definitions and calls 15982 variants: [{ 15983 begin: '[\\.#:&\\[>]', end: '[;{}]' // mixin calls end with ';' 15984 }, { 15985 begin: INTERP_IDENT_RE, end: '{' 15986 }], 15987 returnBegin: true, 15988 returnEnd: true, 15989 illegal: '[<=\'$"]', 15990 relevance: 0, 15991 contains: [ 15992 hljs.C_LINE_COMMENT_MODE, 15993 hljs.C_BLOCK_COMMENT_MODE, 15994 MIXIN_GUARD_MODE, 15995 IDENT_MODE('keyword', 'all\\b'), 15996 IDENT_MODE('variable', '@{' + IDENT_RE + '}'), // otherwise it’s identified as tag 15997 IDENT_MODE('selector-tag', INTERP_IDENT_RE + '%?', 0), // '%' for more consistent coloring of @keyframes "tags" 15998 IDENT_MODE('selector-id', '#' + INTERP_IDENT_RE), 15999 IDENT_MODE('selector-class', '\\.' + INTERP_IDENT_RE, 0), 16000 IDENT_MODE('selector-tag', '&', 0), 16001 {className: 'selector-attr', begin: '\\[', end: '\\]'}, 16002 {className: 'selector-pseudo', begin: /:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/}, 16003 {begin: '\\(', end: '\\)', contains: VALUE_WITH_RULESETS}, // argument list of parametric mixins 16004 {begin: '!important'} // eat !important after mixin call or it will be colored as tag 16005 ] 16006 }; 16007 16008 RULES.push( 16009 hljs.C_LINE_COMMENT_MODE, 16010 hljs.C_BLOCK_COMMENT_MODE, 16011 AT_RULE_MODE, 16012 VAR_RULE_MODE, 16013 RULE_MODE, 16014 SELECTOR_MODE 16015 ); 16016 16017 return { 16018 case_insensitive: true, 16019 illegal: '[=>\'/<($"]', 16020 contains: RULES 16021 }; 16022 } 16023 },{name:"lisp",create:/* 16024 Language: Lisp 16025 Description: Generic lisp syntax 16026 Author: Vasily Polovnyov <vast@whiteants.net> 16027 Category: lisp 16028 */ 16029 16030 function(hljs) { 16031 var LISP_IDENT_RE = '[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*'; 16032 var MEC_RE = '\\|[^]*?\\|'; 16033 var LISP_SIMPLE_NUMBER_RE = '(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?'; 16034 var SHEBANG = { 16035 className: 'meta', 16036 begin: '^#!', end: '$' 16037 }; 16038 var LITERAL = { 16039 className: 'literal', 16040 begin: '\\b(t{1}|nil)\\b' 16041 }; 16042 var NUMBER = { 16043 className: 'number', 16044 variants: [ 16045 {begin: LISP_SIMPLE_NUMBER_RE, relevance: 0}, 16046 {begin: '#(b|B)[0-1]+(/[0-1]+)?'}, 16047 {begin: '#(o|O)[0-7]+(/[0-7]+)?'}, 16048 {begin: '#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?'}, 16049 {begin: '#(c|C)\\(' + LISP_SIMPLE_NUMBER_RE + ' +' + LISP_SIMPLE_NUMBER_RE, end: '\\)'} 16050 ] 16051 }; 16052 var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}); 16053 var COMMENT = hljs.COMMENT( 16054 ';', '$', 16055 { 16056 relevance: 0 16057 } 16058 ); 16059 var VARIABLE = { 16060 begin: '\\*', end: '\\*' 16061 }; 16062 var KEYWORD = { 16063 className: 'symbol', 16064 begin: '[:&]' + LISP_IDENT_RE 16065 }; 16066 var IDENT = { 16067 begin: LISP_IDENT_RE, 16068 relevance: 0 16069 }; 16070 var MEC = { 16071 begin: MEC_RE 16072 }; 16073 var QUOTED_LIST = { 16074 begin: '\\(', end: '\\)', 16075 contains: ['self', LITERAL, STRING, NUMBER, IDENT] 16076 }; 16077 var QUOTED = { 16078 contains: [NUMBER, STRING, VARIABLE, KEYWORD, QUOTED_LIST, IDENT], 16079 variants: [ 16080 { 16081 begin: '[\'`]\\(', end: '\\)' 16082 }, 16083 { 16084 begin: '\\(quote ', end: '\\)', 16085 keywords: {name: 'quote'} 16086 }, 16087 { 16088 begin: '\'' + MEC_RE 16089 } 16090 ] 16091 }; 16092 var QUOTED_ATOM = { 16093 variants: [ 16094 {begin: '\'' + LISP_IDENT_RE}, 16095 {begin: '#\'' + LISP_IDENT_RE + '(::' + LISP_IDENT_RE + ')*'} 16096 ] 16097 }; 16098 var LIST = { 16099 begin: '\\(\\s*', end: '\\)' 16100 }; 16101 var BODY = { 16102 endsWithParent: true, 16103 relevance: 0 16104 }; 16105 LIST.contains = [ 16106 { 16107 className: 'name', 16108 variants: [ 16109 {begin: LISP_IDENT_RE}, 16110 {begin: MEC_RE} 16111 ] 16112 }, 16113 BODY 16114 ]; 16115 BODY.contains = [QUOTED, QUOTED_ATOM, LIST, LITERAL, NUMBER, STRING, COMMENT, VARIABLE, KEYWORD, MEC, IDENT]; 16116 16117 return { 16118 illegal: /\S/, 16119 contains: [ 16120 NUMBER, 16121 SHEBANG, 16122 LITERAL, 16123 STRING, 16124 COMMENT, 16125 QUOTED, 16126 QUOTED_ATOM, 16127 LIST, 16128 IDENT 16129 ] 16130 }; 16131 } 16132 },{name:"livecodeserver",create:/* 16133 Language: LiveCode 16134 Author: Ralf Bitter <rabit@revigniter.com> 16135 Description: Language definition for LiveCode server accounting for revIgniter (a web application framework) characteristics. 16136 Version: 1.1 16137 Date: 2019-04-17 16138 Category: enterprise 16139 */ 16140 16141 function(hljs) { 16142 var VARIABLE = { 16143 className: 'variable', 16144 variants: [ 16145 {begin: '\\b([gtps][A-Z]{1}[a-zA-Z0-9]*)(\\[.+\\])?(?:\\s*?)'}, 16146 {begin: '\\$_[A-Z]+'} 16147 ], 16148 relevance: 0 16149 }; 16150 var COMMENT_MODES = [ 16151 hljs.C_BLOCK_COMMENT_MODE, 16152 hljs.HASH_COMMENT_MODE, 16153 hljs.COMMENT('--', '$'), 16154 hljs.COMMENT('[^:]//', '$') 16155 ]; 16156 var TITLE1 = hljs.inherit(hljs.TITLE_MODE, { 16157 variants: [ 16158 {begin: '\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*'}, 16159 {begin: '\\b_[a-z0-9\\-]+'} 16160 ] 16161 }); 16162 var TITLE2 = hljs.inherit(hljs.TITLE_MODE, {begin: '\\b([A-Za-z0-9_\\-]+)\\b'}); 16163 return { 16164 case_insensitive: false, 16165 keywords: { 16166 keyword: 16167 '$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER ' + 16168 'codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph ' + 16169 'after byte bytes english the until http forever descending using line real8 with seventh ' + 16170 'for stdout finally element word words fourth before black ninth sixth characters chars stderr ' + 16171 'uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid ' + 16172 'at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 ' + 16173 'int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat ' + 16174 'end repeat URL in try into switch to words https token binfile each tenth as ticks tick ' + 16175 'system real4 by dateItems without char character ascending eighth whole dateTime numeric short ' + 16176 'first ftp integer abbreviated abbr abbrev private case while if ' + 16177 'div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within ' + 16178 'contains ends with begins the keys of keys', 16179 literal: 16180 'SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE ' + 16181 'QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO ' + 16182 'six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five ' + 16183 'quote empty one true return cr linefeed right backslash null seven tab three two ' + 16184 'RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK ' + 16185 'FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK', 16186 built_in: 16187 'put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode ' + 16188 'base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum ' + 16189 'cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress ' + 16190 'constantNames cos date dateFormat decompress difference directories ' + 16191 'diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global ' + 16192 'globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset ' + 16193 'keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders ' + 16194 'libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 ' + 16195 'longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge messageAuthenticationCode messageDigest millisec ' + 16196 'millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar ' + 16197 'numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets ' + 16198 'paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation ' + 16199 'populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile ' + 16200 'revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull ' + 16201 'revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered ' + 16202 'revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames ' + 16203 'revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull ' + 16204 'revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections ' + 16205 'revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype ' + 16206 'revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext ' + 16207 'revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames ' + 16208 'revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase ' + 16209 'revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute ' + 16210 'revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces ' + 16211 'revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode ' + 16212 'revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling ' + 16213 'revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error ' + 16214 'revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute ' + 16215 'revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort ' + 16216 'revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree ' + 16217 'revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance ' + 16218 'sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound ' + 16219 'stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper ' + 16220 'transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames ' + 16221 'variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet ' + 16222 'xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process ' + 16223 'combine constant convert create new alias folder directory decrypt delete variable word line folder ' + 16224 'directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile ' + 16225 'libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetDriver ' + 16226 'libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime ' + 16227 'libURLSetStatusCallback load extension loadedExtensions multiply socket prepare process post seek rel relative read from process rename ' + 16228 'replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase ' + 16229 'revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees ' + 16230 'revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord ' + 16231 'revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase ' + 16232 'revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD ' + 16233 'revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost ' + 16234 'revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData ' + 16235 'revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel ' + 16236 'revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback ' + 16237 'revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop ' + 16238 'subtract symmetric union unload vectorDotProduct wait write' 16239 }, 16240 contains: [ 16241 VARIABLE, 16242 { 16243 className: 'keyword', 16244 begin: '\\bend\\sif\\b' 16245 }, 16246 { 16247 className: 'function', 16248 beginKeywords: 'function', end: '$', 16249 contains: [ 16250 VARIABLE, 16251 TITLE2, 16252 hljs.APOS_STRING_MODE, 16253 hljs.QUOTE_STRING_MODE, 16254 hljs.BINARY_NUMBER_MODE, 16255 hljs.C_NUMBER_MODE, 16256 TITLE1 16257 ] 16258 }, 16259 { 16260 className: 'function', 16261 begin: '\\bend\\s+', end: '$', 16262 keywords: 'end', 16263 contains: [ 16264 TITLE2, 16265 TITLE1 16266 ], 16267 relevance: 0 16268 }, 16269 { 16270 beginKeywords: 'command on', end: '$', 16271 contains: [ 16272 VARIABLE, 16273 TITLE2, 16274 hljs.APOS_STRING_MODE, 16275 hljs.QUOTE_STRING_MODE, 16276 hljs.BINARY_NUMBER_MODE, 16277 hljs.C_NUMBER_MODE, 16278 TITLE1 16279 ] 16280 }, 16281 { 16282 className: 'meta', 16283 variants: [ 16284 { 16285 begin: '<\\?(rev|lc|livecode)', 16286 relevance: 10 16287 }, 16288 { begin: '<\\?' }, 16289 { begin: '\\?>' } 16290 ] 16291 }, 16292 hljs.APOS_STRING_MODE, 16293 hljs.QUOTE_STRING_MODE, 16294 hljs.BINARY_NUMBER_MODE, 16295 hljs.C_NUMBER_MODE, 16296 TITLE1 16297 ].concat(COMMENT_MODES), 16298 illegal: ';$|^\\[|^=|&|{' 16299 }; 16300 } 16301 },{name:"livescript",create:/* 16302 Language: LiveScript 16303 Author: Taneli Vatanen <taneli.vatanen@gmail.com> 16304 Contributors: Jen Evers-Corvina <jen@sevvie.net> 16305 Origin: coffeescript.js 16306 Description: LiveScript is a programming language that transcompiles to JavaScript. For info about language see http://livescript.net/ 16307 Category: scripting 16308 */ 16309 16310 function(hljs) { 16311 var KEYWORDS = { 16312 keyword: 16313 // JS keywords 16314 'in if for while finally new do return else break catch instanceof throw try this ' + 16315 'switch continue typeof delete debugger case default function var with ' + 16316 // LiveScript keywords 16317 'then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super ' + 16318 'case default function var void const let enum export import native ' + 16319 '__hasProp __extends __slice __bind __indexOf', 16320 literal: 16321 // JS literals 16322 'true false null undefined ' + 16323 // LiveScript literals 16324 'yes no on off it that void', 16325 built_in: 16326 'npm require console print module global window document' 16327 }; 16328 var JS_IDENT_RE = '[A-Za-z$_](?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*'; 16329 var TITLE = hljs.inherit(hljs.TITLE_MODE, {begin: JS_IDENT_RE}); 16330 var SUBST = { 16331 className: 'subst', 16332 begin: /#\{/, end: /}/, 16333 keywords: KEYWORDS 16334 }; 16335 var SUBST_SIMPLE = { 16336 className: 'subst', 16337 begin: /#[A-Za-z$_]/, end: /(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/, 16338 keywords: KEYWORDS 16339 }; 16340 var EXPRESSIONS = [ 16341 hljs.BINARY_NUMBER_MODE, 16342 { 16343 className: 'number', 16344 begin: '(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)', 16345 relevance: 0, 16346 starts: {end: '(\\s*/)?', relevance: 0} // a number tries to eat the following slash to prevent treating it as a regexp 16347 }, 16348 { 16349 className: 'string', 16350 variants: [ 16351 { 16352 begin: /'''/, end: /'''/, 16353 contains: [hljs.BACKSLASH_ESCAPE] 16354 }, 16355 { 16356 begin: /'/, end: /'/, 16357 contains: [hljs.BACKSLASH_ESCAPE] 16358 }, 16359 { 16360 begin: /"""/, end: /"""/, 16361 contains: [hljs.BACKSLASH_ESCAPE, SUBST, SUBST_SIMPLE] 16362 }, 16363 { 16364 begin: /"/, end: /"/, 16365 contains: [hljs.BACKSLASH_ESCAPE, SUBST, SUBST_SIMPLE] 16366 }, 16367 { 16368 begin: /\\/, end: /(\s|$)/, 16369 excludeEnd: true 16370 } 16371 ] 16372 }, 16373 { 16374 className: 'regexp', 16375 variants: [ 16376 { 16377 begin: '//', end: '//[gim]*', 16378 contains: [SUBST, hljs.HASH_COMMENT_MODE] 16379 }, 16380 { 16381 // regex can't start with space to parse x / 2 / 3 as two divisions 16382 // regex can't start with *, and it supports an "illegal" in the main mode 16383 begin: /\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/ 16384 } 16385 ] 16386 }, 16387 { 16388 begin: '@' + JS_IDENT_RE 16389 }, 16390 { 16391 begin: '``', end: '``', 16392 excludeBegin: true, excludeEnd: true, 16393 subLanguage: 'javascript' 16394 } 16395 ]; 16396 SUBST.contains = EXPRESSIONS; 16397 16398 var PARAMS = { 16399 className: 'params', 16400 begin: '\\(', returnBegin: true, 16401 /* We need another contained nameless mode to not have every nested 16402 pair of parens to be called "params" */ 16403 contains: [ 16404 { 16405 begin: /\(/, end: /\)/, 16406 keywords: KEYWORDS, 16407 contains: ['self'].concat(EXPRESSIONS) 16408 } 16409 ] 16410 }; 16411 16412 return { 16413 aliases: ['ls'], 16414 keywords: KEYWORDS, 16415 illegal: /\/\*/, 16416 contains: EXPRESSIONS.concat([ 16417 hljs.COMMENT('\\/\\*', '\\*\\/'), 16418 hljs.HASH_COMMENT_MODE, 16419 { 16420 className: 'function', 16421 contains: [TITLE, PARAMS], 16422 returnBegin: true, 16423 variants: [ 16424 { 16425 begin: '(' + JS_IDENT_RE + '\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?', end: '\\->\\*?' 16426 }, 16427 { 16428 begin: '(' + JS_IDENT_RE + '\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?', end: '[-~]{1,2}>\\*?' 16429 }, 16430 { 16431 begin: '(' + JS_IDENT_RE + '\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?', end: '!?[-~]{1,2}>\\*?' 16432 } 16433 ] 16434 }, 16435 { 16436 className: 'class', 16437 beginKeywords: 'class', 16438 end: '$', 16439 illegal: /[:="\[\]]/, 16440 contains: [ 16441 { 16442 beginKeywords: 'extends', 16443 endsWithParent: true, 16444 illegal: /[:="\[\]]/, 16445 contains: [TITLE] 16446 }, 16447 TITLE 16448 ] 16449 }, 16450 { 16451 begin: JS_IDENT_RE + ':', end: ':', 16452 returnBegin: true, returnEnd: true, 16453 relevance: 0 16454 } 16455 ]) 16456 }; 16457 } 16458 },{name:"llvm",create:/* 16459 Language: LLVM IR 16460 Author: Michael Rodler <contact@f0rki.at> 16461 Description: language used as intermediate representation in the LLVM compiler framework 16462 Category: assembler 16463 */ 16464 16465 function(hljs) { 16466 var identifier = '([-a-zA-Z$._][\\w\\-$.]*)'; 16467 return { 16468 //lexemes: '[.%]?' + hljs.IDENT_RE, 16469 keywords: 16470 'begin end true false declare define global ' + 16471 'constant private linker_private internal ' + 16472 'available_externally linkonce linkonce_odr weak ' + 16473 'weak_odr appending dllimport dllexport common ' + 16474 'default hidden protected extern_weak external ' + 16475 'thread_local zeroinitializer undef null to tail ' + 16476 'target triple datalayout volatile nuw nsw nnan ' + 16477 'ninf nsz arcp fast exact inbounds align ' + 16478 'addrspace section alias module asm sideeffect ' + 16479 'gc dbg linker_private_weak attributes blockaddress ' + 16480 'initialexec localdynamic localexec prefix unnamed_addr ' + 16481 'ccc fastcc coldcc x86_stdcallcc x86_fastcallcc ' + 16482 'arm_apcscc arm_aapcscc arm_aapcs_vfpcc ptx_device ' + 16483 'ptx_kernel intel_ocl_bicc msp430_intrcc spir_func ' + 16484 'spir_kernel x86_64_sysvcc x86_64_win64cc x86_thiscallcc ' + 16485 'cc c signext zeroext inreg sret nounwind ' + 16486 'noreturn noalias nocapture byval nest readnone ' + 16487 'readonly inlinehint noinline alwaysinline optsize ssp ' + 16488 'sspreq noredzone noimplicitfloat naked builtin cold ' + 16489 'nobuiltin noduplicate nonlazybind optnone returns_twice ' + 16490 'sanitize_address sanitize_memory sanitize_thread sspstrong ' + 16491 'uwtable returned type opaque eq ne slt sgt ' + 16492 'sle sge ult ugt ule uge oeq one olt ogt ' + 16493 'ole oge ord uno ueq une x acq_rel acquire ' + 16494 'alignstack atomic catch cleanup filter inteldialect ' + 16495 'max min monotonic nand personality release seq_cst ' + 16496 'singlethread umax umin unordered xchg add fadd ' + 16497 'sub fsub mul fmul udiv sdiv fdiv urem srem ' + 16498 'frem shl lshr ashr and or xor icmp fcmp ' + 16499 'phi call trunc zext sext fptrunc fpext uitofp ' + 16500 'sitofp fptoui fptosi inttoptr ptrtoint bitcast ' + 16501 'addrspacecast select va_arg ret br switch invoke ' + 16502 'unwind unreachable indirectbr landingpad resume ' + 16503 'malloc alloca free load store getelementptr ' + 16504 'extractelement insertelement shufflevector getresult ' + 16505 'extractvalue insertvalue atomicrmw cmpxchg fence ' + 16506 'argmemonly double', 16507 contains: [ 16508 { 16509 className: 'keyword', 16510 begin: 'i\\d+' 16511 }, 16512 hljs.COMMENT( 16513 ';', '\\n', {relevance: 0} 16514 ), 16515 // Double quote string 16516 hljs.QUOTE_STRING_MODE, 16517 { 16518 className: 'string', 16519 variants: [ 16520 // Double-quoted string 16521 { begin: '"', end: '[^\\\\]"' }, 16522 ], 16523 relevance: 0 16524 }, 16525 { 16526 className: 'title', 16527 variants: [ 16528 { begin: '@' + identifier }, 16529 { begin: '@\\d+' }, 16530 { begin: '!' + identifier }, 16531 { begin: '!\\d+' + identifier } 16532 ] 16533 }, 16534 { 16535 className: 'symbol', 16536 variants: [ 16537 { begin: '%' + identifier }, 16538 { begin: '%\\d+' }, 16539 { begin: '#\\d+' }, 16540 ] 16541 }, 16542 { 16543 className: 'number', 16544 variants: [ 16545 { begin: '0[xX][a-fA-F0-9]+' }, 16546 { begin: '-?\\d+(?:[.]\\d+)?(?:[eE][-+]?\\d+(?:[.]\\d+)?)?' } 16547 ], 16548 relevance: 0 16549 }, 16550 ] 16551 }; 16552 } 16553 },{name:"lsl",create:/* 16554 Language: Linden Scripting Language 16555 Description: The Linden Scripting Language is used in Second Life by Linden Labs. 16556 Author: Builder's Brewery <buildersbrewery@gmail.com> 16557 Category: scripting 16558 */ 16559 16560 function(hljs) { 16561 16562 var LSL_STRING_ESCAPE_CHARS = { 16563 className: 'subst', 16564 begin: /\\[tn"\\]/ 16565 }; 16566 16567 var LSL_STRINGS = { 16568 className: 'string', 16569 begin: '"', 16570 end: '"', 16571 contains: [ 16572 LSL_STRING_ESCAPE_CHARS 16573 ] 16574 }; 16575 16576 var LSL_NUMBERS = { 16577 className: 'number', 16578 begin: hljs.C_NUMBER_RE 16579 }; 16580 16581 var LSL_CONSTANTS = { 16582 className: 'literal', 16583 variants: [ 16584 { 16585 begin: '\\b(?:PI|TWO_PI|PI_BY_TWO|DEG_TO_RAD|RAD_TO_DEG|SQRT2)\\b' 16586 }, 16587 { 16588 begin: '\\b(?:XP_ERROR_(?:EXPERIENCES_DISABLED|EXPERIENCE_(?:DISABLED|SUSPENDED)|INVALID_(?:EXPERIENCE|PARAMETERS)|KEY_NOT_FOUND|MATURITY_EXCEEDED|NONE|NOT_(?:FOUND|PERMITTED(?:_LAND)?)|NO_EXPERIENCE|QUOTA_EXCEEDED|RETRY_UPDATE|STORAGE_EXCEPTION|STORE_DISABLED|THROTTLED|UNKNOWN_ERROR)|JSON_APPEND|STATUS_(?:PHYSICS|ROTATE_[XYZ]|PHANTOM|SANDBOX|BLOCK_GRAB(?:_OBJECT)?|(?:DIE|RETURN)_AT_EDGE|CAST_SHADOWS|OK|MALFORMED_PARAMS|TYPE_MISMATCH|BOUNDS_ERROR|NOT_(?:FOUND|SUPPORTED)|INTERNAL_ERROR|WHITELIST_FAILED)|AGENT(?:_(?:BY_(?:LEGACY_|USER)NAME|FLYING|ATTACHMENTS|SCRIPTED|MOUSELOOK|SITTING|ON_OBJECT|AWAY|WALKING|IN_AIR|TYPING|CROUCHING|BUSY|ALWAYS_RUN|AUTOPILOT|LIST_(?:PARCEL(?:_OWNER)?|REGION)))?|CAMERA_(?:PITCH|DISTANCE|BEHINDNESS_(?:ANGLE|LAG)|(?:FOCUS|POSITION)(?:_(?:THRESHOLD|LOCKED|LAG))?|FOCUS_OFFSET|ACTIVE)|ANIM_ON|LOOP|REVERSE|PING_PONG|SMOOTH|ROTATE|SCALE|ALL_SIDES|LINK_(?:ROOT|SET|ALL_(?:OTHERS|CHILDREN)|THIS)|ACTIVE|PASS(?:IVE|_(?:ALWAYS|IF_NOT_HANDLED|NEVER))|SCRIPTED|CONTROL_(?:FWD|BACK|(?:ROT_)?(?:LEFT|RIGHT)|UP|DOWN|(?:ML_)?LBUTTON)|PERMISSION_(?:RETURN_OBJECTS|DEBIT|OVERRIDE_ANIMATIONS|SILENT_ESTATE_MANAGEMENT|TAKE_CONTROLS|TRIGGER_ANIMATION|ATTACH|CHANGE_LINKS|(?:CONTROL|TRACK)_CAMERA|TELEPORT)|INVENTORY_(?:TEXTURE|SOUND|OBJECT|SCRIPT|LANDMARK|CLOTHING|NOTECARD|BODYPART|ANIMATION|GESTURE|ALL|NONE)|CHANGED_(?:INVENTORY|COLOR|SHAPE|SCALE|TEXTURE|LINK|ALLOWED_DROP|OWNER|REGION(?:_START)?|TELEPORT|MEDIA)|OBJECT_(?:CLICK_ACTION|HOVER_HEIGHT|LAST_OWNER_ID|(?:PHYSICS|SERVER|STREAMING)_COST|UNKNOWN_DETAIL|CHARACTER_TIME|PHANTOM|PHYSICS|TEMP_ON_REZ|NAME|DESC|POS|PRIM_(?:COUNT|EQUIVALENCE)|RETURN_(?:PARCEL(?:_OWNER)?|REGION)|REZZER_KEY|ROO?T|VELOCITY|OMEGA|OWNER|GROUP|CREATOR|ATTACHED_POINT|RENDER_WEIGHT|(?:BODY_SHAPE|PATHFINDING)_TYPE|(?:RUNNING|TOTAL)_SCRIPT_COUNT|TOTAL_INVENTORY_COUNT|SCRIPT_(?:MEMORY|TIME))|TYPE_(?:INTEGER|FLOAT|STRING|KEY|VECTOR|ROTATION|INVALID)|(?:DEBUG|PUBLIC)_CHANNEL|ATTACH_(?:AVATAR_CENTER|CHEST|HEAD|BACK|PELVIS|MOUTH|CHIN|NECK|NOSE|BELLY|[LR](?:SHOULDER|HAND|FOOT|EAR|EYE|[UL](?:ARM|LEG)|HIP)|(?:LEFT|RIGHT)_PEC|HUD_(?:CENTER_[12]|TOP_(?:RIGHT|CENTER|LEFT)|BOTTOM(?:_(?:RIGHT|LEFT))?)|[LR]HAND_RING1|TAIL_(?:BASE|TIP)|[LR]WING|FACE_(?:JAW|[LR]EAR|[LR]EYE|TOUNGE)|GROIN|HIND_[LR]FOOT)|LAND_(?:LEVEL|RAISE|LOWER|SMOOTH|NOISE|REVERT)|DATA_(?:ONLINE|NAME|BORN|SIM_(?:POS|STATUS|RATING)|PAYINFO)|PAYMENT_INFO_(?:ON_FILE|USED)|REMOTE_DATA_(?:CHANNEL|REQUEST|REPLY)|PSYS_(?:PART_(?:BF_(?:ZERO|ONE(?:_MINUS_(?:DEST_COLOR|SOURCE_(ALPHA|COLOR)))?|DEST_COLOR|SOURCE_(ALPHA|COLOR))|BLEND_FUNC_(DEST|SOURCE)|FLAGS|(?:START|END)_(?:COLOR|ALPHA|SCALE|GLOW)|MAX_AGE|(?:RIBBON|WIND|INTERP_(?:COLOR|SCALE)|BOUNCE|FOLLOW_(?:SRC|VELOCITY)|TARGET_(?:POS|LINEAR)|EMISSIVE)_MASK)|SRC_(?:MAX_AGE|PATTERN|ANGLE_(?:BEGIN|END)|BURST_(?:RATE|PART_COUNT|RADIUS|SPEED_(?:MIN|MAX))|ACCEL|TEXTURE|TARGET_KEY|OMEGA|PATTERN_(?:DROP|EXPLODE|ANGLE(?:_CONE(?:_EMPTY)?)?)))|VEHICLE_(?:REFERENCE_FRAME|TYPE_(?:NONE|SLED|CAR|BOAT|AIRPLANE|BALLOON)|(?:LINEAR|ANGULAR)_(?:FRICTION_TIMESCALE|MOTOR_DIRECTION)|LINEAR_MOTOR_OFFSET|HOVER_(?:HEIGHT|EFFICIENCY|TIMESCALE)|BUOYANCY|(?:LINEAR|ANGULAR)_(?:DEFLECTION_(?:EFFICIENCY|TIMESCALE)|MOTOR_(?:DECAY_)?TIMESCALE)|VERTICAL_ATTRACTION_(?:EFFICIENCY|TIMESCALE)|BANKING_(?:EFFICIENCY|MIX|TIMESCALE)|FLAG_(?:NO_DEFLECTION_UP|LIMIT_(?:ROLL_ONLY|MOTOR_UP)|HOVER_(?:(?:WATER|TERRAIN|UP)_ONLY|GLOBAL_HEIGHT)|MOUSELOOK_(?:STEER|BANK)|CAMERA_DECOUPLED))|PRIM_(?:ALPHA_MODE(?:_(?:BLEND|EMISSIVE|MASK|NONE))?|NORMAL|SPECULAR|TYPE(?:_(?:BOX|CYLINDER|PRISM|SPHERE|TORUS|TUBE|RING|SCULPT))?|HOLE_(?:DEFAULT|CIRCLE|SQUARE|TRIANGLE)|MATERIAL(?:_(?:STONE|METAL|GLASS|WOOD|FLESH|PLASTIC|RUBBER))?|SHINY_(?:NONE|LOW|MEDIUM|HIGH)|BUMP_(?:NONE|BRIGHT|DARK|WOOD|BARK|BRICKS|CHECKER|CONCRETE|TILE|STONE|DISKS|GRAVEL|BLOBS|SIDING|LARGETILE|STUCCO|SUCTION|WEAVE)|TEXGEN_(?:DEFAULT|PLANAR)|SCULPT_(?:TYPE_(?:SPHERE|TORUS|PLANE|CYLINDER|MASK)|FLAG_(?:MIRROR|INVERT))|PHYSICS(?:_(?:SHAPE_(?:CONVEX|NONE|PRIM|TYPE)))?|(?:POS|ROT)_LOCAL|SLICE|TEXT|FLEXIBLE|POINT_LIGHT|TEMP_ON_REZ|PHANTOM|POSITION|SIZE|ROTATION|TEXTURE|NAME|OMEGA|DESC|LINK_TARGET|COLOR|BUMP_SHINY|FULLBRIGHT|TEXGEN|GLOW|MEDIA_(?:ALT_IMAGE_ENABLE|CONTROLS|(?:CURRENT|HOME)_URL|AUTO_(?:LOOP|PLAY|SCALE|ZOOM)|FIRST_CLICK_INTERACT|(?:WIDTH|HEIGHT)_PIXELS|WHITELIST(?:_ENABLE)?|PERMS_(?:INTERACT|CONTROL)|PARAM_MAX|CONTROLS_(?:STANDARD|MINI)|PERM_(?:NONE|OWNER|GROUP|ANYONE)|MAX_(?:URL_LENGTH|WHITELIST_(?:SIZE|COUNT)|(?:WIDTH|HEIGHT)_PIXELS)))|MASK_(?:BASE|OWNER|GROUP|EVERYONE|NEXT)|PERM_(?:TRANSFER|MODIFY|COPY|MOVE|ALL)|PARCEL_(?:MEDIA_COMMAND_(?:STOP|PAUSE|PLAY|LOOP|TEXTURE|URL|TIME|AGENT|UNLOAD|AUTO_ALIGN|TYPE|SIZE|DESC|LOOP_SET)|FLAG_(?:ALLOW_(?:FLY|(?:GROUP_)?SCRIPTS|LANDMARK|TERRAFORM|DAMAGE|CREATE_(?:GROUP_)?OBJECTS)|USE_(?:ACCESS_(?:GROUP|LIST)|BAN_LIST|LAND_PASS_LIST)|LOCAL_SOUND_ONLY|RESTRICT_PUSHOBJECT|ALLOW_(?:GROUP|ALL)_OBJECT_ENTRY)|COUNT_(?:TOTAL|OWNER|GROUP|OTHER|SELECTED|TEMP)|DETAILS_(?:NAME|DESC|OWNER|GROUP|AREA|ID|SEE_AVATARS))|LIST_STAT_(?:MAX|MIN|MEAN|MEDIAN|STD_DEV|SUM(?:_SQUARES)?|NUM_COUNT|GEOMETRIC_MEAN|RANGE)|PAY_(?:HIDE|DEFAULT)|REGION_FLAG_(?:ALLOW_DAMAGE|FIXED_SUN|BLOCK_TERRAFORM|SANDBOX|DISABLE_(?:COLLISIONS|PHYSICS)|BLOCK_FLY|ALLOW_DIRECT_TELEPORT|RESTRICT_PUSHOBJECT)|HTTP_(?:METHOD|MIMETYPE|BODY_(?:MAXLENGTH|TRUNCATED)|CUSTOM_HEADER|PRAGMA_NO_CACHE|VERBOSE_THROTTLE|VERIFY_CERT)|STRING_(?:TRIM(?:_(?:HEAD|TAIL))?)|CLICK_ACTION_(?:NONE|TOUCH|SIT|BUY|PAY|OPEN(?:_MEDIA)?|PLAY|ZOOM)|TOUCH_INVALID_FACE|PROFILE_(?:NONE|SCRIPT_MEMORY)|RC_(?:DATA_FLAGS|DETECT_PHANTOM|GET_(?:LINK_NUM|NORMAL|ROOT_KEY)|MAX_HITS|REJECT_(?:TYPES|AGENTS|(?:NON)?PHYSICAL|LAND))|RCERR_(?:CAST_TIME_EXCEEDED|SIM_PERF_LOW|UNKNOWN)|ESTATE_ACCESS_(?:ALLOWED_(?:AGENT|GROUP)_(?:ADD|REMOVE)|BANNED_AGENT_(?:ADD|REMOVE))|DENSITY|FRICTION|RESTITUTION|GRAVITY_MULTIPLIER|KFM_(?:COMMAND|CMD_(?:PLAY|STOP|PAUSE)|MODE|FORWARD|LOOP|PING_PONG|REVERSE|DATA|ROTATION|TRANSLATION)|ERR_(?:GENERIC|PARCEL_PERMISSIONS|MALFORMED_PARAMS|RUNTIME_PERMISSIONS|THROTTLED)|CHARACTER_(?:CMD_(?:(?:SMOOTH_)?STOP|JUMP)|DESIRED_(?:TURN_)?SPEED|RADIUS|STAY_WITHIN_PARCEL|LENGTH|ORIENTATION|ACCOUNT_FOR_SKIPPED_FRAMES|AVOIDANCE_MODE|TYPE(?:_(?:[ABCD]|NONE))?|MAX_(?:DECEL|TURN_RADIUS|(?:ACCEL|SPEED)))|PURSUIT_(?:OFFSET|FUZZ_FACTOR|GOAL_TOLERANCE|INTERCEPT)|REQUIRE_LINE_OF_SIGHT|FORCE_DIRECT_PATH|VERTICAL|HORIZONTAL|AVOID_(?:CHARACTERS|DYNAMIC_OBSTACLES|NONE)|PU_(?:EVADE_(?:HIDDEN|SPOTTED)|FAILURE_(?:DYNAMIC_PATHFINDING_DISABLED|INVALID_(?:GOAL|START)|NO_(?:NAVMESH|VALID_DESTINATION)|OTHER|TARGET_GONE|(?:PARCEL_)?UNREACHABLE)|(?:GOAL|SLOWDOWN_DISTANCE)_REACHED)|TRAVERSAL_TYPE(?:_(?:FAST|NONE|SLOW))?|CONTENT_TYPE_(?:ATOM|FORM|HTML|JSON|LLSD|RSS|TEXT|XHTML|XML)|GCNP_(?:RADIUS|STATIC)|(?:PATROL|WANDER)_PAUSE_AT_WAYPOINTS|OPT_(?:AVATAR|CHARACTER|EXCLUSION_VOLUME|LEGACY_LINKSET|MATERIAL_VOLUME|OTHER|STATIC_OBSTACLE|WALKABLE)|SIM_STAT_PCT_CHARS_STEPPED)\\b' 16589 }, 16590 { 16591 begin: '\\b(?:FALSE|TRUE)\\b' 16592 }, 16593 { 16594 begin: '\\b(?:ZERO_ROTATION)\\b' 16595 }, 16596 { 16597 begin: '\\b(?:EOF|JSON_(?:ARRAY|DELETE|FALSE|INVALID|NULL|NUMBER|OBJECT|STRING|TRUE)|NULL_KEY|TEXTURE_(?:BLANK|DEFAULT|MEDIA|PLYWOOD|TRANSPARENT)|URL_REQUEST_(?:GRANTED|DENIED))\\b' 16598 }, 16599 { 16600 begin: '\\b(?:ZERO_VECTOR|TOUCH_INVALID_(?:TEXCOORD|VECTOR))\\b' 16601 } 16602 ] 16603 }; 16604 16605 var LSL_FUNCTIONS = { 16606 className: 'built_in', 16607 begin: '\\b(?:ll(?:AgentInExperience|(?:Create|DataSize|Delete|KeyCount|Keys|Read|Update)KeyValue|GetExperience(?:Details|ErrorMessage)|ReturnObjectsBy(?:ID|Owner)|Json(?:2List|[GS]etValue|ValueType)|Sin|Cos|Tan|Atan2|Sqrt|Pow|Abs|Fabs|Frand|Floor|Ceil|Round|Vec(?:Mag|Norm|Dist)|Rot(?:Between|2(?:Euler|Fwd|Left|Up))|(?:Euler|Axes)2Rot|Whisper|(?:Region|Owner)?Say|Shout|Listen(?:Control|Remove)?|Sensor(?:Repeat|Remove)?|Detected(?:Name|Key|Owner|Type|Pos|Vel|Grab|Rot|Group|LinkNumber)|Die|Ground|Wind|(?:[GS]et)(?:AnimationOverride|MemoryLimit|PrimMediaParams|ParcelMusicURL|Object(?:Desc|Name)|PhysicsMaterial|Status|Scale|Color|Alpha|Texture|Pos|Rot|Force|Torque)|ResetAnimationOverride|(?:Scale|Offset|Rotate)Texture|(?:Rot)?Target(?:Remove)?|(?:Stop)?MoveToTarget|Apply(?:Rotational)?Impulse|Set(?:KeyframedMotion|ContentType|RegionPos|(?:Angular)?Velocity|Buoyancy|HoverHeight|ForceAndTorque|TimerEvent|ScriptState|Damage|TextureAnim|Sound(?:Queueing|Radius)|Vehicle(?:Type|(?:Float|Vector|Rotation)Param)|(?:Touch|Sit)?Text|Camera(?:Eye|At)Offset|PrimitiveParams|ClickAction|Link(?:Alpha|Color|PrimitiveParams(?:Fast)?|Texture(?:Anim)?|Camera|Media)|RemoteScriptAccessPin|PayPrice|LocalRot)|ScaleByFactor|Get(?:(?:Max|Min)ScaleFactor|ClosestNavPoint|StaticPath|SimStats|Env|PrimitiveParams|Link(?:PrimitiveParams|Number(?:OfSides)?|Key|Name|Media)|HTTPHeader|FreeURLs|Object(?:Details|PermMask|PrimCount)|Parcel(?:MaxPrims|Details|Prim(?:Count|Owners))|Attached(?:List)?|(?:SPMax|Free|Used)Memory|Region(?:Name|TimeDilation|FPS|Corner|AgentCount)|Root(?:Position|Rotation)|UnixTime|(?:Parcel|Region)Flags|(?:Wall|GMT)clock|SimulatorHostname|BoundingBox|GeometricCenter|Creator|NumberOf(?:Prims|NotecardLines|Sides)|Animation(?:List)?|(?:Camera|Local)(?:Pos|Rot)|Vel|Accel|Omega|Time(?:stamp|OfDay)|(?:Object|CenterOf)?Mass|MassMKS|Energy|Owner|(?:Owner)?Key|SunDirection|Texture(?:Offset|Scale|Rot)|Inventory(?:Number|Name|Key|Type|Creator|PermMask)|Permissions(?:Key)?|StartParameter|List(?:Length|EntryType)|Date|Agent(?:Size|Info|Language|List)|LandOwnerAt|NotecardLine|Script(?:Name|State))|(?:Get|Reset|GetAndReset)Time|PlaySound(?:Slave)?|LoopSound(?:Master|Slave)?|(?:Trigger|Stop|Preload)Sound|(?:(?:Get|Delete)Sub|Insert)String|To(?:Upper|Lower)|Give(?:InventoryList|Money)|RezObject|(?:Stop)?LookAt|Sleep|CollisionFilter|(?:Take|Release)Controls|DetachFromAvatar|AttachToAvatar(?:Temp)?|InstantMessage|(?:GetNext)?Email|StopHover|MinEventDelay|RotLookAt|String(?:Length|Trim)|(?:Start|Stop)Animation|TargetOmega|Request(?:Experience)?Permissions|(?:Create|Break)Link|BreakAllLinks|(?:Give|Remove)Inventory|Water|PassTouches|Request(?:Agent|Inventory)Data|TeleportAgent(?:Home|GlobalCoords)?|ModifyLand|CollisionSound|ResetScript|MessageLinked|PushObject|PassCollisions|AxisAngle2Rot|Rot2(?:Axis|Angle)|A(?:cos|sin)|AngleBetween|AllowInventoryDrop|SubStringIndex|List2(?:CSV|Integer|Json|Float|String|Key|Vector|Rot|List(?:Strided)?)|DeleteSubList|List(?:Statistics|Sort|Randomize|(?:Insert|Find|Replace)List)|EdgeOfWorld|AdjustSoundVolume|Key2Name|TriggerSoundLimited|EjectFromLand|(?:CSV|ParseString)2List|OverMyLand|SameGroup|UnSit|Ground(?:Slope|Normal|Contour)|GroundRepel|(?:Set|Remove)VehicleFlags|(?:AvatarOn)?(?:Link)?SitTarget|Script(?:Danger|Profiler)|Dialog|VolumeDetect|ResetOtherScript|RemoteLoadScriptPin|(?:Open|Close)RemoteDataChannel|SendRemoteData|RemoteDataReply|(?:Integer|String)ToBase64|XorBase64|Log(?:10)?|Base64To(?:String|Integer)|ParseStringKeepNulls|RezAtRoot|RequestSimulatorData|ForceMouselook|(?:Load|Release|(?:E|Une)scape)URL|ParcelMedia(?:CommandList|Query)|ModPow|MapDestination|(?:RemoveFrom|AddTo|Reset)Land(?:Pass|Ban)List|(?:Set|Clear)CameraParams|HTTP(?:Request|Response)|TextBox|DetectedTouch(?:UV|Face|Pos|(?:N|Bin)ormal|ST)|(?:MD5|SHA1|DumpList2)String|Request(?:Secure)?URL|Clear(?:Prim|Link)Media|(?:Link)?ParticleSystem|(?:Get|Request)(?:Username|DisplayName)|RegionSayTo|CastRay|GenerateKey|TransferLindenDollars|ManageEstateAccess|(?:Create|Delete)Character|ExecCharacterCmd|Evade|FleeFrom|NavigateTo|PatrolPoints|Pursue|UpdateCharacter|WanderWithin))\\b' 16608 }; 16609 16610 return { 16611 illegal: ':', 16612 contains: [ 16613 LSL_STRINGS, 16614 { 16615 className: 'comment', 16616 variants: [ 16617 hljs.COMMENT('//', '$'), 16618 hljs.COMMENT('/\\*', '\\*/') 16619 ] 16620 }, 16621 LSL_NUMBERS, 16622 { 16623 className: 'section', 16624 variants: [ 16625 { 16626 begin: '\\b(?:state|default)\\b' 16627 }, 16628 { 16629 begin: '\\b(?:state_(?:entry|exit)|touch(?:_(?:start|end))?|(?:land_)?collision(?:_(?:start|end))?|timer|listen|(?:no_)?sensor|control|(?:not_)?at_(?:rot_)?target|money|email|experience_permissions(?:_denied)?|run_time_permissions|changed|attach|dataserver|moving_(?:start|end)|link_message|(?:on|object)_rez|remote_data|http_re(?:sponse|quest)|path_update|transaction_result)\\b' 16630 } 16631 ] 16632 }, 16633 LSL_FUNCTIONS, 16634 LSL_CONSTANTS, 16635 { 16636 className: 'type', 16637 begin: '\\b(?:integer|float|string|key|vector|quaternion|rotation|list)\\b' 16638 } 16639 ] 16640 }; 16641 } 16642 },{name:"lua",create:/* 16643 Language: Lua 16644 Author: Andrew Fedorov <dmmdrs@mail.ru> 16645 Category: scripting 16646 */ 16647 16648 function(hljs) { 16649 var OPENING_LONG_BRACKET = '\\[=*\\['; 16650 var CLOSING_LONG_BRACKET = '\\]=*\\]'; 16651 var LONG_BRACKETS = { 16652 begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET, 16653 contains: ['self'] 16654 }; 16655 var COMMENTS = [ 16656 hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'), 16657 hljs.COMMENT( 16658 '--' + OPENING_LONG_BRACKET, 16659 CLOSING_LONG_BRACKET, 16660 { 16661 contains: [LONG_BRACKETS], 16662 relevance: 10 16663 } 16664 ) 16665 ]; 16666 return { 16667 lexemes: hljs.UNDERSCORE_IDENT_RE, 16668 keywords: { 16669 literal: "true false nil", 16670 keyword: "and break do else elseif end for goto if in local not or repeat return then until while", 16671 built_in: 16672 //Metatags and globals: 16673 '_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len ' + 16674 '__gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert ' + 16675 //Standard methods and properties: 16676 'collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring' + 16677 'module next pairs pcall print rawequal rawget rawset require select setfenv' + 16678 'setmetatable tonumber tostring type unpack xpcall arg self' + 16679 //Library methods and properties (one line per library): 16680 'coroutine resume yield status wrap create running debug getupvalue ' + 16681 'debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv ' + 16682 'io lines write close flush open output type read stderr stdin input stdout popen tmpfile ' + 16683 'math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan ' + 16684 'os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall ' + 16685 'string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower ' + 16686 'table setn insert getn foreachi maxn foreach concat sort remove' 16687 }, 16688 contains: COMMENTS.concat([ 16689 { 16690 className: 'function', 16691 beginKeywords: 'function', end: '\\)', 16692 contains: [ 16693 hljs.inherit(hljs.TITLE_MODE, {begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*'}), 16694 { 16695 className: 'params', 16696 begin: '\\(', endsWithParent: true, 16697 contains: COMMENTS 16698 } 16699 ].concat(COMMENTS) 16700 }, 16701 hljs.C_NUMBER_MODE, 16702 hljs.APOS_STRING_MODE, 16703 hljs.QUOTE_STRING_MODE, 16704 { 16705 className: 'string', 16706 begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET, 16707 contains: [LONG_BRACKETS], 16708 relevance: 5 16709 } 16710 ]) 16711 }; 16712 } 16713 },{name:"makefile",create:/* 16714 Language: Makefile 16715 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 16716 Contributors: Joël Porquet <joel@porquet.org> 16717 Category: common 16718 */ 16719 16720 function(hljs) { 16721 /* Variables: simple (eg $(var)) and special (eg $@) */ 16722 var VARIABLE = { 16723 className: 'variable', 16724 variants: [ 16725 { 16726 begin: '\\$\\(' + hljs.UNDERSCORE_IDENT_RE + '\\)', 16727 contains: [hljs.BACKSLASH_ESCAPE], 16728 }, 16729 { 16730 begin: /\$[@%<?\^\+\*]/ 16731 }, 16732 ] 16733 }; 16734 /* Quoted string with variables inside */ 16735 var QUOTE_STRING = { 16736 className: 'string', 16737 begin: /"/, end: /"/, 16738 contains: [ 16739 hljs.BACKSLASH_ESCAPE, 16740 VARIABLE, 16741 ] 16742 }; 16743 /* Function: $(func arg,...) */ 16744 var FUNC = { 16745 className: 'variable', 16746 begin: /\$\([\w-]+\s/, end: /\)/, 16747 keywords: { 16748 built_in: 16749 'subst patsubst strip findstring filter filter-out sort ' + 16750 'word wordlist firstword lastword dir notdir suffix basename ' + 16751 'addsuffix addprefix join wildcard realpath abspath error warning ' + 16752 'shell origin flavor foreach if or and call eval file value', 16753 }, 16754 contains: [ 16755 VARIABLE, 16756 ] 16757 }; 16758 /* Variable assignment */ 16759 var VAR_ASSIG = { 16760 begin: '^' + hljs.UNDERSCORE_IDENT_RE + '\\s*[:+?]?=', 16761 illegal: '\\n', 16762 returnBegin: true, 16763 contains: [ 16764 { 16765 begin: '^' + hljs.UNDERSCORE_IDENT_RE, end: '[:+?]?=', 16766 excludeEnd: true, 16767 } 16768 ] 16769 }; 16770 /* Meta targets (.PHONY) */ 16771 var META = { 16772 className: 'meta', 16773 begin: /^\.PHONY:/, end: /$/, 16774 keywords: {'meta-keyword': '.PHONY'}, 16775 lexemes: /[\.\w]+/ 16776 }; 16777 /* Targets */ 16778 var TARGET = { 16779 className: 'section', 16780 begin: /^[^\s]+:/, end: /$/, 16781 contains: [VARIABLE,] 16782 }; 16783 return { 16784 aliases: ['mk', 'mak'], 16785 keywords: 16786 'define endef undefine ifdef ifndef ifeq ifneq else endif ' + 16787 'include -include sinclude override export unexport private vpath', 16788 lexemes: /[\w-]+/, 16789 contains: [ 16790 hljs.HASH_COMMENT_MODE, 16791 VARIABLE, 16792 QUOTE_STRING, 16793 FUNC, 16794 VAR_ASSIG, 16795 META, 16796 TARGET, 16797 ] 16798 }; 16799 } 16800 },{name:"markdown",create:/* 16801 Language: Markdown 16802 Requires: xml.js 16803 Author: John Crepezzi <john.crepezzi@gmail.com> 16804 Website: http://seejohncode.com/ 16805 Category: common, markup 16806 */ 16807 16808 function(hljs) { 16809 return { 16810 aliases: ['md', 'mkdown', 'mkd'], 16811 contains: [ 16812 // highlight headers 16813 { 16814 className: 'section', 16815 variants: [ 16816 { begin: '^#{1,6}', end: '$' }, 16817 { begin: '^.+?\\n[=-]{2,}$' } 16818 ] 16819 }, 16820 // inline html 16821 { 16822 begin: '<', end: '>', 16823 subLanguage: 'xml', 16824 relevance: 0 16825 }, 16826 // lists (indicators only) 16827 { 16828 className: 'bullet', 16829 begin: '^\\s*([*+-]|(\\d+\\.))\\s+' 16830 }, 16831 // strong segments 16832 { 16833 className: 'strong', 16834 begin: '[*_]{2}.+?[*_]{2}' 16835 }, 16836 // emphasis segments 16837 { 16838 className: 'emphasis', 16839 variants: [ 16840 { begin: '\\*.+?\\*' }, 16841 { begin: '_.+?_' 16842 , relevance: 0 16843 } 16844 ] 16845 }, 16846 // blockquotes 16847 { 16848 className: 'quote', 16849 begin: '^>\\s+', end: '$' 16850 }, 16851 // code snippets 16852 { 16853 className: 'code', 16854 variants: [ 16855 { 16856 begin: '^```\w*\s*$', end: '^```\s*$' 16857 }, 16858 { 16859 begin: '`.+?`' 16860 }, 16861 { 16862 begin: '^( {4}|\t)', end: '$', 16863 relevance: 0 16864 } 16865 ] 16866 }, 16867 // horizontal rules 16868 { 16869 begin: '^[-\\*]{3,}', end: '$' 16870 }, 16871 // using links - title and link 16872 { 16873 begin: '\\[.+?\\][\\(\\[].*?[\\)\\]]', 16874 returnBegin: true, 16875 contains: [ 16876 { 16877 className: 'string', 16878 begin: '\\[', end: '\\]', 16879 excludeBegin: true, 16880 returnEnd: true, 16881 relevance: 0 16882 }, 16883 { 16884 className: 'link', 16885 begin: '\\]\\(', end: '\\)', 16886 excludeBegin: true, excludeEnd: true 16887 }, 16888 { 16889 className: 'symbol', 16890 begin: '\\]\\[', end: '\\]', 16891 excludeBegin: true, excludeEnd: true 16892 } 16893 ], 16894 relevance: 10 16895 }, 16896 { 16897 begin: /^\[[^\n]+\]:/, 16898 returnBegin: true, 16899 contains: [ 16900 { 16901 className: 'symbol', 16902 begin: /\[/, end: /\]/, 16903 excludeBegin: true, excludeEnd: true 16904 }, 16905 { 16906 className: 'link', 16907 begin: /:\s*/, end: /$/, 16908 excludeBegin: true 16909 } 16910 ] 16911 } 16912 ] 16913 }; 16914 } 16915 },{name:"mathematica",create:/* 16916 Language: Mathematica 16917 Authors: Daniel Kvasnicka <dkvasnicka@vendavo.com>, Jan Poeschko <jan@poeschko.com> 16918 Category: scientific 16919 */ 16920 16921 function(hljs) { 16922 return { 16923 aliases: ['mma', 'wl'], 16924 lexemes: '(\\$|\\b)' + hljs.IDENT_RE + '\\b', 16925 // 16926 // The list of "keywords" (System` symbols) was determined by evaluating the following Wolfram Language code in Mathematica 12.0: 16927 // 16928 // StringRiffle[ 16929 // "'" <> StringRiffle[#, " "] <> "'" & /@ 16930 // Values[GroupBy[ 16931 // Select[Names["System`*"], 16932 // StringStartsQ[#, CharacterRange["A", "Z"] | "$"] &], 16933 // First[Characters[#]] &]], " +\n"] 16934 // 16935 keywords: 'AASTriangle AbelianGroup Abort AbortKernels AbortProtect AbortScheduledTask Above Abs AbsArg AbsArgPlot Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AcceptanceThreshold AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Activate Active ActiveClassification ActiveClassificationObject ActiveItem ActivePrediction ActivePredictionObject ActiveStyle AcyclicGraphQ AddOnHelpPath AddSides AddTo AddToSearchIndex AddUsers AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AdministrativeDivisionData AffineHalfSpace AffineSpace AffineStateSpaceModel AffineTransform After AggregatedEntityClass AggregationLayer AircraftData AirportData AirPressureData AirTemperatureData AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowAdultContent AllowedCloudExtraParameters AllowedCloudParameterExtensions AllowedDimensions AllowedFrequencyRange AllowedHeads AllowGroupClose AllowIncomplete AllowInlineCells AllowKernelInitialization AllowLooseGrammar AllowReverseGroupClose AllowScriptLevelChange AllTrue Alphabet AlphabeticOrder AlphabeticSort AlphaChannel AlternateImage AlternatingFactorial AlternatingGroup AlternativeHypothesis Alternatives AltitudeMethod AmbientLight AmbiguityFunction AmbiguityList Analytic AnatomyData AnatomyForm AnatomyPlot3D AnatomySkinStyle AnatomyStyling AnchoredSearch And AndersonDarlingTest AngerJ AngleBisector AngleBracket AnglePath AnglePath3D AngleVector AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning AnimationRunTime AnimationTimeIndex Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotate Annotation AnnotationDelete AnnotationNames AnnotationRules AnnotationValue Annuity AnnuityDue Annulus AnomalyDetection AnomalyDetectorFunction Anonymous Antialiasing AntihermitianMatrixQ Antisymmetric AntisymmetricMatrixQ Antonyms AnyOrder AnySubset AnyTrue Apart ApartSquareFree APIFunction Appearance AppearanceElements AppearanceRules AppellF1 Append AppendCheck AppendLayer AppendTo ApplicationIdentificationKey Apply ApplySides ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcCurvature ARCHProcess ArcLength ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Area Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess Around AroundReplace ARProcess Array ArrayComponents ArrayDepth ArrayFilter ArrayFlatten ArrayMesh ArrayPad ArrayPlot ArrayQ ArrayResample ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads ASATriangle Ask AskAppend AskConfirm AskDisplay AskedQ AskedValue AskFunction AskState AskTemplateDisplay AspectRatio AspectRatioFixed Assert AssociateTo Association AssociationFormat AssociationMap AssociationQ AssociationThread AssumeDeterministic Assuming Assumptions AstronomicalData AsymptoticDSolveValue AsymptoticEqual AsymptoticEquivalent AsymptoticGreater AsymptoticGreaterEqual AsymptoticIntegrate AsymptoticLess AsymptoticLessEqual AsymptoticOutputTracker AsymptoticRSolveValue AsymptoticSolve AsymptoticSum Asynchronous AsynchronousTaskObject AsynchronousTasks Atom AtomCoordinates AtomCount AtomDiagramCoordinates AtomList AtomQ AttentionLayer Attributes Audio AudioAmplify AudioAnnotate AudioAnnotationLookup AudioBlockMap AudioCapture AudioChannelAssignment AudioChannelCombine AudioChannelMix AudioChannels AudioChannelSeparate AudioData AudioDelay AudioDelete AudioDevice AudioDistance AudioFade AudioFrequencyShift AudioGenerator AudioIdentify AudioInputDevice AudioInsert AudioIntervals AudioJoin AudioLabel AudioLength AudioLocalMeasurements AudioLooping AudioLoudness AudioMeasurements AudioNormalize AudioOutputDevice AudioOverlay AudioPad AudioPan AudioPartition AudioPause AudioPitchShift AudioPlay AudioPlot AudioQ AudioRecord AudioReplace AudioResample AudioReverb AudioSampleRate AudioSpectralMap AudioSpectralTransformation AudioSplit AudioStop AudioStream AudioStreams AudioTimeStretch AudioTrim AudioType AugmentedPolyhedron AugmentedSymmetricPolynomial Authenticate Authentication AuthenticationDialog AutoAction Autocomplete AutocompletionFunction AutoCopy AutocorrelationTest AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutoQuoteCharacters AutoRefreshed AutoRemove AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords AutoSubmitting Axes AxesEdge AxesLabel AxesOrigin AxesStyle AxiomaticTheory Axis' + 16936 'BabyMonsterGroupB Back Background BackgroundAppearance BackgroundTasksSettings Backslash Backsubstitution Backward Ball Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarcodeImage BarcodeRecognize BaringhausHenzeTest BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseDecode BaseEncode BaseForm Baseline BaselinePosition BaseStyle BasicRecurrentLayer BatchNormalizationLayer BatchSize BatesDistribution BattleLemarieWavelet BayesianMaximization BayesianMaximizationObject BayesianMinimization BayesianMinimizationObject Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized Between BetweennessCentrality BeveledPolyhedron BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryDeserialize BinaryDistance BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinarySerialize BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BiquadraticFilterModel BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor BiweightLocation BiweightMidvariance Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockchainAddressData BlockchainBase BlockchainBlockData BlockchainContractValue BlockchainData BlockchainGet BlockchainKeyEncode BlockchainPut BlockchainTokenData BlockchainTransaction BlockchainTransactionData BlockchainTransactionSign BlockchainTransactionSubmit BlockMap BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bond BondCount BondList BondQ Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms BooleanQ BooleanRegion Booleans BooleanStrings BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryDiscretizeGraphics BoundaryDiscretizeRegion BoundaryMesh BoundaryMeshRegion BoundaryMeshRegionQ BoundaryStyle BoundedRegionQ BoundingRegion Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxObject BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break BridgeData BrightnessEqualize BroadcastStationData Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurve3DBoxOptions BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BSplineSurface3DBoxOptions BubbleChart BubbleChart3D BubbleScale BubbleSizes BuildingData BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteArray ByteArrayFormat ByteArrayQ ByteArrayToString ByteCount ByteOrdering' + 16937 'C CachedValue CacheGraphics CachePersistence CalendarConvert CalendarData CalendarType Callout CalloutMarker CalloutStyle CallPacket CanberraDistance Cancel CancelButton CandlestickChart CanonicalGraph CanonicalizePolygon CanonicalizePolyhedron CanonicalName CanonicalWarpingCorrespondence CanonicalWarpingDistance CantorMesh CantorStaircase Cap CapForm CapitalDifferentialD Capitalize CapsuleShape CaptureRunning CardinalBSplineBasis CarlemanLinearize CarmichaelLambda CaseOrdering Cases CaseSensitive Cashflow Casoratian Catalan CatalanNumber Catch Catenate CatenateLayer CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling CelestialSystem Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEvaluationLanguage CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellLabelStyle CellLabelTemplate CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterArray CenterDot CentralFeature CentralMoment CentralMomentGeneratingFunction Cepstrogram CepstrogramArray CepstrumArray CForm ChampernowneNumber ChangeOptions ChannelBase ChannelBrokerAction ChannelDatabin ChannelHistoryLength ChannelListen ChannelListener ChannelListeners ChannelListenerWait ChannelObject ChannelPreSendFunction ChannelReceiverFunction ChannelSend ChannelSubscribers ChanVeseBinarize Character CharacterCounts CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterName CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop ChromaticityPlot ChromaticityPlot3D ChromaticPolynomial Circle CircleBox CircleDot CircleMinus CirclePlus CirclePoints CircleThrough CircleTimes CirculantGraph CircularOrthogonalMatrixDistribution CircularQuaternionMatrixDistribution CircularRealMatrixDistribution CircularSymplecticMatrixDistribution CircularUnitaryMatrixDistribution Circumsphere CityData ClassifierFunction ClassifierInformation ClassifierMeasurements ClassifierMeasurementsObject Classify ClassPriors Clear ClearAll ClearAttributes ClearCookies ClearPermissions ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipPlanesStyle ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent CloudAccountData CloudBase CloudConnect CloudDeploy CloudDirectory CloudDisconnect CloudEvaluate CloudExport CloudExpression CloudExpressions CloudFunction CloudGet CloudImport CloudLoggingData CloudObject CloudObjectInformation CloudObjectInformationData CloudObjectNameFormat CloudObjects CloudObjectURLType CloudPublish CloudPut CloudRenderingMethod CloudSave CloudShare CloudSubmit CloudSymbol CloudUnshare ClusterClassify ClusterDissimilarityFunction ClusteringComponents ClusteringTree CMYKColor Coarse CodeAssistOptions Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorBalance ColorCombine ColorConvert ColorCoverage ColorData ColorDataFunction ColorDetect ColorDistance ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQ ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorsNear ColorSpace ColorToneMapping Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CombinedEntityClass CombinerFunction CometData CommonDefaultFormatTypes Commonest CommonestFilter CommonName CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompanyData CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledCodeFunction CompiledFunction CompilerOptions Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComplexListPlot ComplexPlot ComplexPlot3D ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries CompositeQ Composition CompoundElement CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData ComputeUncertainty Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath ConformAudio ConformImages Congruent ConicHullRegion ConicHullRegion3DBox ConicHullRegionBox ConicOptimization Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphComponents ConnectedGraphQ ConnectedMeshComponents ConnectedMoleculeComponents ConnectedMoleculeQ ConnectionSettings ConnectLibraryCallbackFunction ConnectSystemModelComponents ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray ConstantArrayLayer ConstantImage ConstantPlusLayer ConstantRegionQ Constants ConstantTimesLayer ConstellationData ConstrainedMax ConstrainedMin Construct Containing ContainsAll ContainsAny ContainsExactly ContainsNone ContainsOnly ContentFieldOptions ContentLocationFunction ContentObject ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTask ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean ContrastiveLossLayer Control ControlActive ControlAlignment ControlGroupContentsBox ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket ConvexHullMesh ConvexPolygonQ ConvexPolyhedronQ ConvolutionLayer Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CookieFunction Cookies CoordinateBoundingBox CoordinateBoundingBoxArray CoordinateBounds CoordinateBoundsArray CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDatabin CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CountDistinct CountDistinctBy CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Counts CountsBy Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateCellID CreateChannel CreateCloudExpression CreateDatabin CreateDataSystemModel CreateDialog CreateDirectory CreateDocument CreateFile CreateIntermediateDirectories CreateManagedLibraryExpression CreateNotebook CreatePalette CreatePalettePacket CreatePermissionsGroup CreateScheduledTask CreateSearchIndex CreateSystemModel CreateTemporary CreateUUID CreateWindow CriterionFunction CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossEntropyLossLayer CrossingCount CrossingDetect CrossingPolygon CrossMatrix Csc Csch CTCLossLayer Cube CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrencyConvert CurrentDate CurrentImage CurrentlySpeakingPacket CurrentNotebookImage CurrentScreenImage CurrentValue Curry CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition' + 16938 'D DagumDistribution DamData DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DatabaseConnect DatabaseDisconnect DatabaseReference Databin DatabinAdd DatabinRemove Databins DatabinUpload DataCompression DataDistribution DataRange DataReversed Dataset Date DateBounds Dated DateDelimiters DateDifference DatedUnit DateFormat DateFunction DateHistogram DateList DateListLogPlot DateListPlot DateListStepPlot DateObject DateObjectQ DateOverlapsQ DatePattern DatePlus DateRange DateReduction DateString DateTicksFormat DateValue DateWithinQ DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayHemisphere DaylightQ DayMatchQ DayName DayNightTerminator DayPlus DayRange DayRound DeBruijnGraph DeBruijnSequence Debug DebugTag Decapitalize Decimal DecimalForm DeclareKnownSymbols DeclarePackage Decompose DeconvolutionLayer Decrement Decrypt DecryptFile DedekindEta DeepSpaceProbeData Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultPrintPrecision DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValue DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod DefineResourceFunction Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic DEigensystem DEigenvalues Deinitialization Del DelaunayMesh Delayed Deletable Delete DeleteAnomalies DeleteBorderComponents DeleteCases DeleteChannel DeleteCloudExpression DeleteContents DeleteDirectory DeleteDuplicates DeleteDuplicatesBy DeleteFile DeleteMissing DeleteObject DeletePermissionsKey DeleteSearchIndex DeleteSmallComponents DeleteStopwords DeleteWithContents DeletionWarning DelimitedArray DelimitedSequence Delimiter DelimiterFlashTime DelimiterMatching Delimiters DeliveryFunction Dendrogram Denominator DensityGraphics DensityHistogram DensityPlot DensityPlot3D DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DerivedKey DescriptorStateSpace DesignMatrix DestroyAfterEvaluation Det DeviceClose DeviceConfigure DeviceExecute DeviceExecuteAsynchronous DeviceObject DeviceOpen DeviceOpenQ DeviceRead DeviceReadBuffer DeviceReadLatest DeviceReadList DeviceReadTimeSeries Devices DeviceStreams DeviceWrite DeviceWriteBuffer DGaussianWavelet DiacriticalPositioning Diagonal DiagonalizableMatrixQ DiagonalMatrix DiagonalMatrixQ Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DictionaryWordQ DifferenceDelta DifferenceOrder DifferenceQuotient DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitalSignature DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralAngle DihedralGroup Dilation DimensionalCombinations DimensionalMeshComponents DimensionReduce DimensionReducerFunction DimensionReduction Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletBeta DirichletCharacter DirichletCondition DirichletConvolve DirichletDistribution DirichletEta DirichletL DirichletLambda DirichletTransform DirichletWindow DisableConsolePrintPacket DisableFormatting DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLimit DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscreteMaxLimit DiscreteMinLimit DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform DiscretizeGraphics DiscretizeRegion Discriminant DisjointQ Disjunction Disk DiskBox DiskMatrix DiskSegment Dispatch DispatchQ DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceMatrix DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers DivideSides Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentGenerator DocumentGeneratorInformation DocumentGeneratorInformationData DocumentGenerators DocumentNotebook DocumentWeightingRules Dodecahedron DomainRegistrationInformation DominantColors DOSTextFormat Dot DotDashed DotEqual DotLayer DotPlusLayer Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DropoutLayer DSolve DSolveValue Dt DualLinearProgramming DualPolyhedron DualSystemsModel DumpGet DumpSave DuplicateFreeQ Duration Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicGeoGraphics DynamicImage DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions' + 16939 'E EarthImpactData EarthquakeData EccentricityCentrality Echo EchoFunction EclipseType EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeContract EdgeCost EdgeCount EdgeCoverQ EdgeCycleMatrix EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight EdgeWeightedGraphQ Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData ElementwiseLayer ElidedForms Eliminate EliminationOrder Ellipsoid EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmbedCode EmbeddedHTML EmbeddedService EmbeddingLayer EmbeddingObject EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EmptyRegion EnableConsolePrintPacket Enabled Encode Encrypt EncryptedObject EncryptFile End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfBuffer EndOfFile EndOfLine EndOfString EndPackage EngineEnvironment EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entity EntityClass EntityClassList EntityCopies EntityFunction EntityGroup EntityInstance EntityList EntityPrefetch EntityProperties EntityProperty EntityPropertyClass EntityRegister EntityStore EntityStores EntityTypeName EntityUnregister EntityValue Entropy EntropyFilter Environment Epilog EpilogFunction Equal EqualColumns EqualRows EqualTilde EqualTo EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EscapeRadius EstimatedBackground EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerAngles EulerCharacteristic EulerE EulerGamma EulerianGraphQ EulerMatrix EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluateScheduledTask EvaluationBox EvaluationCell EvaluationCompletionAction EvaluationData EvaluationElements EvaluationEnvironment EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels EventSeries ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludedLines ExcludedPhysicalQuantities ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog ExoplanetData Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi ExpirationDate Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportByteArray ExportForm ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpressionUUID ExpToTrig ExtendedEntityClass ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalBundle ExternalCall ExternalDataCharacterEncoding ExternalEvaluate ExternalFunction ExternalFunctionName ExternalObject ExternalOptions ExternalSessionObject ExternalSessions ExternalTypeSignature ExternalValue Extract ExtractArchive ExtractLayer ExtremeValueDistribution' + 16940 'FaceForm FaceGrids FaceGridsStyle FacialFeatures Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail Failure FailureAction FailureDistribution FailureQ False FareySequence FARIMAProcess FeatureDistance FeatureExtract FeatureExtraction FeatureExtractor FeatureExtractorFunction FeatureNames FeatureNearest FeatureSpacePlot FeatureSpacePlot3D FeatureTypes FEDisableConsolePrintPacket FeedbackLinearize FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket FetalGrowthData Fibonacci Fibonorial FieldCompletionFunction FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileConvert FileDate FileExistsQ FileExtension FileFormat FileHandler FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameForms FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileSize FileSystemMap FileSystemScan FileTemplate FileTemplateApply FileType FilledCurve FilledCurveBox FilledCurveBoxOptions Filling FillingStyle FillingTransform FilteredEntityClass FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindAnomalies FindArgMax FindArgMin FindChannels FindClique FindClusters FindCookies FindCurvePath FindCycle FindDevices FindDistribution FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEdgeIndependentPaths FindEquationalProof FindEulerianCycle FindExternalEvaluators FindFaces FindFile FindFit FindFormula FindFundamentalCycles FindGeneratingFunction FindGeoLocation FindGeometricConjectures FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindHamiltonianPath FindHiddenMarkovStates FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMatchingColor FindMaximum FindMaximumFlow FindMaxValue FindMeshDefects FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindMoleculeSubstructure FindPath FindPeaks FindPermutation FindPostmanTour FindProcessParameters FindRepeat FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindSpanningTree FindSystemModelEquilibrium FindTextualAnswer FindThreshold FindTransientRepeat FindVertexCover FindVertexCut FindVertexIndependentPaths Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstCase FirstPassageTimeDistribution FirstPosition FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FitRegularization FittedModel FixedOrder FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlattenLayer FlatTopWindow FlipView Floor FlowPolynomial FlushPrintOutputPacket Fold FoldList FoldPair FoldPairList FollowRedirects Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FormControl FormFunction FormLayoutFunction FormObject FormPage FormTheme FormulaData FormulaLookup FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalGaussianNoiseProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameRate FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrenetSerretSystem FrequencySamplingFilterKernel FresnelC FresnelF FresnelG FresnelS Friday FrobeniusNumber FrobeniusSolve FromAbsoluteTime FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS FromEntity FromJulianDate FromLetterNumber FromPolarCoordinates FromRomanNumeral FromSphericalCoordinates FromUnixTime Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullInformationOutputRegulator FullOptions FullRegion FullSimplify Function FunctionCompile FunctionCompileExport FunctionCompileExportByteArray FunctionCompileExportLibrary FunctionCompileExportString FunctionDomain FunctionExpand FunctionInterpolation FunctionPeriod FunctionRange FunctionSpace FussellVeselyImportance' + 16941 'GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins GalaxyData GalleryView Gamma GammaDistribution GammaRegularized GapPenalty GARCHProcess GatedRecurrentLayer Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianOrthogonalMatrixDistribution GaussianSymplecticMatrixDistribution GaussianUnitaryMatrixDistribution GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateAsymmetricKeyPair GenerateConditions GeneratedCell GeneratedDocumentBinding GenerateDerivedKey GenerateDigitalSignature GenerateDocument GeneratedParameters GeneratedQuantityMagnitudes GenerateHTTPResponse GenerateSecuredAuthenticationKey GenerateSymmetricKey GeneratingFunction GeneratorDescription GeneratorHistoryLength GeneratorOutputType Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeoAntipode GeoArea GeoArraySize GeoBackground GeoBoundingBox GeoBounds GeoBoundsRegion GeoBubbleChart GeoCenter GeoCircle GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDisk GeoDisplacement GeoDistance GeoDistanceList GeoElevationData GeoEntities GeoGraphics GeogravityModelData GeoGridDirectionDifference GeoGridLines GeoGridLinesStyle GeoGridPosition GeoGridRange GeoGridRangePadding GeoGridUnitArea GeoGridUnitDistance GeoGridVector GeoGroup GeoHemisphere GeoHemisphereBoundary GeoHistogram GeoIdentify GeoImage GeoLabels GeoLength GeoListPlot GeoLocation GeologicalPeriodData GeomagneticModelData GeoMarker GeometricAssertion GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricScene GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoModel GeoNearest GeoPath GeoPosition GeoPositionENU GeoPositionXYZ GeoProjection GeoProjectionData GeoRange GeoRangePadding GeoRegionValuePlot GeoResolution GeoScaleBar GeoServer GeoSmoothHistogram GeoStreamPlot GeoStyling GeoStylingImageFunction GeoVariant GeoVector GeoVectorENU GeoVectorPlot GeoVectorXYZ GeoVisibleRegion GeoVisibleRegionBoundary GeoWithinQ GeoZoomLevel GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenAngle GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter GrammarApply GrammarRules GrammarToken Graph Graph3D GraphAssortativity GraphAutomorphismGroup GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel Greater GreaterEqual GreaterEqualLess GreaterEqualThan GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterThan GreaterTilde Green GreenFunction Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupBy GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators Groupings GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain GroupTogetherGrouping GroupTogetherNestedGrouping GrowCutComponents Gudermannian GuidedFilter GumbelDistribution' + 16942 'HaarWavelet HadamardMatrix HalfLine HalfNormalDistribution HalfPlane HalfSpace HamiltonianGraphQ HammingDistance HammingWindow HandlerFunctions HandlerFunctionsKeys HankelH1 HankelH2 HankelMatrix HankelTransform HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash Haversine HazardFunction Head HeadCompose HeaderLines Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings Here HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenMarkovProcess HiddenSurface Highlighted HighlightGraph HighlightImage HighlightMesh HighpassFilter HigmanSimsGroupHS HilbertCurve HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HistoricalPeriodData HitMissTransform HITSCentrality HjorthDistribution HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HostLookup HotellingTSquareDistribution HoytDistribution HTMLSave HTTPErrorResponse HTTPRedirect HTTPRequest HTTPRequestData HTTPResponse Hue HumanGrowthData HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyperplane Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData' + 16943 'I IconData Iconize IconizedObject IconRules Icosahedron Identity IdentityMatrix If IgnoreCase IgnoreDiacritics IgnorePunctuation IgnoreSpellCheck IgnoringInactive Im Image Image3D Image3DProjection Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageApplyIndexed ImageAspectRatio ImageAssemble ImageAugmentationLayer ImageBoundingBoxes ImageCache ImageCacheValid ImageCapture ImageCaptureFunction ImageCases ImageChannels ImageClip ImageCollage ImageColorSpace ImageCompose ImageContainsQ ImageContents ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDisplacements ImageDistance ImageEffect ImageExposureCombine ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageFocusCombine ImageForestingComponents ImageFormattingWidth ImageForwardTransformation ImageGraphics ImageHistogram ImageIdentify ImageInstanceQ ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarker ImageMarkers ImageMeasurements ImageMesh ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImagePosition ImagePreviewFunction ImagePyramid ImagePyramidApply ImageQ ImageRangeCache ImageRecolor ImageReflect ImageRegion ImageResize ImageResolution ImageRestyle ImageRotate ImageRotated ImageSaliencyFilter ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions ImagingDevice ImplicitRegion Implies Import ImportAutoReplacements ImportByteArray ImportOptions ImportString ImprovementImportance In Inactivate Inactive IncidenceGraph IncidenceList IncidenceMatrix IncludeAromaticBonds IncludeConstantBasis IncludeDefinitions IncludeDirectories IncludeFileExtension IncludeGeneratorTasks IncludeHydrogens IncludeInflections IncludeMetaInformation IncludePods IncludeQuantities IncludeRelatedTables IncludeSingularTerm IncludeWindowTimes Increment IndefiniteMatrixQ Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentPhysicalQuantity IndependentUnit IndependentUnitDimension IndependentVertexSetQ Indeterminate IndeterminateThreshold IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers InfiniteLine InfinitePlane Infinity Infix InflationAdjust InflationMethod Information InformationData InformationDataGrid Inherited InheritScope InhomogeneousPoissonProcess InitialEvaluationHistory Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InitializationObjects InitializationValue Initialize InitialSeeding InlineCounterAssignments InlineCounterIncrements InlineRules Inner InnerPolygon InnerPolyhedron Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionFunction InsertionPointObject InsertLinebreaks InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Insphere Install InstallService InstanceNormalizationLayer InString Integer IntegerDigits IntegerExponent IntegerLength IntegerName IntegerPart IntegerPartitions IntegerQ IntegerReverse Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction Interpreter InterpretTemplate InterquartileRange Interrupt InterruptSettings IntersectingQ Intersection Interval IntervalIntersection IntervalMarkers IntervalMarkersStyle IntervalMemberQ IntervalSlider IntervalUnion Into Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHankelTransform InverseHaversine InverseImagePyramid InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InverseMellinTransform InversePermutation InverseRadon InverseRadonTransform InverseSeries InverseShortTimeFourier InverseSpectrogram InverseSurvivalFunction InverseTransformedRegion InverseWaveletTransform InverseWeierstrassP InverseWishartMatrixDistribution InverseZTransform Invisible InvisibleApplication InvisibleTimes IPAddress IrreduciblePolynomialQ IslandData IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemAspectRatio ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess' + 16944 'JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join JoinAcross Joined JoinedCurve JoinedCurveBox JoinedCurveBoxOptions JoinForm JordanDecomposition JordanModelDecomposition JulianDate JuliaSetBoettcher JuliaSetIterationCount JuliaSetPlot JuliaSetPoints' + 16945 'K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KEdgeConnectedComponents KEdgeConnectedGraphQ KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelFunction KernelMixtureDistribution Kernels Ket Key KeyCollisionFunction KeyComplement KeyDrop KeyDropFrom KeyExistsQ KeyFreeQ KeyIntersection KeyMap KeyMemberQ KeypointStrength Keys KeySelect KeySort KeySortBy KeyTake KeyUnion KeyValueMap KeyValuePattern Khinchin KillProcess KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnapsackSolve KnightTourGraph KnotData KnownUnitQ KochCurve KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter KVertexConnectedComponents KVertexConnectedGraphQ' + 16946 'LABColor Label Labeled LabeledSlider LabelingFunction LabelingSize LabelStyle LabelVisibility LaguerreL LakeData LambdaComponents LambertW LaminaData LanczosWindow LandauDistribution Language LanguageCategory LanguageData LanguageIdentify LanguageOptions LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCHColor LCM LeaderSize LeafCount LeapYearQ LearnDistribution LearnedDistribution LearningRate LearningRateMultipliers LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessEqualThan LessFullEqual LessGreater LessLess LessSlantEqual LessThan LessTilde LetterCharacter LetterCounts LetterNumber LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryDataType LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox Line3DBoxOptions LinearFilter LinearFractionalOptimization LinearFractionalTransform LinearGradientImage LinearizingTransformationData LinearLayer LinearModelFit LinearOffsetFunction LinearOptimization LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBoxOptions LineBreak LinebreakAdjustments LineBreakChart LinebreakSemicolonWeighting LineBreakWithin LineColor LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRankCentrality LinkRead LinkReadHeld LinkReadyQ Links LinkService LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot ListDensityPlot3D Listen ListFormat ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListSliceContourPlot3D ListSliceDensityPlot3D ListSliceVectorPlot3D ListStepPlot ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalAdaptiveBinarize LocalCache LocalClusteringCoefficient LocalizeDefinitions LocalizeVariables LocalObject LocalObjects LocalResponseNormalizationLayer LocalSubmit LocalSymbol LocalTime LocalTimeZone LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogisticSigmoid LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongestOrderedSequence LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow LongShortTermMemoryLayer Lookup Loopback LoopFreeGraphQ LossFunction LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowerTriangularMatrixQ LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LunarEclipse LUVColor LyapunovSolve LyonsGroupLy' + 16947 'MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MailAddressValidation MailExecute MailFolder MailItem MailReceiverFunction MailResponseFunction MailSearch MailServerConnect MailServerConnection MailSettings MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules ManagedLibraryExpressionID ManagedLibraryExpressionQ MandelbrotSetBoettcher MandelbrotSetDistance MandelbrotSetIterationCount MandelbrotSetMemberQ MandelbrotSetPlot MangoldtLambda ManhattanDistance Manipulate Manipulator MannedSpaceMissionData MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarchenkoPasturDistribution MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicalFunctionData MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixNormalDistribution MatrixPlot MatrixPower MatrixPropertyDistribution MatrixQ MatrixRank MatrixTDistribution Max MaxBend MaxCellMeasure MaxColorDistance MaxDetect MaxDuration MaxExtraBandwidths MaxExtraConditions MaxFeatureDisplacement MaxFeatures MaxFilter MaximalBy Maximize MaxItems MaxIterations MaxLimit MaxMemoryUsed MaxMixtureKernels MaxOverlapFraction MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxTrainingRounds MaxValue MaxwellDistribution MaxWordGap McLaughlinGroupMcL Mean MeanAbsoluteLossLayer MeanAround MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter MeanSquaredLossLayer Median MedianDeviation MedianFilter MedicalTestData Medium MeijerG MeijerGReduce MeixnerDistribution MellinConvolve MellinTransform MemberQ MemoryAvailable MemoryConstrained MemoryConstraint MemoryInUse MengerMesh Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuList MenuPacket MenuSortingValue MenuStyle MenuView Merge MergeDifferences MergingFunction MersennePrimeExponent MersennePrimeExponentQ Mesh MeshCellCentroid MeshCellCount MeshCellHighlight MeshCellIndex MeshCellLabel MeshCellMarker MeshCellMeasure MeshCellQuality MeshCells MeshCellShapeFunction MeshCellStyle MeshCoordinates MeshFunctions MeshPrimitives MeshQualityGoal MeshRange MeshRefinementFunction MeshRegion MeshRegionQ MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageObject MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation MeteorShowerData Method MethodOptions MexicanHatWavelet MeyerWavelet Midpoint Min MinColorDistance MinDetect MineralData MinFilter MinimalBy MinimalPolynomial MinimalStateSpaceModel Minimize MinimumTimeIncrement MinIntervalSize MinkowskiQuestionMark MinLimit MinMax MinorPlanetData Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingBehavior MissingDataMethod MissingDataRules MissingQ MissingString MissingStyle MissingValuePattern MittagLefflerE MixedFractionParts MixedGraphQ MixedMagnitude MixedRadix MixedRadixQuantity MixedUnit MixtureDistribution Mod Modal Mode Modular ModularInverse ModularLambda Module Modulus MoebiusMu Molecule MoleculeContainsQ MoleculeEquivalentQ MoleculeGraph MoleculeModify MoleculePattern MoleculePlot MoleculePlot3D MoleculeProperty MoleculeQ MoleculeValue Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction MomentOfInertia Monday Monitor MonomialList MonomialOrder MonsterGroupM MoonPhase MoonPosition MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform MortalityData Most MountainData MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovieData MovingAverage MovingMap MovingMedian MoyalDistribution Multicolumn MultiedgeStyle MultigraphQ MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity MultiplySides Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution' + 16948 'N NakagamiDistribution NameQ Names NamespaceBox NamespaceBoxOptions Nand NArgMax NArgMin NBernoulliB NBodySimulation NBodySimulationData NCache NDEigensystem NDEigenvalues NDSolve NDSolveValue Nearest NearestFunction NearestNeighborGraph NearestTo NebulaData NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeDefiniteMatrixQ NegativeIntegers NegativeMultinomialDistribution NegativeRationals NegativeReals NegativeSemidefiniteMatrixQ NeighborhoodData NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestGraph NestList NestWhile NestWhileList NetAppend NetBidirectionalOperator NetChain NetDecoder NetDelete NetDrop NetEncoder NetEvaluationMode NetExtract NetFlatten NetFoldOperator NetGraph NetInformation NetInitialize NetInsert NetInsertSharedArrays NetJoin NetMapOperator NetMapThreadOperator NetMeasurements NetModel NetNestOperator NetPairEmbeddingOperator NetPort NetPortGradient NetPrepend NetRename NetReplace NetReplacePart NetSharedArray NetStateObject NetTake NetTrain NetTrainResultsObject NetworkPacketCapture NetworkPacketRecording NetworkPacketRecordingDuring NetworkPacketTrace NeumannValue NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextCell NextDate NextPrime NextScheduledTaskTime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NightHemisphere NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants NondimensionalizationTransform None NoneTrue NonlinearModelFit NonlinearStateSpaceModel NonlocalMeansFilter NonNegative NonNegativeIntegers NonNegativeRationals NonNegativeReals NonPositive NonPositiveIntegers NonPositiveRationals NonPositiveReals Nor NorlundB Norm Normal NormalDistribution NormalGrouping NormalizationLayer Normalize Normalized NormalizedSquaredEuclideanDistance NormalMatrixQ NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookImport NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookTemplate NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde Nothing NotHumpDownHump NotHumpEqual NotificationFunction NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar Now NoWhitespace NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms NuclearExplosionData NuclearReactorData Null NullRecords NullSpace NullWords Number NumberCompose NumberDecompose NumberExpand NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberLinePlot NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumeratorDenominator NumericalOrder NumericalSort NumericArray NumericArrayQ NumericArrayType NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot' + 16949 'O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OceanData Octahedron OddQ Off Offset OLEData On ONanGroupON Once OneIdentity Opacity OpacityFunction OpacityFunctionScaling Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionalElement OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering OrderingBy OrderingLayer Orderless OrderlessPatternSequence OrnsteinUhlenbeckProcess Orthogonalize OrthogonalMatrixQ Out Outer OuterPolygon OuterPolyhedron OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OverwriteTarget OwenT OwnValues' + 16950 'Package PackingMethod PaddedForm Padding PaddingLayer PaddingSize PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageTheme PageWidth Pagination PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath PalindromeQ Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo Parallelepiped ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds Parallelogram ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParametricRegion ParentBox ParentCell ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParentNotebook ParetoDistribution ParetoPickandsDistribution ParkData Part PartBehavior PartialCorrelationFunction PartialD ParticleAcceleratorData ParticleData Partition PartitionGranularity PartitionsP PartitionsQ PartLayer PartOfSpeech PartProtection ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteAutoQuoteCharacters PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PeakDetect PeanoCurve PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PercentForm PerfectNumber PerfectNumberQ PerformanceGoal Perimeter PeriodicBoundaryCondition PeriodicInterpolation Periodogram PeriodogramArray Permanent Permissions PermissionsGroup PermissionsGroupMemberQ PermissionsGroups PermissionsKey PermissionsKeys PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PerpendicularBisector PersistenceLocation PersistenceTime PersistentObject PersistentObjects PersistentValue PersonData PERTDistribution PetersenGraph PhaseMargins PhaseRange PhysicalSystemData Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest PingTime Pink PitchRecognize Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarAngle PlanarGraph PlanarGraphQ PlanckRadiationLaw PlaneCurveData PlanetaryMoonData PlanetData PlantData Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLabels PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangeClipPlanesStyle PlotRangePadding PlotRegion PlotStyle PlotTheme Pluralize Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox Point3DBoxOptions PointBox PointBoxOptions PointFigureChart PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonalNumber PolygonAngle PolygonBox PolygonBoxOptions PolygonCoordinates PolygonDecomposition PolygonHoleScale PolygonIntersections PolygonScale Polyhedron PolyhedronAngle PolyhedronCoordinates PolyhedronData PolyhedronDecomposition PolyhedronGenus PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PoolingLayer PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position PositionIndex Positive PositiveDefiniteMatrixQ PositiveIntegers PositiveRationals PositiveReals PositiveSemidefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerRange PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement Predict PredictionRoot PredictorFunction PredictorInformation PredictorMeasurements PredictorMeasurementsObject PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependLayer PrependTo PreprocessingRules PreserveColor PreserveImageOptions Previous PreviousCell PreviousDate PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitivePolynomialQ PrimitiveRoot PrimitiveRootList PrincipalComponents PrincipalValue Print PrintableASCIIQ PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment Printout3D Printout3DPreviewer PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateKey PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessConnection ProcessDirectory ProcessEnvironment Processes ProcessEstimator ProcessInformation ProcessObject ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessStatus ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm ProofObject Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse PsychrometricPropertyData PublicKey PublisherID PulsarData PunctuationCharacter Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions' + 16951 'QBinomial QFactorial QGamma QHypergeometricPFQ QnDispersion QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ QuadraticOptimization Quantile QuantilePlot Quantity QuantityArray QuantityDistribution QuantityForm QuantityMagnitude QuantityQ QuantityUnit QuantityVariable QuantityVariableCanonicalUnit QuantityVariableDimensions QuantityVariableIdentifier QuantityVariablePhysicalQuantity Quartics QuartileDeviation Quartiles QuartileSkewness Query QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder' + 16952 'RadialGradientImage RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RadonTransform RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Ramp Random RandomChoice RandomColor RandomComplex RandomEntity RandomFunction RandomGeoPosition RandomGraph RandomImage RandomInstance RandomInteger RandomPermutation RandomPoint RandomPolygon RandomPolyhedron RandomPrime RandomReal RandomSample RandomSeed RandomSeeding RandomVariate RandomWalkProcess RandomWord Range RangeFilter RangeSpecification RankedMax RankedMin RarerProbability Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadByteArray ReadLine ReadList ReadProtected ReadString Real RealAbs RealBlockDiagonalForm RealDigits RealExponent Reals RealSign Reap RecognitionPrior RecognitionThreshold Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RectangularRepeatingElement RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate Region RegionBinarize RegionBoundary RegionBounds RegionCentroid RegionDifference RegionDimension RegionDisjoint RegionDistance RegionDistanceFunction RegionEmbeddingDimension RegionEqual RegionFunction RegionImage RegionIntersection RegionMeasure RegionMember RegionMemberFunction RegionMoment RegionNearest RegionNearestFunction RegionPlot RegionPlot3D RegionProduct RegionQ RegionResize RegionSize RegionSymmetricDifference RegionUnion RegionWithin RegisterExternalEvaluator RegularExpression Regularization RegularlySampledQ RegularPolygon ReIm ReImLabels ReImPlot ReImStyle Reinstall RelationalDatabase RelationGraph Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot RemoteAuthorizationCaching RemoteConnect RemoteConnectionObject RemoteFile RemoteRun RemoteRunProcess Remove RemoveAlphaChannel RemoveAsynchronousTask RemoveAudioStream RemoveBackground RemoveChannelListener RemoveChannelSubscribers Removed RemoveDiacritics RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RemoveUsers RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart RepairMesh Repeated RepeatedNull RepeatedString RepeatedTiming RepeatingElement Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated ReplicateLayer RequiredPhysicalQuantities Resampling ResamplingAlgorithmData ResamplingMethod Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask ReshapeLayer Residue ResizeLayer Resolve ResourceAcquire ResourceData ResourceFunction ResourceObject ResourceRegister ResourceRemove ResourceSearch ResourceSubmissionObject ResourceSubmit ResourceSystemBase ResourceUpdate ResponseForm Rest RestartInterval Restricted Resultant ResumePacket Return ReturnEntersInput ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnReceiptFunction ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseSort ReverseSortBy ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ RiemannXi Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightComposition RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity RollPitchYawAngles RollPitchYawMatrix RomanNumeral Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RSolveValue RudinShapiro RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulePlot RulerUnits Run RunProcess RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity' + 16953 'SameQ SameTest SampledEntityClass SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SASTriangle SatelliteData SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveConnection SaveDefinitions SavitzkyGolayMatrix SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTask ScheduledTaskActiveQ ScheduledTaskInformation ScheduledTaskInformationData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScientificNotationThreshold ScorerGi ScorerGiPrime ScorerHi ScorerHiPrime ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptForm ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition SearchAdjustment SearchIndexObject SearchIndices SearchQueryString SearchResultObject Sec Sech SechDistribution SecondOrderConeOptimization SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SecuredAuthenticationKey SecuredAuthenticationKeys SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook SelectFirst Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemanticImport SemanticImportString SemanticInterpretation SemialgebraicComponentInstances SemidefiniteOptimization SendMail SendMessage Sequence SequenceAlignment SequenceAttentionLayer SequenceCases SequenceCount SequenceFold SequenceFoldList SequenceForm SequenceHold SequenceLastLayer SequenceMostLayer SequencePosition SequencePredict SequencePredictorFunction SequenceReplace SequenceRestLayer SequenceReverseLayer SequenceSplit Series SeriesCoefficient SeriesData ServiceConnect ServiceDisconnect ServiceExecute ServiceObject ServiceRequest ServiceResponse ServiceSubmit SessionSubmit SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetCloudDirectory SetCookies SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPermissions SetPrecision SetProperty SetSecuredAuthenticationKey SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemModel SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetUsers SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share SharingList Sharpen ShearingMatrix ShearingTransform ShellRegion ShenCastanMatrix ShiftedGompertzDistribution ShiftRegisterSequence Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortTimeFourier ShortTimeFourierData ShortUpArrow Show ShowAutoConvert ShowAutoSpellCheck ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowCodeAssist ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiderealTime SiegelTheta SiegelTukeyTest SierpinskiCurve SierpinskiMesh Sign Signature SignedRankTest SignedRegionDistance SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ SimplePolygonQ SimplePolyhedronQ Simplex Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution SkinStyle Skip SliceContourPlot3D SliceDensityPlot3D SliceDistribution SliceVectorPlot3D Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDecomposition SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SnDispersion Snippet SnubPolyhedron SocialMediaData Socket SocketConnect SocketListen SocketListener SocketObject SocketOpen SocketReadMessage SocketReadyQ Sockets SocketWaitAll SocketWaitNext SoftmaxLayer SokalSneathDissimilarity SolarEclipse SolarSystemFeatureData SolidAngle SolidData SolidRegionQ Solve SolveAlways SolveDelayed Sort SortBy SortedBy SortedEntityClass Sound SoundAndGraphics SoundNote SoundVolume SourceLink Sow Space SpaceCurveData SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution SpatialMedian SpatialTransformationLayer Speak SpeakTextPacket SpearmanRankTest SpearmanRho SpeciesData SpecificityGoal SpectralLineData Spectrogram SpectrogramArray Specularity SpeechRecognize SpeechSynthesize SpellingCorrection SpellingCorrectionList SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SpherePoints SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SphericalShell SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquareMatrixQ SquareRepeatingElement SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave SSSTriangle StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackedDateListPlot StackedListPlot StackInhibit StadiumShape StandardAtmosphereData StandardDeviation StandardDeviationFilter StandardForm Standardize Standardized StandardOceanData StandbyDistribution Star StarClusterData StarData StarGraph StartAsynchronousTask StartExternalSession StartingStepSize StartOfLine StartOfString StartProcess StartScheduledTask StartupSound StartWebSession StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StateTransformationLinearize StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StereochemistryElements StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StoppingPowerData StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamMarkers StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringContainsQ StringCount StringDelete StringDrop StringEndsQ StringExpression StringExtract StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPadLeft StringPadRight StringPart StringPartition StringPosition StringQ StringRepeat StringReplace StringReplaceList StringReplacePart StringReverse StringRiffle StringRotateLeft StringRotateRight StringSkeleton StringSplit StringStartsQ StringTake StringTemplate StringToByteArray StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleData StyleDefinitions StyleForm StyleHints StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subdivide Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subsequences Subset SubsetEqual SubsetMap SubsetQ Subsets SubStar SubstitutionSystem Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubtractSides SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde Success SuchThat Sum SumConvergence SummationLayer Sunday SunPosition Sunrise Sunset SuperDagger SuperMinus SupernovaData SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceArea SurfaceColor SurfaceData SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricKey SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Synonyms Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SynthesizeMissingValues SystemDialogInput SystemException SystemGet SystemHelpPath SystemInformation SystemInformationData SystemInstall SystemModel SystemModeler SystemModelExamples SystemModelLinearize SystemModelParametricSimulate SystemModelPlot SystemModelProgressReporting SystemModelReliability SystemModels SystemModelSimulate SystemModelSimulateSensitivity SystemModelSimulationData SystemOpen SystemOptions SystemProcessData SystemProcesses SystemsConnectionsModel SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelLinearity SystemsModelMerge SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemsModelVectorRelativeOrders SystemStub SystemTest' + 16954 'Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TableViewBoxBackground TableViewBoxOptions TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeDrop TakeLargest TakeLargestBy TakeList TakeSmallest TakeSmallestBy TakeWhile Tally Tan Tanh TargetDevice TargetFunctions TargetSystem TargetUnits TaskAbort TaskExecute TaskObject TaskRemove TaskResume Tasks TaskSuspend TaskWait TautologyQ TelegraphProcess TemplateApply TemplateArgBox TemplateBox TemplateBoxOptions TemplateEvaluate TemplateExpression TemplateIf TemplateObject TemplateSequence TemplateSlot TemplateSlotSequence TemplateUnevaluated TemplateVerbatim TemplateWith TemporalData TemporalRegularity Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge TestID TestReport TestReportObject TestResultObject Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCases TextCell TextClipboardType TextContents TextData TextElement TextForm TextGrid TextJustification TextLine TextPacket TextParagraph TextPosition TextRecognize TextSearch TextSearchReport TextSentences TextString TextStructure TextStyle TextTranslation Texture TextureCoordinateFunction TextureCoordinateScaling TextWords Therefore ThermodynamicData ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreadingLayer ThreeJSymbol Threshold Through Throw ThueMorse Thumbnail Thursday Ticks TicksStyle TideData Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint TimeDirection TimeFormat TimeGoal TimelinePlot TimeObject TimeObjectQ Times TimesBy TimeSeries TimeSeriesAggregate TimeSeriesForecast TimeSeriesInsert TimeSeriesInvertibility TimeSeriesMap TimeSeriesMapThread TimeSeriesModel TimeSeriesModelFit TimeSeriesResample TimeSeriesRescale TimeSeriesShift TimeSeriesThread TimeSeriesWindow TimeUsed TimeValue TimeWarpingCorrespondence TimeWarpingDistance TimeZone TimeZoneConvert TimeZoneOffset Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate Today ToDiscreteTimeModel ToEntity ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase Tomorrow ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform ToPolarCoordinates TopologicalSort ToRadicals ToRules ToSphericalCoordinates ToString Total TotalHeight TotalLayer TotalVariationFilter TotalWidth TouchPosition TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TrackingFunction TracyWidomDistribution TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TrainingProgressCheckpointing TrainingProgressFunction TrainingProgressMeasurements TrainingProgressReporting TrainingStoppingCriterion TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationClass TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField TransformedProcess TransformedRegion TransitionDirection TransitionDuration TransitionEffect TransitiveClosureGraph TransitiveReductionGraph Translate TranslationOptions TranslationTransform Transliterate Transparent TransparentColor Transpose TransposeLayer TrapSelection TravelDirections TravelDirectionsData TravelDistance TravelDistanceList TravelMethod TravelTime TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle Triangle TriangleCenter TriangleConstruct TriangleMeasurement TriangleWave TriangularDistribution TriangulateMesh Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean TrimmedVariance TropicalStormData True TrueQ TruncatedDistribution TruncatedPolyhedron TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBoxOptions TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow TunnelData Tuples TuranGraph TuringMachine TuttePolynomial TwoWayRule Typed TypeSpecifier' + 16955 'UnateQ Uncompress UnconstrainedParameters Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UnderseaFeatureData UndirectedEdge UndirectedGraph UndirectedGraphQ UndoOptions UndoTrackedVariables Unequal UnequalTo Unevaluated UniformDistribution UniformGraphDistribution UniformPolyhedron UniformSumDistribution Uninstall Union UnionPlus Unique UnitaryMatrixQ UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitSystem UnitTriangle UnitVector UnitVectorLayer UnityDimensions UniverseModelData UniversityData UnixTime Unprotect UnregisterExternalEvaluator UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpdateSearchIndex UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize UpperTriangularMatrixQ Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpTo UpValues URL URLBuild URLDecode URLDispatcher URLDownload URLDownloadSubmit URLEncode URLExecute URLExpand URLFetch URLFetchAsynchronous URLParse URLQueryDecode URLQueryEncode URLRead URLResponseTime URLSave URLSaveAsynchronous URLShorten URLSubmit UseGraphicsRange UserDefinedWavelet Using UsingFrontEnd UtilityFunction' + 16956 'V2Get ValenceErrorHandling ValidationLength ValidationSet Value ValueBox ValueBoxOptions ValueDimensions ValueForm ValuePreprocessingFunction ValueQ Values ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorAround VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorGreater VectorGreaterEqual VectorLess VectorLessEqual VectorMarkers VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerificationTest VerifyConvergence VerifyDerivedKey VerifyDigitalSignature VerifyInterpretation VerifySecurityCertificates VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexContract VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight VertexWeightedGraphQ Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewProjection ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoiceStyleData VoigtDistribution VolcanoData Volume VonMisesDistribution VoronoiMesh' + 16957 'WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WarpingCorrespondence WarpingDistance WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeatherForecastData WebAudioSearch WebElementObject WeberE WebExecute WebImage WebImageSearch WebSearch WebSessionObject WebSessions WebWindowObject Wedge Wednesday WeibullDistribution WeierstrassE1 WeierstrassE2 WeierstrassE3 WeierstrassEta1 WeierstrassEta2 WeierstrassEta3 WeierstrassHalfPeriods WeierstrassHalfPeriodW1 WeierstrassHalfPeriodW2 WeierstrassHalfPeriodW3 WeierstrassInvariantG2 WeierstrassInvariantG3 WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White WhiteNoiseProcess WhitePoint Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WikipediaData WikipediaSearch WilksW WilksWTest WindDirectionData WindingCount WindingPolygon WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowPersistentStyles WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth WindSpeedData WindVectorData WinsorizedMean WinsorizedVariance WishartMatrixDistribution With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult WolframLanguageData Word WordBoundary WordCharacter WordCloud WordCount WordCounts WordData WordDefinition WordFrequency WordFrequencyData WordList WordOrientation WordSearch WordSelectionFunction WordSeparators WordSpacings WordStem WordTranslation WorkingPrecision WrapAround Write WriteLine WriteString Wronskian' + 16958 'XMLElement XMLObject XMLTemplate Xnor Xor XYZColor' + 16959 'Yellow Yesterday YuleDissimilarity' + 16960 'ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZIPCodeData ZipfDistribution ZoomCenter ZoomFactor ZTest ZTransform' + 16961 '$Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AllowExternalChannelFunctions $AssertFunction $Assumptions $AsynchronousTask $AudioInputDevices $AudioOutputDevices $BaseDirectory $BatchInput $BatchOutput $BlockchainBase $BoxForms $ByteOrdering $CacheBaseDirectory $Canceled $ChannelBase $CharacterEncoding $CharacterEncodings $CloudBase $CloudConnected $CloudCreditsAvailable $CloudEvaluation $CloudExpressionBase $CloudObjectNameFormat $CloudObjectURLType $CloudRootDirectory $CloudSymbolBase $CloudUserID $CloudUserUUID $CloudVersion $CloudVersionNumber $CloudWolframEngineVersionNumber $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $Cookies $CookieStore $CreationDate $CurrentLink $CurrentTask $CurrentWebSession $DateStringFormat $DefaultAudioInputDevice $DefaultAudioOutputDevice $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultLocalBase $DefaultMailbox $DefaultNetworkInterface $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $EmbedCodeEnvironments $EmbeddableServices $EntityStores $Epilog $EvaluationCloudBase $EvaluationCloudObject $EvaluationEnvironment $ExportFormats $Failed $FinancialDataSource $FontFamilies $FormatType $FrontEnd $FrontEndSession $GeoEntityTypes $GeoLocation $GeoLocationCity $GeoLocationCountry $GeoLocationPrecision $GeoLocationSource $HistoryLength $HomeDirectory $HTMLExportRules $HTTPCookies $HTTPRequest $IgnoreEOF $ImageFormattingWidth $ImagingDevice $ImagingDevices $ImportFormats $IncomingMailSettings $InitialDirectory $Initialization $InitializationContexts $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $InterpreterTypes $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $LocalBase $LocalSymbolBase $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $MobilePhone $ModuleNumber $NetworkConnected $NetworkInterfaces $NetworkLicense $NewMessage $NewSymbol $Notebooks $NoValue $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $Permissions $PermissionsGroupBase $PersistenceBase $PersistencePath $PipeSupported $PlotTheme $Post $Pre $PreferencesDirectory $PreInitialization $PrePrint $PreRead $PrintForms $PrintLiteral $Printout3DPreviewer $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $PublisherID $RandomState $RecursionLimit $RegisteredDeviceClasses $RegisteredUserName $ReleaseNumber $RequesterAddress $RequesterWolframID $RequesterWolframUUID $ResourceSystemBase $RootDirectory $ScheduledTask $ScriptCommandLine $ScriptInputString $SecuredAuthenticationKeyTokens $ServiceCreditsAvailable $Services $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SourceLink $SSHAuthentication $SummaryBoxDataSizeLimit $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemMemory $SystemShell $SystemTimeZone $SystemWordLength $TemplatePath $TemporaryDirectory $TemporaryPrefix $TestFileName $TextStyle $TimedOut $TimeUnit $TimeZone $TimeZoneEntity $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $UnitSystem $Urgent $UserAddOnsDirectory $UserAgentLanguages $UserAgentMachine $UserAgentName $UserAgentOperatingSystem $UserAgentString $UserAgentVersion $UserBaseDirectory $UserDocumentsDirectory $Username $UserName $UserURLBase $Version $VersionNumber $VoiceStyles $WolframID $WolframUUID', 16962 contains: [ 16963 hljs.COMMENT('\\(\\*', '\\*\\)', {contains: ['self']}), 16964 hljs.QUOTE_STRING_MODE, 16965 hljs.C_NUMBER_MODE 16966 ] 16967 }; 16968 } 16969 },{name:"matlab",create:/* 16970 Language: Matlab 16971 Author: Denis Bardadym <bardadymchik@gmail.com> 16972 Contributors: Eugene Nizhibitsky <nizhibitsky@ya.ru>, Egor Rogov <e.rogov@postgrespro.ru> 16973 Category: scientific 16974 */ 16975 16976 /* 16977 Formal syntax is not published, helpful link: 16978 https://github.com/kornilova-l/matlab-IntelliJ-plugin/blob/master/src/main/grammar/Matlab.bnf 16979 */ 16980 function(hljs) { 16981 16982 var TRANSPOSE_RE = '(\'|\\.\')+'; 16983 var TRANSPOSE = { 16984 relevance: 0, 16985 contains: [ 16986 { begin: TRANSPOSE_RE } 16987 ] 16988 }; 16989 16990 return { 16991 keywords: { 16992 keyword: 16993 'break case catch classdef continue else elseif end enumerated events for function ' + 16994 'global if methods otherwise parfor persistent properties return spmd switch try while', 16995 built_in: 16996 'sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan ' + 16997 'atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot ' + 16998 'cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog ' + 16999 'realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal ' + 17000 'cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli ' + 17001 'besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma ' + 17002 'gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms ' + 17003 'nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones ' + 17004 'eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ' + 17005 'ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril ' + 17006 'triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute ' + 17007 'shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan ' + 17008 'isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal ' + 17009 'rosser toeplitz vander wilkinson max min nanmax nanmin mean nanmean type table ' + 17010 'readtable writetable sortrows sort figure plot plot3 scatter scatter3 cellfun ' + 17011 'legend intersect ismember procrustes hold num2cell ' 17012 }, 17013 illegal: '(//|"|#|/\\*|\\s+/\\w+)', 17014 contains: [ 17015 { 17016 className: 'function', 17017 beginKeywords: 'function', end: '$', 17018 contains: [ 17019 hljs.UNDERSCORE_TITLE_MODE, 17020 { 17021 className: 'params', 17022 variants: [ 17023 {begin: '\\(', end: '\\)'}, 17024 {begin: '\\[', end: '\\]'} 17025 ] 17026 } 17027 ] 17028 }, 17029 { 17030 className: 'built_in', 17031 begin: /true|false/, 17032 relevance: 0, 17033 starts: TRANSPOSE 17034 }, 17035 { 17036 begin: '[a-zA-Z][a-zA-Z_0-9]*' + TRANSPOSE_RE, 17037 relevance: 0 17038 }, 17039 { 17040 className: 'number', 17041 begin: hljs.C_NUMBER_RE, 17042 relevance: 0, 17043 starts: TRANSPOSE 17044 }, 17045 { 17046 className: 'string', 17047 begin: '\'', end: '\'', 17048 contains: [ 17049 hljs.BACKSLASH_ESCAPE, 17050 {begin: '\'\''}] 17051 }, 17052 { 17053 begin: /\]|}|\)/, 17054 relevance: 0, 17055 starts: TRANSPOSE 17056 }, 17057 { 17058 className: 'string', 17059 begin: '"', end: '"', 17060 contains: [ 17061 hljs.BACKSLASH_ESCAPE, 17062 {begin: '""'} 17063 ], 17064 starts: TRANSPOSE 17065 }, 17066 hljs.COMMENT('^\\s*\\%\\{\\s*$', '^\\s*\\%\\}\\s*$'), 17067 hljs.COMMENT('\\%', '$') 17068 ] 17069 }; 17070 } 17071 },{name:"maxima",create:/* 17072 Language: Maxima 17073 Author: Robert Dodier <robert.dodier@gmail.com> 17074 Category: scientific 17075 */ 17076 17077 function(hljs) { 17078 var KEYWORDS = 'if then else elseif for thru do while unless step in and or not'; 17079 var LITERALS = 'true false unknown inf minf ind und %e %i %pi %phi %gamma'; 17080 var BUILTIN_FUNCTIONS = 17081 ' abasep abs absint absolute_real_time acos acosh acot acoth acsc acsch activate' 17082 + ' addcol add_edge add_edges addmatrices addrow add_vertex add_vertices adjacency_matrix' 17083 + ' adjoin adjoint af agd airy airy_ai airy_bi airy_dai airy_dbi algsys alg_type' 17084 + ' alias allroots alphacharp alphanumericp amortization %and annuity_fv' 17085 + ' annuity_pv antid antidiff AntiDifference append appendfile apply apply1 apply2' 17086 + ' applyb1 apropos args arit_amortization arithmetic arithsum array arrayapply' 17087 + ' arrayinfo arraymake arraysetapply ascii asec asech asin asinh askinteger' 17088 + ' asksign assoc assoc_legendre_p assoc_legendre_q assume assume_external_byte_order' 17089 + ' asympa at atan atan2 atanh atensimp atom atvalue augcoefmatrix augmented_lagrangian_method' 17090 + ' av average_degree backtrace bars barsplot barsplot_description base64 base64_decode' 17091 + ' bashindices batch batchload bc2 bdvac belln benefit_cost bern bernpoly bernstein_approx' 17092 + ' bernstein_expand bernstein_poly bessel bessel_i bessel_j bessel_k bessel_simplify' 17093 + ' bessel_y beta beta_incomplete beta_incomplete_generalized beta_incomplete_regularized' 17094 + ' bezout bfallroots bffac bf_find_root bf_fmin_cobyla bfhzeta bfloat bfloatp' 17095 + ' bfpsi bfpsi0 bfzeta biconnected_components bimetric binomial bipartition' 17096 + ' block blockmatrixp bode_gain bode_phase bothcoef box boxplot boxplot_description' 17097 + ' break bug_report build_info|10 buildq build_sample burn cabs canform canten' 17098 + ' cardinality carg cartan cartesian_product catch cauchy_matrix cbffac cdf_bernoulli' 17099 + ' cdf_beta cdf_binomial cdf_cauchy cdf_chi2 cdf_continuous_uniform cdf_discrete_uniform' 17100 + ' cdf_exp cdf_f cdf_gamma cdf_general_finite_discrete cdf_geometric cdf_gumbel' 17101 + ' cdf_hypergeometric cdf_laplace cdf_logistic cdf_lognormal cdf_negative_binomial' 17102 + ' cdf_noncentral_chi2 cdf_noncentral_student_t cdf_normal cdf_pareto cdf_poisson' 17103 + ' cdf_rank_sum cdf_rayleigh cdf_signed_rank cdf_student_t cdf_weibull cdisplay' 17104 + ' ceiling central_moment cequal cequalignore cf cfdisrep cfexpand cgeodesic' 17105 + ' cgreaterp cgreaterpignore changename changevar chaosgame charat charfun charfun2' 17106 + ' charlist charp charpoly chdir chebyshev_t chebyshev_u checkdiv check_overlaps' 17107 + ' chinese cholesky christof chromatic_index chromatic_number cint circulant_graph' 17108 + ' clear_edge_weight clear_rules clear_vertex_label clebsch_gordan clebsch_graph' 17109 + ' clessp clesspignore close closefile cmetric coeff coefmatrix cograd col collapse' 17110 + ' collectterms columnop columnspace columnswap columnvector combination combine' 17111 + ' comp2pui compare compfile compile compile_file complement_graph complete_bipartite_graph' 17112 + ' complete_graph complex_number_p components compose_functions concan concat' 17113 + ' conjugate conmetderiv connected_components connect_vertices cons constant' 17114 + ' constantp constituent constvalue cont2part content continuous_freq contortion' 17115 + ' contour_plot contract contract_edge contragrad contrib_ode convert coord' 17116 + ' copy copy_file copy_graph copylist copymatrix cor cos cosh cot coth cov cov1' 17117 + ' covdiff covect covers crc24sum create_graph create_list csc csch csetup cspline' 17118 + ' ctaylor ct_coordsys ctransform ctranspose cube_graph cuboctahedron_graph' 17119 + ' cunlisp cv cycle_digraph cycle_graph cylindrical days360 dblint deactivate' 17120 + ' declare declare_constvalue declare_dimensions declare_fundamental_dimensions' 17121 + ' declare_fundamental_units declare_qty declare_translated declare_unit_conversion' 17122 + ' declare_units declare_weights decsym defcon define define_alt_display define_variable' 17123 + ' defint defmatch defrule defstruct deftaylor degree_sequence del delete deleten' 17124 + ' delta demo demoivre denom depends derivdegree derivlist describe desolve' 17125 + ' determinant dfloat dgauss_a dgauss_b dgeev dgemm dgeqrf dgesv dgesvd diag' 17126 + ' diagmatrix diag_matrix diagmatrixp diameter diff digitcharp dimacs_export' 17127 + ' dimacs_import dimension dimensionless dimensions dimensions_as_list direct' 17128 + ' directory discrete_freq disjoin disjointp disolate disp dispcon dispform' 17129 + ' dispfun dispJordan display disprule dispterms distrib divide divisors divsum' 17130 + ' dkummer_m dkummer_u dlange dodecahedron_graph dotproduct dotsimp dpart' 17131 + ' draw draw2d draw3d drawdf draw_file draw_graph dscalar echelon edge_coloring' 17132 + ' edge_connectivity edges eigens_by_jacobi eigenvalues eigenvectors eighth' 17133 + ' einstein eivals eivects elapsed_real_time elapsed_run_time ele2comp ele2polynome' 17134 + ' ele2pui elem elementp elevation_grid elim elim_allbut eliminate eliminate_using' 17135 + ' ellipse elliptic_e elliptic_ec elliptic_eu elliptic_f elliptic_kc elliptic_pi' 17136 + ' ematrix empty_graph emptyp endcons entermatrix entertensor entier equal equalp' 17137 + ' equiv_classes erf erfc erf_generalized erfi errcatch error errormsg errors' 17138 + ' euler ev eval_string evenp every evolution evolution2d evundiff example exp' 17139 + ' expand expandwrt expandwrt_factored expint expintegral_chi expintegral_ci' 17140 + ' expintegral_e expintegral_e1 expintegral_ei expintegral_e_simplify expintegral_li' 17141 + ' expintegral_shi expintegral_si explicit explose exponentialize express expt' 17142 + ' exsec extdiff extract_linear_equations extremal_subset ezgcd %f f90 facsum' 17143 + ' factcomb factor factorfacsum factorial factorout factorsum facts fast_central_elements' 17144 + ' fast_linsolve fasttimes featurep fernfale fft fib fibtophi fifth filename_merge' 17145 + ' file_search file_type fillarray findde find_root find_root_abs find_root_error' 17146 + ' find_root_rel first fix flatten flength float floatnump floor flower_snark' 17147 + ' flush flush1deriv flushd flushnd flush_output fmin_cobyla forget fortran' 17148 + ' fourcos fourexpand fourier fourier_elim fourint fourintcos fourintsin foursimp' 17149 + ' foursin fourth fposition frame_bracket freeof freshline fresnel_c fresnel_s' 17150 + ' from_adjacency_matrix frucht_graph full_listify fullmap fullmapl fullratsimp' 17151 + ' fullratsubst fullsetify funcsolve fundamental_dimensions fundamental_units' 17152 + ' fundef funmake funp fv g0 g1 gamma gamma_greek gamma_incomplete gamma_incomplete_generalized' 17153 + ' gamma_incomplete_regularized gauss gauss_a gauss_b gaussprob gcd gcdex gcdivide' 17154 + ' gcfac gcfactor gd generalized_lambert_w genfact gen_laguerre genmatrix gensym' 17155 + ' geo_amortization geo_annuity_fv geo_annuity_pv geomap geometric geometric_mean' 17156 + ' geosum get getcurrentdirectory get_edge_weight getenv get_lu_factors get_output_stream_string' 17157 + ' get_pixel get_plot_option get_tex_environment get_tex_environment_default' 17158 + ' get_vertex_label gfactor gfactorsum ggf girth global_variances gn gnuplot_close' 17159 + ' gnuplot_replot gnuplot_reset gnuplot_restart gnuplot_start go Gosper GosperSum' 17160 + ' gr2d gr3d gradef gramschmidt graph6_decode graph6_encode graph6_export graph6_import' 17161 + ' graph_center graph_charpoly graph_eigenvalues graph_flow graph_order graph_periphery' 17162 + ' graph_product graph_size graph_union great_rhombicosidodecahedron_graph great_rhombicuboctahedron_graph' 17163 + ' grid_graph grind grobner_basis grotzch_graph hamilton_cycle hamilton_path' 17164 + ' hankel hankel_1 hankel_2 harmonic harmonic_mean hav heawood_graph hermite' 17165 + ' hessian hgfred hilbertmap hilbert_matrix hipow histogram histogram_description' 17166 + ' hodge horner hypergeometric i0 i1 %ibes ic1 ic2 ic_convert ichr1 ichr2 icosahedron_graph' 17167 + ' icosidodecahedron_graph icurvature ident identfor identity idiff idim idummy' 17168 + ' ieqn %if ifactors iframes ifs igcdex igeodesic_coords ilt image imagpart' 17169 + ' imetric implicit implicit_derivative implicit_plot indexed_tensor indices' 17170 + ' induced_subgraph inferencep inference_result infix info_display init_atensor' 17171 + ' init_ctensor in_neighbors innerproduct inpart inprod inrt integerp integer_partitions' 17172 + ' integrate intersect intersection intervalp intopois intosum invariant1 invariant2' 17173 + ' inverse_fft inverse_jacobi_cd inverse_jacobi_cn inverse_jacobi_cs inverse_jacobi_dc' 17174 + ' inverse_jacobi_dn inverse_jacobi_ds inverse_jacobi_nc inverse_jacobi_nd inverse_jacobi_ns' 17175 + ' inverse_jacobi_sc inverse_jacobi_sd inverse_jacobi_sn invert invert_by_adjoint' 17176 + ' invert_by_lu inv_mod irr is is_biconnected is_bipartite is_connected is_digraph' 17177 + ' is_edge_in_graph is_graph is_graph_or_digraph ishow is_isomorphic isolate' 17178 + ' isomorphism is_planar isqrt isreal_p is_sconnected is_tree is_vertex_in_graph' 17179 + ' items_inference %j j0 j1 jacobi jacobian jacobi_cd jacobi_cn jacobi_cs jacobi_dc' 17180 + ' jacobi_dn jacobi_ds jacobi_nc jacobi_nd jacobi_ns jacobi_p jacobi_sc jacobi_sd' 17181 + ' jacobi_sn JF jn join jordan julia julia_set julia_sin %k kdels kdelta kill' 17182 + ' killcontext kostka kron_delta kronecker_product kummer_m kummer_u kurtosis' 17183 + ' kurtosis_bernoulli kurtosis_beta kurtosis_binomial kurtosis_chi2 kurtosis_continuous_uniform' 17184 + ' kurtosis_discrete_uniform kurtosis_exp kurtosis_f kurtosis_gamma kurtosis_general_finite_discrete' 17185 + ' kurtosis_geometric kurtosis_gumbel kurtosis_hypergeometric kurtosis_laplace' 17186 + ' kurtosis_logistic kurtosis_lognormal kurtosis_negative_binomial kurtosis_noncentral_chi2' 17187 + ' kurtosis_noncentral_student_t kurtosis_normal kurtosis_pareto kurtosis_poisson' 17188 + ' kurtosis_rayleigh kurtosis_student_t kurtosis_weibull label labels lagrange' 17189 + ' laguerre lambda lambert_w laplace laplacian_matrix last lbfgs lc2kdt lcharp' 17190 + ' lc_l lcm lc_u ldefint ldisp ldisplay legendre_p legendre_q leinstein length' 17191 + ' let letrules letsimp levi_civita lfreeof lgtreillis lhs li liediff limit' 17192 + ' Lindstedt linear linearinterpol linear_program linear_regression line_graph' 17193 + ' linsolve listarray list_correlations listify list_matrix_entries list_nc_monomials' 17194 + ' listoftens listofvars listp lmax lmin load loadfile local locate_matrix_entry' 17195 + ' log logcontract log_gamma lopow lorentz_gauge lowercasep lpart lratsubst' 17196 + ' lreduce lriemann lsquares_estimates lsquares_estimates_approximate lsquares_estimates_exact' 17197 + ' lsquares_mse lsquares_residual_mse lsquares_residuals lsum ltreillis lu_backsub' 17198 + ' lucas lu_factor %m macroexpand macroexpand1 make_array makebox makefact makegamma' 17199 + ' make_graph make_level_picture makelist makeOrders make_poly_continent make_poly_country' 17200 + ' make_polygon make_random_state make_rgb_picture makeset make_string_input_stream' 17201 + ' make_string_output_stream make_transform mandelbrot mandelbrot_set map mapatom' 17202 + ' maplist matchdeclare matchfix mat_cond mat_fullunblocker mat_function mathml_display' 17203 + ' mat_norm matrix matrixmap matrixp matrix_size mattrace mat_trace mat_unblocker' 17204 + ' max max_clique max_degree max_flow maximize_lp max_independent_set max_matching' 17205 + ' maybe md5sum mean mean_bernoulli mean_beta mean_binomial mean_chi2 mean_continuous_uniform' 17206 + ' mean_deviation mean_discrete_uniform mean_exp mean_f mean_gamma mean_general_finite_discrete' 17207 + ' mean_geometric mean_gumbel mean_hypergeometric mean_laplace mean_logistic' 17208 + ' mean_lognormal mean_negative_binomial mean_noncentral_chi2 mean_noncentral_student_t' 17209 + ' mean_normal mean_pareto mean_poisson mean_rayleigh mean_student_t mean_weibull' 17210 + ' median median_deviation member mesh metricexpandall mgf1_sha1 min min_degree' 17211 + ' min_edge_cut minfactorial minimalPoly minimize_lp minimum_spanning_tree minor' 17212 + ' minpack_lsquares minpack_solve min_vertex_cover min_vertex_cut mkdir mnewton' 17213 + ' mod mode_declare mode_identity ModeMatrix moebius mon2schur mono monomial_dimensions' 17214 + ' multibernstein_poly multi_display_for_texinfo multi_elem multinomial multinomial_coeff' 17215 + ' multi_orbit multiplot_mode multi_pui multsym multthru mycielski_graph nary' 17216 + ' natural_unit nc_degree ncexpt ncharpoly negative_picture neighbors new newcontext' 17217 + ' newdet new_graph newline newton new_variable next_prime nicedummies niceindices' 17218 + ' ninth nofix nonarray noncentral_moment nonmetricity nonnegintegerp nonscalarp' 17219 + ' nonzeroandfreeof notequal nounify nptetrad npv nroots nterms ntermst' 17220 + ' nthroot nullity nullspace num numbered_boundaries numberp number_to_octets' 17221 + ' num_distinct_partitions numerval numfactor num_partitions nusum nzeta nzetai' 17222 + ' nzetar octets_to_number octets_to_oid odd_girth oddp ode2 ode_check odelin' 17223 + ' oid_to_octets op opena opena_binary openr openr_binary openw openw_binary' 17224 + ' operatorp opsubst optimize %or orbit orbits ordergreat ordergreatp orderless' 17225 + ' orderlessp orthogonal_complement orthopoly_recur orthopoly_weight outermap' 17226 + ' out_neighbors outofpois pade parabolic_cylinder_d parametric parametric_surface' 17227 + ' parg parGosper parse_string parse_timedate part part2cont partfrac partition' 17228 + ' partition_set partpol path_digraph path_graph pathname_directory pathname_name' 17229 + ' pathname_type pdf_bernoulli pdf_beta pdf_binomial pdf_cauchy pdf_chi2 pdf_continuous_uniform' 17230 + ' pdf_discrete_uniform pdf_exp pdf_f pdf_gamma pdf_general_finite_discrete' 17231 + ' pdf_geometric pdf_gumbel pdf_hypergeometric pdf_laplace pdf_logistic pdf_lognormal' 17232 + ' pdf_negative_binomial pdf_noncentral_chi2 pdf_noncentral_student_t pdf_normal' 17233 + ' pdf_pareto pdf_poisson pdf_rank_sum pdf_rayleigh pdf_signed_rank pdf_student_t' 17234 + ' pdf_weibull pearson_skewness permanent permut permutation permutations petersen_graph' 17235 + ' petrov pickapart picture_equalp picturep piechart piechart_description planar_embedding' 17236 + ' playback plog plot2d plot3d plotdf ploteq plsquares pochhammer points poisdiff' 17237 + ' poisexpt poisint poismap poisplus poissimp poissubst poistimes poistrim polar' 17238 + ' polarform polartorect polar_to_xy poly_add poly_buchberger poly_buchberger_criterion' 17239 + ' poly_colon_ideal poly_content polydecomp poly_depends_p poly_elimination_ideal' 17240 + ' poly_exact_divide poly_expand poly_expt poly_gcd polygon poly_grobner poly_grobner_equal' 17241 + ' poly_grobner_member poly_grobner_subsetp poly_ideal_intersection poly_ideal_polysaturation' 17242 + ' poly_ideal_polysaturation1 poly_ideal_saturation poly_ideal_saturation1 poly_lcm' 17243 + ' poly_minimization polymod poly_multiply polynome2ele polynomialp poly_normal_form' 17244 + ' poly_normalize poly_normalize_list poly_polysaturation_extension poly_primitive_part' 17245 + ' poly_pseudo_divide poly_reduced_grobner poly_reduction poly_saturation_extension' 17246 + ' poly_s_polynomial poly_subtract polytocompanion pop postfix potential power_mod' 17247 + ' powerseries powerset prefix prev_prime primep primes principal_components' 17248 + ' print printf printfile print_graph printpois printprops prodrac product properties' 17249 + ' propvars psi psubst ptriangularize pui pui2comp pui2ele pui2polynome pui_direct' 17250 + ' puireduc push put pv qput qrange qty quad_control quad_qag quad_qagi quad_qagp' 17251 + ' quad_qags quad_qawc quad_qawf quad_qawo quad_qaws quadrilateral quantile' 17252 + ' quantile_bernoulli quantile_beta quantile_binomial quantile_cauchy quantile_chi2' 17253 + ' quantile_continuous_uniform quantile_discrete_uniform quantile_exp quantile_f' 17254 + ' quantile_gamma quantile_general_finite_discrete quantile_geometric quantile_gumbel' 17255 + ' quantile_hypergeometric quantile_laplace quantile_logistic quantile_lognormal' 17256 + ' quantile_negative_binomial quantile_noncentral_chi2 quantile_noncentral_student_t' 17257 + ' quantile_normal quantile_pareto quantile_poisson quantile_rayleigh quantile_student_t' 17258 + ' quantile_weibull quartile_skewness quit qunit quotient racah_v racah_w radcan' 17259 + ' radius random random_bernoulli random_beta random_binomial random_bipartite_graph' 17260 + ' random_cauchy random_chi2 random_continuous_uniform random_digraph random_discrete_uniform' 17261 + ' random_exp random_f random_gamma random_general_finite_discrete random_geometric' 17262 + ' random_graph random_graph1 random_gumbel random_hypergeometric random_laplace' 17263 + ' random_logistic random_lognormal random_negative_binomial random_network' 17264 + ' random_noncentral_chi2 random_noncentral_student_t random_normal random_pareto' 17265 + ' random_permutation random_poisson random_rayleigh random_regular_graph random_student_t' 17266 + ' random_tournament random_tree random_weibull range rank rat ratcoef ratdenom' 17267 + ' ratdiff ratdisrep ratexpand ratinterpol rational rationalize ratnumer ratnump' 17268 + ' ratp ratsimp ratsubst ratvars ratweight read read_array read_binary_array' 17269 + ' read_binary_list read_binary_matrix readbyte readchar read_hashed_array readline' 17270 + ' read_list read_matrix read_nested_list readonly read_xpm real_imagpart_to_conjugate' 17271 + ' realpart realroots rearray rectangle rectform rectform_log_if_constant recttopolar' 17272 + ' rediff reduce_consts reduce_order region region_boundaries region_boundaries_plus' 17273 + ' rem remainder remarray rembox remcomps remcon remcoord remfun remfunction' 17274 + ' remlet remove remove_constvalue remove_dimensions remove_edge remove_fundamental_dimensions' 17275 + ' remove_fundamental_units remove_plot_option remove_vertex rempart remrule' 17276 + ' remsym remvalue rename rename_file reset reset_displays residue resolvante' 17277 + ' resolvante_alternee1 resolvante_bipartite resolvante_diedrale resolvante_klein' 17278 + ' resolvante_klein3 resolvante_produit_sym resolvante_unitaire resolvante_vierer' 17279 + ' rest resultant return reveal reverse revert revert2 rgb2level rhs ricci riemann' 17280 + ' rinvariant risch rk rmdir rncombine romberg room rootscontract round row' 17281 + ' rowop rowswap rreduce run_testsuite %s save saving scalarp scaled_bessel_i' 17282 + ' scaled_bessel_i0 scaled_bessel_i1 scalefactors scanmap scatterplot scatterplot_description' 17283 + ' scene schur2comp sconcat scopy scsimp scurvature sdowncase sec sech second' 17284 + ' sequal sequalignore set_alt_display setdifference set_draw_defaults set_edge_weight' 17285 + ' setelmx setequalp setify setp set_partitions set_plot_option set_prompt set_random_state' 17286 + ' set_tex_environment set_tex_environment_default setunits setup_autoload set_up_dot_simplifications' 17287 + ' set_vertex_label seventh sexplode sf sha1sum sha256sum shortest_path shortest_weighted_path' 17288 + ' show showcomps showratvars sierpinskiale sierpinskimap sign signum similaritytransform' 17289 + ' simp_inequality simplify_sum simplode simpmetderiv simtran sin sinh sinsert' 17290 + ' sinvertcase sixth skewness skewness_bernoulli skewness_beta skewness_binomial' 17291 + ' skewness_chi2 skewness_continuous_uniform skewness_discrete_uniform skewness_exp' 17292 + ' skewness_f skewness_gamma skewness_general_finite_discrete skewness_geometric' 17293 + ' skewness_gumbel skewness_hypergeometric skewness_laplace skewness_logistic' 17294 + ' skewness_lognormal skewness_negative_binomial skewness_noncentral_chi2 skewness_noncentral_student_t' 17295 + ' skewness_normal skewness_pareto skewness_poisson skewness_rayleigh skewness_student_t' 17296 + ' skewness_weibull slength smake small_rhombicosidodecahedron_graph small_rhombicuboctahedron_graph' 17297 + ' smax smin smismatch snowmap snub_cube_graph snub_dodecahedron_graph solve' 17298 + ' solve_rec solve_rec_rat some somrac sort sparse6_decode sparse6_encode sparse6_export' 17299 + ' sparse6_import specint spherical spherical_bessel_j spherical_bessel_y spherical_hankel1' 17300 + ' spherical_hankel2 spherical_harmonic spherical_to_xyz splice split sposition' 17301 + ' sprint sqfr sqrt sqrtdenest sremove sremovefirst sreverse ssearch ssort sstatus' 17302 + ' ssubst ssubstfirst staircase standardize standardize_inverse_trig starplot' 17303 + ' starplot_description status std std1 std_bernoulli std_beta std_binomial' 17304 + ' std_chi2 std_continuous_uniform std_discrete_uniform std_exp std_f std_gamma' 17305 + ' std_general_finite_discrete std_geometric std_gumbel std_hypergeometric std_laplace' 17306 + ' std_logistic std_lognormal std_negative_binomial std_noncentral_chi2 std_noncentral_student_t' 17307 + ' std_normal std_pareto std_poisson std_rayleigh std_student_t std_weibull' 17308 + ' stemplot stirling stirling1 stirling2 strim striml strimr string stringout' 17309 + ' stringp strong_components struve_h struve_l sublis sublist sublist_indices' 17310 + ' submatrix subsample subset subsetp subst substinpart subst_parallel substpart' 17311 + ' substring subvar subvarp sum sumcontract summand_to_rec supcase supcontext' 17312 + ' symbolp symmdifference symmetricp system take_channel take_inference tan' 17313 + ' tanh taylor taylorinfo taylorp taylor_simplifier taytorat tcl_output tcontract' 17314 + ' tellrat tellsimp tellsimpafter tentex tenth test_mean test_means_difference' 17315 + ' test_normality test_proportion test_proportions_difference test_rank_sum' 17316 + ' test_sign test_signed_rank test_variance test_variance_ratio tex tex1 tex_display' 17317 + ' texput %th third throw time timedate timer timer_info tldefint tlimit todd_coxeter' 17318 + ' toeplitz tokens to_lisp topological_sort to_poly to_poly_solve totaldisrep' 17319 + ' totalfourier totient tpartpol trace tracematrix trace_options transform_sample' 17320 + ' translate translate_file transpose treefale tree_reduce treillis treinat' 17321 + ' triangle triangularize trigexpand trigrat trigreduce trigsimp trunc truncate' 17322 + ' truncated_cube_graph truncated_dodecahedron_graph truncated_icosahedron_graph' 17323 + ' truncated_tetrahedron_graph tr_warnings_get tube tutte_graph ueivects uforget' 17324 + ' ultraspherical underlying_graph undiff union unique uniteigenvectors unitp' 17325 + ' units unit_step unitvector unorder unsum untellrat untimer' 17326 + ' untrace uppercasep uricci uriemann uvect vandermonde_matrix var var1 var_bernoulli' 17327 + ' var_beta var_binomial var_chi2 var_continuous_uniform var_discrete_uniform' 17328 + ' var_exp var_f var_gamma var_general_finite_discrete var_geometric var_gumbel' 17329 + ' var_hypergeometric var_laplace var_logistic var_lognormal var_negative_binomial' 17330 + ' var_noncentral_chi2 var_noncentral_student_t var_normal var_pareto var_poisson' 17331 + ' var_rayleigh var_student_t var_weibull vector vectorpotential vectorsimp' 17332 + ' verbify vers vertex_coloring vertex_connectivity vertex_degree vertex_distance' 17333 + ' vertex_eccentricity vertex_in_degree vertex_out_degree vertices vertices_to_cycle' 17334 + ' vertices_to_path %w weyl wheel_graph wiener_index wigner_3j wigner_6j' 17335 + ' wigner_9j with_stdout write_binary_data writebyte write_data writefile wronskian' 17336 + ' xreduce xthru %y Zeilberger zeroequiv zerofor zeromatrix zeromatrixp zeta' 17337 + ' zgeev zheev zlange zn_add_table zn_carmichael_lambda zn_characteristic_factors' 17338 + ' zn_determinant zn_factor_generators zn_invert_by_lu zn_log zn_mult_table' 17339 + ' absboxchar activecontexts adapt_depth additive adim aform algebraic' 17340 + ' algepsilon algexact aliases allbut all_dotsimp_denoms allocation allsym alphabetic' 17341 + ' animation antisymmetric arrays askexp assume_pos assume_pos_pred assumescalar' 17342 + ' asymbol atomgrad atrig1 axes axis_3d axis_bottom axis_left axis_right axis_top' 17343 + ' azimuth background background_color backsubst berlefact bernstein_explicit' 17344 + ' besselexpand beta_args_sum_to_integer beta_expand bftorat bftrunc bindtest' 17345 + ' border boundaries_array box boxchar breakup %c capping cauchysum cbrange' 17346 + ' cbtics center cflength cframe_flag cnonmet_flag color color_bar color_bar_tics' 17347 + ' colorbox columns commutative complex cone context contexts contour contour_levels' 17348 + ' cosnpiflag ctaypov ctaypt ctayswitch ctayvar ct_coords ctorsion_flag ctrgsimp' 17349 + ' cube current_let_rule_package cylinder data_file_name debugmode decreasing' 17350 + ' default_let_rule_package delay dependencies derivabbrev derivsubst detout' 17351 + ' diagmetric diff dim dimensions dispflag display2d|10 display_format_internal' 17352 + ' distribute_over doallmxops domain domxexpt domxmxops domxnctimes dontfactor' 17353 + ' doscmxops doscmxplus dot0nscsimp dot0simp dot1simp dotassoc dotconstrules' 17354 + ' dotdistrib dotexptsimp dotident dotscrules draw_graph_program draw_realpart' 17355 + ' edge_color edge_coloring edge_partition edge_type edge_width %edispflag' 17356 + ' elevation %emode endphi endtheta engineering_format_floats enhanced3d %enumer' 17357 + ' epsilon_lp erfflag erf_representation errormsg error_size error_syms error_type' 17358 + ' %e_to_numlog eval even evenfun evflag evfun ev_point expandwrt_denom expintexpand' 17359 + ' expintrep expon expop exptdispflag exptisolate exptsubst facexpand facsum_combine' 17360 + ' factlim factorflag factorial_expand factors_only fb feature features' 17361 + ' file_name file_output_append file_search_demo file_search_lisp file_search_maxima|10' 17362 + ' file_search_tests file_search_usage file_type_lisp file_type_maxima|10 fill_color' 17363 + ' fill_density filled_func fixed_vertices flipflag float2bf font font_size' 17364 + ' fortindent fortspaces fpprec fpprintprec functions gamma_expand gammalim' 17365 + ' gdet genindex gensumnum GGFCFMAX GGFINFINITY globalsolve gnuplot_command' 17366 + ' gnuplot_curve_styles gnuplot_curve_titles gnuplot_default_term_command gnuplot_dumb_term_command' 17367 + ' gnuplot_file_args gnuplot_file_name gnuplot_out_file gnuplot_pdf_term_command' 17368 + ' gnuplot_pm3d gnuplot_png_term_command gnuplot_postamble gnuplot_preamble' 17369 + ' gnuplot_ps_term_command gnuplot_svg_term_command gnuplot_term gnuplot_view_args' 17370 + ' Gosper_in_Zeilberger gradefs grid grid2d grind halfangles head_angle head_both' 17371 + ' head_length head_type height hypergeometric_representation %iargs ibase' 17372 + ' icc1 icc2 icounter idummyx ieqnprint ifb ifc1 ifc2 ifg ifgi ifr iframe_bracket_form' 17373 + ' ifri igeowedge_flag ikt1 ikt2 imaginary inchar increasing infeval' 17374 + ' infinity inflag infolists inm inmc1 inmc2 intanalysis integer integervalued' 17375 + ' integrate_use_rootsof integration_constant integration_constant_counter interpolate_color' 17376 + ' intfaclim ip_grid ip_grid_in irrational isolate_wrt_times iterations itr' 17377 + ' julia_parameter %k1 %k2 keepfloat key key_pos kinvariant kt label label_alignment' 17378 + ' label_orientation labels lassociative lbfgs_ncorrections lbfgs_nfeval_max' 17379 + ' leftjust legend letrat let_rule_packages lfg lg lhospitallim limsubst linear' 17380 + ' linear_solver linechar linel|10 linenum line_type linewidth line_width linsolve_params' 17381 + ' linsolvewarn lispdisp listarith listconstvars listdummyvars lmxchar load_pathname' 17382 + ' loadprint logabs logarc logcb logconcoeffp logexpand lognegint logsimp logx' 17383 + ' logx_secondary logy logy_secondary logz lriem m1pbranch macroexpansion macros' 17384 + ' mainvar manual_demo maperror mapprint matrix_element_add matrix_element_mult' 17385 + ' matrix_element_transpose maxapplydepth maxapplyheight maxima_tempdir|10 maxima_userdir|10' 17386 + ' maxnegex MAX_ORD maxposex maxpsifracdenom maxpsifracnum maxpsinegint maxpsiposint' 17387 + ' maxtayorder mesh_lines_color method mod_big_prime mode_check_errorp' 17388 + ' mode_checkp mode_check_warnp mod_test mod_threshold modular_linear_solver' 17389 + ' modulus multiplicative multiplicities myoptions nary negdistrib negsumdispflag' 17390 + ' newline newtonepsilon newtonmaxiter nextlayerfactor niceindicespref nm nmc' 17391 + ' noeval nolabels nonegative_lp noninteger nonscalar noun noundisp nouns np' 17392 + ' npi nticks ntrig numer numer_pbranch obase odd oddfun opacity opproperties' 17393 + ' opsubst optimprefix optionset orientation origin orthopoly_returns_intervals' 17394 + ' outative outchar packagefile palette partswitch pdf_file pfeformat phiresolution' 17395 + ' %piargs piece pivot_count_sx pivot_max_sx plot_format plot_options plot_realpart' 17396 + ' png_file pochhammer_max_index points pointsize point_size points_joined point_type' 17397 + ' poislim poisson poly_coefficient_ring poly_elimination_order polyfactor poly_grobner_algorithm' 17398 + ' poly_grobner_debug poly_monomial_order poly_primary_elimination_order poly_return_term_list' 17399 + ' poly_secondary_elimination_order poly_top_reduction_only posfun position' 17400 + ' powerdisp pred prederror primep_number_of_tests product_use_gamma program' 17401 + ' programmode promote_float_to_bigfloat prompt proportional_axes props psexpand' 17402 + ' ps_file radexpand radius radsubstflag rassociative ratalgdenom ratchristof' 17403 + ' ratdenomdivide rateinstein ratepsilon ratfac rational ratmx ratprint ratriemann' 17404 + ' ratsimpexpons ratvarswitch ratweights ratweyl ratwtlvl real realonly redraw' 17405 + ' refcheck resolution restart resultant ric riem rmxchar %rnum_list rombergabs' 17406 + ' rombergit rombergmin rombergtol rootsconmode rootsepsilon run_viewer same_xy' 17407 + ' same_xyz savedef savefactors scalar scalarmatrixp scale scale_lp setcheck' 17408 + ' setcheckbreak setval show_edge_color show_edges show_edge_type show_edge_width' 17409 + ' show_id show_label showtime show_vertex_color show_vertex_size show_vertex_type' 17410 + ' show_vertices show_weight simp simplified_output simplify_products simpproduct' 17411 + ' simpsum sinnpiflag solvedecomposes solveexplicit solvefactors solvenullwarn' 17412 + ' solveradcan solvetrigwarn space sparse sphere spring_embedding_depth sqrtdispflag' 17413 + ' stardisp startphi starttheta stats_numer stringdisp structures style sublis_apply_lambda' 17414 + ' subnumsimp sumexpand sumsplitfact surface surface_hide svg_file symmetric' 17415 + ' tab taylordepth taylor_logexpand taylor_order_coefficients taylor_truncate_polynomials' 17416 + ' tensorkill terminal testsuite_files thetaresolution timer_devalue title tlimswitch' 17417 + ' tr track transcompile transform transform_xy translate_fast_arrays transparent' 17418 + ' transrun tr_array_as_ref tr_bound_function_applyp tr_file_tty_messagesp tr_float_can_branch_complex' 17419 + ' tr_function_call_default trigexpandplus trigexpandtimes triginverses trigsign' 17420 + ' trivial_solutions tr_numer tr_optimize_max_loop tr_semicompile tr_state_vars' 17421 + ' tr_warn_bad_function_calls tr_warn_fexpr tr_warn_meval tr_warn_mode' 17422 + ' tr_warn_undeclared tr_warn_undefined_variable tstep ttyoff tube_extremes' 17423 + ' ufg ug %unitexpand unit_vectors uric uriem use_fast_arrays user_preamble' 17424 + ' usersetunits values vect_cross verbose vertex_color vertex_coloring vertex_partition' 17425 + ' vertex_size vertex_type view warnings weyl width windowname windowtitle wired_surface' 17426 + ' wireframe xaxis xaxis_color xaxis_secondary xaxis_type xaxis_width xlabel' 17427 + ' xlabel_secondary xlength xrange xrange_secondary xtics xtics_axis xtics_rotate' 17428 + ' xtics_rotate_secondary xtics_secondary xtics_secondary_axis xu_grid x_voxel' 17429 + ' xy_file xyplane xy_scale yaxis yaxis_color yaxis_secondary yaxis_type yaxis_width' 17430 + ' ylabel ylabel_secondary ylength yrange yrange_secondary ytics ytics_axis' 17431 + ' ytics_rotate ytics_rotate_secondary ytics_secondary ytics_secondary_axis' 17432 + ' yv_grid y_voxel yx_ratio zaxis zaxis_color zaxis_type zaxis_width zeroa zerob' 17433 + ' zerobern zeta%pi zlabel zlabel_rotate zlength zmin zn_primroot_limit zn_primroot_pretest'; 17434 var SYMBOLS = '_ __ %|0 %%|0'; 17435 17436 return { 17437 lexemes: '[A-Za-z_%][0-9A-Za-z_%]*', 17438 keywords: { 17439 keyword: KEYWORDS, 17440 literal: LITERALS, 17441 built_in: BUILTIN_FUNCTIONS, 17442 symbol: SYMBOLS, 17443 }, 17444 contains: [ 17445 { 17446 className: 'comment', 17447 begin: '/\\*', 17448 end: '\\*/', 17449 contains: ['self'] 17450 }, 17451 hljs.QUOTE_STRING_MODE, 17452 { 17453 className: 'number', 17454 relevance: 0, 17455 variants: [ 17456 { 17457 // float number w/ exponent 17458 // hmm, I wonder if we ought to include other exponent markers? 17459 begin: '\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Ee][-+]?\\d+\\b', 17460 }, 17461 { 17462 // bigfloat number 17463 begin: '\\b(\\d+|\\d+\\.|\\.\\d+|\\d+\\.\\d+)[Bb][-+]?\\d+\\b', 17464 relevance: 10 17465 }, 17466 { 17467 // float number w/out exponent 17468 // Doesn't seem to recognize floats which start with '.' 17469 begin: '\\b(\\.\\d+|\\d+\\.\\d+)\\b', 17470 }, 17471 { 17472 // integer in base up to 36 17473 // Doesn't seem to recognize integers which end with '.' 17474 begin: '\\b(\\d+|0[0-9A-Za-z]+)\\.?\\b', 17475 } 17476 ] 17477 } 17478 ], 17479 illegal: /@/ 17480 } 17481 } 17482 17483 },{name:"mel",create:/* 17484 Language: MEL 17485 Description: Maya Embedded Language 17486 Author: Shuen-Huei Guan <drake.guan@gmail.com> 17487 Category: graphics 17488 */ 17489 17490 function(hljs) { 17491 return { 17492 keywords: 17493 'int float string vector matrix if else switch case default while do for in break ' + 17494 'continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic ' + 17495 'addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey ' + 17496 'affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve ' + 17497 'alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor ' + 17498 'animDisplay animView annotate appendStringArray applicationName applyAttrPreset ' + 17499 'applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx ' + 17500 'artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu ' + 17501 'artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand ' + 17502 'assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface ' + 17503 'attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu ' + 17504 'attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp ' + 17505 'attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery ' + 17506 'autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults ' + 17507 'bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership ' + 17508 'bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType ' + 17509 'boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu ' + 17510 'buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge ' + 17511 'cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch ' + 17512 'catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox ' + 17513 'character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp ' + 17514 'checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip ' + 17515 'clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore ' + 17516 'closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter ' + 17517 'cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color ' + 17518 'colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp ' + 17519 'colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem ' + 17520 'componentEditor compositingInterop computePolysetVolume condition cone confirmDialog ' + 17521 'connectAttr connectControl connectDynamic connectJoint connectionInfo constrain ' + 17522 'constrainValue constructionHistory container containsMultibyte contextInfo control ' + 17523 'convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation ' + 17524 'convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache ' + 17525 'cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel ' + 17526 'cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver ' + 17527 'cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor ' + 17528 'createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer ' + 17529 'createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse ' + 17530 'currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx ' + 17531 'curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface ' + 17532 'curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox ' + 17533 'defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete ' + 17534 'deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes ' + 17535 'delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo ' + 17536 'dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable ' + 17537 'disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected ' + 17538 'displayColor displayCull displayLevelOfDetail displayPref displayRGBColor ' + 17539 'displaySmoothness displayStats displayString displaySurface distanceDimContext ' + 17540 'distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct ' + 17541 'doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator ' + 17542 'duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression ' + 17543 'dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor ' + 17544 'dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers ' + 17545 'editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor ' + 17546 'editorTemplate effector emit emitter enableDevice encodeString endString endsWith env ' + 17547 'equivalent equivalentTol erf error eval evalDeferred evalEcho event ' + 17548 'exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp ' + 17549 'expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof ' + 17550 'fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo ' + 17551 'filetest filletCurve filter filterCurve filterExpand filterStudioImport ' + 17552 'findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster ' + 17553 'finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar ' + 17554 'floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo ' + 17555 'fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint ' + 17556 'frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss ' + 17557 'geometryConstraint getApplicationVersionAsFloat getAttr getClassification ' + 17558 'getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes ' + 17559 'getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender ' + 17560 'glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl ' + 17561 'gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid ' + 17562 'gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap ' + 17563 'HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor ' + 17564 'HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached ' + 17565 'HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel ' + 17566 'headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey ' + 17567 'hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender ' + 17568 'hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox ' + 17569 'iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ' + 17570 'ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ' + 17571 'ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform ' + 17572 'insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance ' + 17573 'instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp ' + 17574 'interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf ' + 17575 'isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect ' + 17576 'itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx ' + 17577 'jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner ' + 17578 'keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx ' + 17579 'keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx ' + 17580 'keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx ' + 17581 'keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor ' + 17582 'layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList ' + 17583 'lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep ' + 17584 'listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory ' + 17585 'listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation ' + 17586 'listNodeTypes listPanelCategories listRelatives listSets listTransforms ' + 17587 'listUnselected listerEditor loadFluid loadNewShelf loadPlugin ' + 17588 'loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log ' + 17589 'longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive ' + 17590 'makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext ' + 17591 'manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx ' + 17592 'manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout ' + 17593 'menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp ' + 17594 'mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move ' + 17595 'moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute ' + 17596 'nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast ' + 17597 'nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint ' + 17598 'normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect ' + 17599 'nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref ' + 17600 'nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType ' + 17601 'objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface ' + 17602 'offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit ' + 17603 'orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier ' + 17604 'paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration ' + 17605 'panelHistory paramDimContext paramDimension paramLocator parent parentConstraint ' + 17606 'particle particleExists particleInstancer particleRenderInfo partition pasteKey ' + 17607 'pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture ' + 17608 'pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo ' + 17609 'pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult ' + 17610 'pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend ' + 17611 'polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal ' + 17612 'polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge ' + 17613 'polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge ' + 17614 'polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet ' + 17615 'polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet ' + 17616 'polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection ' + 17617 'polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge ' + 17618 'polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet ' + 17619 'polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix ' + 17620 'polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut ' + 17621 'polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet ' + 17622 'polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge ' + 17623 'polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex ' + 17624 'polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection ' + 17625 'polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection ' + 17626 'polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint ' + 17627 'polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate ' + 17628 'polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge ' + 17629 'polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing ' + 17630 'polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet ' + 17631 'polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace ' + 17632 'popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer ' + 17633 'projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx ' + 17634 'propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd ' + 17635 'python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection ' + 17636 'radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl ' + 17637 'readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference ' + 17638 'referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE ' + 17639 'registerPluginResource rehash reloadImage removeJoint removeMultiInstance ' + 17640 'removePanelCategory rename renameAttr renameSelectionList renameUI render ' + 17641 'renderGlobalsNode renderInfo renderLayerButton renderLayerParent ' + 17642 'renderLayerPostProcess renderLayerUnparent renderManip renderPartition ' + 17643 'renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor ' + 17644 'renderWindowSelectContext renderer reorder reorderDeformers requires reroot ' + 17645 'resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget ' + 17646 'reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx ' + 17647 'rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout ' + 17648 'runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage ' + 17649 'saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale ' + 17650 'scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor ' + 17651 'sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable ' + 17652 'scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt ' + 17653 'searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey ' + 17654 'selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType ' + 17655 'selectedNodes selectionConnection separator setAttr setAttrEnumResource ' + 17656 'setAttrMapping setAttrNiceNameResource setConstraintRestPosition ' + 17657 'setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr ' + 17658 'setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe ' + 17659 'setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag ' + 17660 'setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject ' + 17661 'setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets ' + 17662 'shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare ' + 17663 'shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField ' + 17664 'shortNameOf showHelp showHidden showManipCtx showSelectionInTitle ' + 17665 'showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface ' + 17666 'size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep ' + 17667 'snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound ' + 17668 'soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort ' + 17669 'spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString ' + 17670 'startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp ' + 17671 'stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex ' + 17672 'stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex ' + 17673 'stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString ' + 17674 'stringToStringArray strip stripPrefixFromName stroke subdAutoProjection ' + 17675 'subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV ' + 17676 'subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror ' + 17677 'subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease ' + 17678 'subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring ' + 17679 'surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton ' + 17680 'symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext ' + 17681 'texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext ' + 17682 'texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text ' + 17683 'textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList ' + 17684 'textToShelf textureDisplacePlane textureHairColor texturePlacementContext ' + 17685 'textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath ' + 17686 'toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower ' + 17687 'toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper ' + 17688 'trace track trackCtx transferAttributes transformCompare transformLimits translator ' + 17689 'trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence ' + 17690 'twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit ' + 17691 'unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink ' + 17692 'uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane ' + 17693 'viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex ' + 17694 'waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire ' + 17695 'wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform', 17696 illegal: '</', 17697 contains: [ 17698 hljs.C_NUMBER_MODE, 17699 hljs.APOS_STRING_MODE, 17700 hljs.QUOTE_STRING_MODE, 17701 { 17702 className: 'string', 17703 begin: '`', end: '`', 17704 contains: [hljs.BACKSLASH_ESCAPE] 17705 }, 17706 { // eats variables 17707 begin: '[\\$\\%\\@](\\^\\w\\b|#\\w+|[^\\s\\w{]|{\\w+}|\\w+)' 17708 }, 17709 hljs.C_LINE_COMMENT_MODE, 17710 hljs.C_BLOCK_COMMENT_MODE 17711 ] 17712 }; 17713 } 17714 },{name:"mercury",create:/* 17715 Language: Mercury 17716 Author: mucaho <mkucko@gmail.com> 17717 Description: Mercury is a logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features. 17718 */ 17719 17720 function(hljs) { 17721 var KEYWORDS = { 17722 keyword: 17723 'module use_module import_module include_module end_module initialise ' + 17724 'mutable initialize finalize finalise interface implementation pred ' + 17725 'mode func type inst solver any_pred any_func is semidet det nondet ' + 17726 'multi erroneous failure cc_nondet cc_multi typeclass instance where ' + 17727 'pragma promise external trace atomic or_else require_complete_switch ' + 17728 'require_det require_semidet require_multi require_nondet ' + 17729 'require_cc_multi require_cc_nondet require_erroneous require_failure', 17730 meta: 17731 // pragma 17732 'inline no_inline type_spec source_file fact_table obsolete memo ' + 17733 'loop_check minimal_model terminates does_not_terminate ' + 17734 'check_termination promise_equivalent_clauses ' + 17735 // preprocessor 17736 'foreign_proc foreign_decl foreign_code foreign_type ' + 17737 'foreign_import_module foreign_export_enum foreign_export ' + 17738 'foreign_enum may_call_mercury will_not_call_mercury thread_safe ' + 17739 'not_thread_safe maybe_thread_safe promise_pure promise_semipure ' + 17740 'tabled_for_io local untrailed trailed attach_to_io_state ' + 17741 'can_pass_as_mercury_type stable will_not_throw_exception ' + 17742 'may_modify_trail will_not_modify_trail may_duplicate ' + 17743 'may_not_duplicate affects_liveness does_not_affect_liveness ' + 17744 'doesnt_affect_liveness no_sharing unknown_sharing sharing', 17745 built_in: 17746 'some all not if then else true fail false try catch catch_any ' + 17747 'semidet_true semidet_false semidet_fail impure_true impure semipure' 17748 }; 17749 17750 var COMMENT = hljs.COMMENT('%', '$'); 17751 17752 var NUMCODE = { 17753 className: 'number', 17754 begin: "0'.\\|0[box][0-9a-fA-F]*" 17755 }; 17756 17757 var ATOM = hljs.inherit(hljs.APOS_STRING_MODE, {relevance: 0}); 17758 var STRING = hljs.inherit(hljs.QUOTE_STRING_MODE, {relevance: 0}); 17759 var STRING_FMT = { 17760 className: 'subst', 17761 begin: '\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]', 17762 relevance: 0 17763 }; 17764 STRING.contains.push(STRING_FMT); 17765 17766 var IMPLICATION = { 17767 className: 'built_in', 17768 variants: [ 17769 {begin: '<=>'}, 17770 {begin: '<=', relevance: 0}, 17771 {begin: '=>', relevance: 0}, 17772 {begin: '/\\\\'}, 17773 {begin: '\\\\/'} 17774 ] 17775 }; 17776 17777 var HEAD_BODY_CONJUNCTION = { 17778 className: 'built_in', 17779 variants: [ 17780 {begin: ':-\\|-->'}, 17781 {begin: '=', relevance: 0} 17782 ] 17783 }; 17784 17785 return { 17786 aliases: ['m', 'moo'], 17787 keywords: KEYWORDS, 17788 contains: [ 17789 IMPLICATION, 17790 HEAD_BODY_CONJUNCTION, 17791 COMMENT, 17792 hljs.C_BLOCK_COMMENT_MODE, 17793 NUMCODE, 17794 hljs.NUMBER_MODE, 17795 ATOM, 17796 STRING, 17797 {begin: /:-/} // relevance booster 17798 ] 17799 }; 17800 } 17801 },{name:"mipsasm",create:/* 17802 Language: MIPS Assembly 17803 Author: Nebuleon Fumika <nebuleon.fumika@gmail.com> 17804 Description: MIPS Assembly (up to MIPS32R2) 17805 Category: assembler 17806 */ 17807 17808 function(hljs) { 17809 //local labels: %?[FB]?[AT]?\d{1,2}\w+ 17810 return { 17811 case_insensitive: true, 17812 aliases: ['mips'], 17813 lexemes: '\\.?' + hljs.IDENT_RE, 17814 keywords: { 17815 meta: 17816 //GNU preprocs 17817 '.2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .ltorg ', 17818 built_in: 17819 '$0 $1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 $13 $14 $15 ' + // integer registers 17820 '$16 $17 $18 $19 $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $30 $31 ' + // integer registers 17821 'zero at v0 v1 a0 a1 a2 a3 a4 a5 a6 a7 ' + // integer register aliases 17822 't0 t1 t2 t3 t4 t5 t6 t7 t8 t9 s0 s1 s2 s3 s4 s5 s6 s7 s8 ' + // integer register aliases 17823 'k0 k1 gp sp fp ra ' + // integer register aliases 17824 '$f0 $f1 $f2 $f2 $f4 $f5 $f6 $f7 $f8 $f9 $f10 $f11 $f12 $f13 $f14 $f15 ' + // floating-point registers 17825 '$f16 $f17 $f18 $f19 $f20 $f21 $f22 $f23 $f24 $f25 $f26 $f27 $f28 $f29 $f30 $f31 ' + // floating-point registers 17826 'Context Random EntryLo0 EntryLo1 Context PageMask Wired EntryHi ' + // Coprocessor 0 registers 17827 'HWREna BadVAddr Count Compare SR IntCtl SRSCtl SRSMap Cause EPC PRId ' + // Coprocessor 0 registers 17828 'EBase Config Config1 Config2 Config3 LLAddr Debug DEPC DESAVE CacheErr ' + // Coprocessor 0 registers 17829 'ECC ErrorEPC TagLo DataLo TagHi DataHi WatchLo WatchHi PerfCtl PerfCnt ' // Coprocessor 0 registers 17830 }, 17831 contains: [ 17832 { 17833 className: 'keyword', 17834 begin: '\\b('+ //mnemonics 17835 // 32-bit integer instructions 17836 'addi?u?|andi?|b(al)?|beql?|bgez(al)?l?|bgtzl?|blezl?|bltz(al)?l?|' + 17837 'bnel?|cl[oz]|divu?|ext|ins|j(al)?|jalr(\.hb)?|jr(\.hb)?|lbu?|lhu?|' + 17838 'll|lui|lw[lr]?|maddu?|mfhi|mflo|movn|movz|move|msubu?|mthi|mtlo|mul|' + 17839 'multu?|nop|nor|ori?|rotrv?|sb|sc|se[bh]|sh|sllv?|slti?u?|srav?|' + 17840 'srlv?|subu?|sw[lr]?|xori?|wsbh|' + 17841 // floating-point instructions 17842 'abs\.[sd]|add\.[sd]|alnv.ps|bc1[ft]l?|' + 17843 'c\.(s?f|un|u?eq|[ou]lt|[ou]le|ngle?|seq|l[et]|ng[et])\.[sd]|' + 17844 '(ceil|floor|round|trunc)\.[lw]\.[sd]|cfc1|cvt\.d\.[lsw]|' + 17845 'cvt\.l\.[dsw]|cvt\.ps\.s|cvt\.s\.[dlw]|cvt\.s\.p[lu]|cvt\.w\.[dls]|' + 17846 'div\.[ds]|ldx?c1|luxc1|lwx?c1|madd\.[sd]|mfc1|mov[fntz]?\.[ds]|' + 17847 'msub\.[sd]|mth?c1|mul\.[ds]|neg\.[ds]|nmadd\.[ds]|nmsub\.[ds]|' + 17848 'p[lu][lu]\.ps|recip\.fmt|r?sqrt\.[ds]|sdx?c1|sub\.[ds]|suxc1|' + 17849 'swx?c1|' + 17850 // system control instructions 17851 'break|cache|d?eret|[de]i|ehb|mfc0|mtc0|pause|prefx?|rdhwr|' + 17852 'rdpgpr|sdbbp|ssnop|synci?|syscall|teqi?|tgei?u?|tlb(p|r|w[ir])|' + 17853 'tlti?u?|tnei?|wait|wrpgpr'+ 17854 ')', 17855 end: '\\s' 17856 }, 17857 hljs.COMMENT('[;#]', '$'), 17858 hljs.C_BLOCK_COMMENT_MODE, 17859 hljs.QUOTE_STRING_MODE, 17860 { 17861 className: 'string', 17862 begin: '\'', 17863 end: '[^\\\\]\'', 17864 relevance: 0 17865 }, 17866 { 17867 className: 'title', 17868 begin: '\\|', end: '\\|', 17869 illegal: '\\n', 17870 relevance: 0 17871 }, 17872 { 17873 className: 'number', 17874 variants: [ 17875 {begin: '0x[0-9a-f]+'}, //hex 17876 {begin: '\\b-?\\d+'} //bare number 17877 ], 17878 relevance: 0 17879 }, 17880 { 17881 className: 'symbol', 17882 variants: [ 17883 {begin: '^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:'}, //GNU MIPS syntax 17884 {begin: '^\\s*[0-9]+:'}, // numbered local labels 17885 {begin: '[0-9]+[bf]' } // number local label reference (backwards, forwards) 17886 ], 17887 relevance: 0 17888 } 17889 ], 17890 illegal: '\/' 17891 }; 17892 } 17893 },{name:"mizar",create:/* 17894 Language: Mizar 17895 Author: Kelley van Evert <kelleyvanevert@gmail.com> 17896 Category: scientific 17897 */ 17898 17899 function(hljs) { 17900 return { 17901 keywords: 17902 'environ vocabularies notations constructors definitions ' + 17903 'registrations theorems schemes requirements begin end definition ' + 17904 'registration cluster existence pred func defpred deffunc theorem ' + 17905 'proof let take assume then thus hence ex for st holds consider ' + 17906 'reconsider such that and in provided of as from be being by means ' + 17907 'equals implies iff redefine define now not or attr is mode ' + 17908 'suppose per cases set thesis contradiction scheme reserve struct ' + 17909 'correctness compatibility coherence symmetry assymetry ' + 17910 'reflexivity irreflexivity connectedness uniqueness commutativity ' + 17911 'idempotence involutiveness projectivity', 17912 contains: [ 17913 hljs.COMMENT('::', '$') 17914 ] 17915 }; 17916 } 17917 },{name:"mojolicious",create:/* 17918 Language: Mojolicious 17919 Requires: xml.js, perl.js 17920 Author: Dotan Dimet <dotan@corky.net> 17921 Description: Mojolicious .ep (Embedded Perl) templates 17922 Category: template 17923 */ 17924 function(hljs) { 17925 return { 17926 subLanguage: 'xml', 17927 contains: [ 17928 { 17929 className: 'meta', 17930 begin: '^__(END|DATA)__$' 17931 }, 17932 // mojolicious line 17933 { 17934 begin: "^\\s*%{1,2}={0,2}", end: '$', 17935 subLanguage: 'perl' 17936 }, 17937 // mojolicious block 17938 { 17939 begin: "<%{1,2}={0,2}", 17940 end: "={0,1}%>", 17941 subLanguage: 'perl', 17942 excludeBegin: true, 17943 excludeEnd: true 17944 } 17945 ] 17946 }; 17947 } 17948 },{name:"monkey",create:/* 17949 Language: Monkey 17950 Author: Arthur Bikmullin <devolonter@gmail.com> 17951 */ 17952 17953 function(hljs) { 17954 var NUMBER = { 17955 className: 'number', relevance: 0, 17956 variants: [ 17957 { 17958 begin: '[$][a-fA-F0-9]+' 17959 }, 17960 hljs.NUMBER_MODE 17961 ] 17962 }; 17963 17964 return { 17965 case_insensitive: true, 17966 keywords: { 17967 keyword: 'public private property continue exit extern new try catch ' + 17968 'eachin not abstract final select case default const local global field ' + 17969 'end if then else elseif endif while wend repeat until forever for ' + 17970 'to step next return module inline throw import', 17971 17972 built_in: 'DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil ' + 17973 'Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI', 17974 17975 literal: 'true false null and or shl shr mod' 17976 }, 17977 illegal: /\/\*/, 17978 contains: [ 17979 hljs.COMMENT('#rem', '#end'), 17980 hljs.COMMENT( 17981 "'", 17982 '$', 17983 { 17984 relevance: 0 17985 } 17986 ), 17987 { 17988 className: 'function', 17989 beginKeywords: 'function method', end: '[(=:]|$', 17990 illegal: /\n/, 17991 contains: [ 17992 hljs.UNDERSCORE_TITLE_MODE 17993 ] 17994 }, 17995 { 17996 className: 'class', 17997 beginKeywords: 'class interface', end: '$', 17998 contains: [ 17999 { 18000 beginKeywords: 'extends implements' 18001 }, 18002 hljs.UNDERSCORE_TITLE_MODE 18003 ] 18004 }, 18005 { 18006 className: 'built_in', 18007 begin: '\\b(self|super)\\b' 18008 }, 18009 { 18010 className: 'meta', 18011 begin: '\\s*#', end: '$', 18012 keywords: {'meta-keyword': 'if else elseif endif end then'} 18013 }, 18014 { 18015 className: 'meta', 18016 begin: '^\\s*strict\\b' 18017 }, 18018 { 18019 beginKeywords: 'alias', end: '=', 18020 contains: [hljs.UNDERSCORE_TITLE_MODE] 18021 }, 18022 hljs.QUOTE_STRING_MODE, 18023 NUMBER 18024 ] 18025 } 18026 } 18027 },{name:"moonscript",create:/* 18028 Language: MoonScript 18029 Author: Billy Quith <chinbillybilbo@gmail.com> 18030 Description: MoonScript is a programming language that transcompiles to Lua. For info about language see http://moonscript.org/ 18031 Origin: coffeescript.js 18032 Category: scripting 18033 */ 18034 18035 function(hljs) { 18036 var KEYWORDS = { 18037 keyword: 18038 // Moonscript keywords 18039 'if then not for in while do return else elseif break continue switch and or ' + 18040 'unless when class extends super local import export from using', 18041 literal: 18042 'true false nil', 18043 built_in: 18044 '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load ' + 18045 'loadfile loadstring module next pairs pcall print rawequal rawget rawset require ' + 18046 'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ' + 18047 'io math os package string table' 18048 }; 18049 var JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*'; 18050 var SUBST = { 18051 className: 'subst', 18052 begin: /#\{/, end: /}/, 18053 keywords: KEYWORDS 18054 }; 18055 var EXPRESSIONS = [ 18056 hljs.inherit(hljs.C_NUMBER_MODE, 18057 {starts: {end: '(\\s*/)?', relevance: 0}}), // a number tries to eat the following slash to prevent treating it as a regexp 18058 { 18059 className: 'string', 18060 variants: [ 18061 { 18062 begin: /'/, end: /'/, 18063 contains: [hljs.BACKSLASH_ESCAPE] 18064 }, 18065 { 18066 begin: /"/, end: /"/, 18067 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 18068 } 18069 ] 18070 }, 18071 { 18072 className: 'built_in', 18073 begin: '@__' + hljs.IDENT_RE 18074 }, 18075 { 18076 begin: '@' + hljs.IDENT_RE // relevance booster on par with CoffeeScript 18077 }, 18078 { 18079 begin: hljs.IDENT_RE + '\\\\' + hljs.IDENT_RE // inst\method 18080 } 18081 ]; 18082 SUBST.contains = EXPRESSIONS; 18083 18084 var TITLE = hljs.inherit(hljs.TITLE_MODE, {begin: JS_IDENT_RE}); 18085 var PARAMS_RE = '(\\(.*\\))?\\s*\\B[-=]>'; 18086 var PARAMS = { 18087 className: 'params', 18088 begin: '\\([^\\(]', returnBegin: true, 18089 /* We need another contained nameless mode to not have every nested 18090 pair of parens to be called "params" */ 18091 contains: [{ 18092 begin: /\(/, end: /\)/, 18093 keywords: KEYWORDS, 18094 contains: ['self'].concat(EXPRESSIONS) 18095 }] 18096 }; 18097 18098 return { 18099 aliases: ['moon'], 18100 keywords: KEYWORDS, 18101 illegal: /\/\*/, 18102 contains: EXPRESSIONS.concat([ 18103 hljs.COMMENT('--', '$'), 18104 { 18105 className: 'function', // function: -> => 18106 begin: '^\\s*' + JS_IDENT_RE + '\\s*=\\s*' + PARAMS_RE, end: '[-=]>', 18107 returnBegin: true, 18108 contains: [TITLE, PARAMS] 18109 }, 18110 { 18111 begin: /[\(,:=]\s*/, // anonymous function start 18112 relevance: 0, 18113 contains: [ 18114 { 18115 className: 'function', 18116 begin: PARAMS_RE, end: '[-=]>', 18117 returnBegin: true, 18118 contains: [PARAMS] 18119 } 18120 ] 18121 }, 18122 { 18123 className: 'class', 18124 beginKeywords: 'class', 18125 end: '$', 18126 illegal: /[:="\[\]]/, 18127 contains: [ 18128 { 18129 beginKeywords: 'extends', 18130 endsWithParent: true, 18131 illegal: /[:="\[\]]/, 18132 contains: [TITLE] 18133 }, 18134 TITLE 18135 ] 18136 }, 18137 { 18138 className: 'name', // table 18139 begin: JS_IDENT_RE + ':', end: ':', 18140 returnBegin: true, returnEnd: true, 18141 relevance: 0 18142 } 18143 ]) 18144 }; 18145 } 18146 },{name:"n1ql",create:/* 18147 Language: N1QL 18148 Author: Andres Täht <andres.taht@gmail.com> 18149 Contributors: Rene Saarsoo <nene@triin.net> 18150 Description: Couchbase query language 18151 */ 18152 18153 function(hljs) { 18154 return { 18155 case_insensitive: true, 18156 contains: [ 18157 { 18158 beginKeywords: 18159 'build create index delete drop explain infer|10 insert merge prepare select update upsert|10', 18160 end: /;/, endsWithParent: true, 18161 keywords: { 18162 // Taken from http://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/reservedwords.html 18163 keyword: 18164 'all alter analyze and any array as asc begin between binary boolean break bucket build by call ' + 18165 'case cast cluster collate collection commit connect continue correlate cover create database ' + 18166 'dataset datastore declare decrement delete derived desc describe distinct do drop each element ' + 18167 'else end every except exclude execute exists explain fetch first flatten for force from ' + 18168 'function grant group gsi having if ignore ilike in include increment index infer inline inner ' + 18169 'insert intersect into is join key keys keyspace known last left let letting like limit lsm map ' + 18170 'mapping matched materialized merge minus namespace nest not number object offset on ' + 18171 'option or order outer over parse partition password path pool prepare primary private privilege ' + 18172 'procedure public raw realm reduce rename return returning revoke right role rollback satisfies ' + 18173 'schema select self semi set show some start statistics string system then to transaction trigger ' + 18174 'truncate under union unique unknown unnest unset update upsert use user using validate value ' + 18175 'valued values via view when where while with within work xor', 18176 // Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/literals.html 18177 literal: 18178 'true false null missing|5', 18179 // Taken from http://developer.couchbase.com/documentation/server/4.5/n1ql/n1ql-language-reference/functions.html 18180 built_in: 18181 'array_agg array_append array_concat array_contains array_count array_distinct array_ifnull array_length ' + 18182 'array_max array_min array_position array_prepend array_put array_range array_remove array_repeat array_replace ' + 18183 'array_reverse array_sort array_sum avg count max min sum greatest least ifmissing ifmissingornull ifnull ' + 18184 'missingif nullif ifinf ifnan ifnanorinf naninf neginfif posinfif clock_millis clock_str date_add_millis ' + 18185 'date_add_str date_diff_millis date_diff_str date_part_millis date_part_str date_trunc_millis date_trunc_str ' + 18186 'duration_to_str millis str_to_millis millis_to_str millis_to_utc millis_to_zone_name now_millis now_str ' + 18187 'str_to_duration str_to_utc str_to_zone_name decode_json encode_json encoded_size poly_length base64 base64_encode ' + 18188 'base64_decode meta uuid abs acos asin atan atan2 ceil cos degrees e exp ln log floor pi power radians random ' + 18189 'round sign sin sqrt tan trunc object_length object_names object_pairs object_inner_pairs object_values ' + 18190 'object_inner_values object_add object_put object_remove object_unwrap regexp_contains regexp_like regexp_position ' + 18191 'regexp_replace contains initcap length lower ltrim position repeat replace rtrim split substr title trim upper ' + 18192 'isarray isatom isboolean isnumber isobject isstring type toarray toatom toboolean tonumber toobject tostring' 18193 }, 18194 contains: [ 18195 { 18196 className: 'string', 18197 begin: '\'', end: '\'', 18198 contains: [hljs.BACKSLASH_ESCAPE], 18199 relevance: 0 18200 }, 18201 { 18202 className: 'string', 18203 begin: '"', end: '"', 18204 contains: [hljs.BACKSLASH_ESCAPE], 18205 relevance: 0 18206 }, 18207 { 18208 className: 'symbol', 18209 begin: '`', end: '`', 18210 contains: [hljs.BACKSLASH_ESCAPE], 18211 relevance: 2 18212 }, 18213 hljs.C_NUMBER_MODE, 18214 hljs.C_BLOCK_COMMENT_MODE 18215 ] 18216 }, 18217 hljs.C_BLOCK_COMMENT_MODE 18218 ] 18219 }; 18220 } 18221 },{name:"nginx",create:/* 18222 Language: Nginx 18223 Author: Peter Leonov <gojpeg@yandex.ru> 18224 Contributors: Ivan Sagalaev <maniac@softwaremaniacs.org> 18225 Category: common, config 18226 */ 18227 18228 function(hljs) { 18229 var VAR = { 18230 className: 'variable', 18231 variants: [ 18232 {begin: /\$\d+/}, 18233 {begin: /\$\{/, end: /}/}, 18234 {begin: '[\\$\\@]' + hljs.UNDERSCORE_IDENT_RE} 18235 ] 18236 }; 18237 var DEFAULT = { 18238 endsWithParent: true, 18239 lexemes: '[a-z/_]+', 18240 keywords: { 18241 literal: 18242 'on off yes no true false none blocked debug info notice warn error crit ' + 18243 'select break last permanent redirect kqueue rtsig epoll poll /dev/poll' 18244 }, 18245 relevance: 0, 18246 illegal: '=>', 18247 contains: [ 18248 hljs.HASH_COMMENT_MODE, 18249 { 18250 className: 'string', 18251 contains: [hljs.BACKSLASH_ESCAPE, VAR], 18252 variants: [ 18253 {begin: /"/, end: /"/}, 18254 {begin: /'/, end: /'/} 18255 ] 18256 }, 18257 // this swallows entire URLs to avoid detecting numbers within 18258 { 18259 begin: '([a-z]+):/', end: '\\s', endsWithParent: true, excludeEnd: true, 18260 contains: [VAR] 18261 }, 18262 { 18263 className: 'regexp', 18264 contains: [hljs.BACKSLASH_ESCAPE, VAR], 18265 variants: [ 18266 {begin: "\\s\\^", end: "\\s|{|;", returnEnd: true}, 18267 // regexp locations (~, ~*) 18268 {begin: "~\\*?\\s+", end: "\\s|{|;", returnEnd: true}, 18269 // *.example.com 18270 {begin: "\\*(\\.[a-z\\-]+)+"}, 18271 // sub.example.* 18272 {begin: "([a-z\\-]+\\.)+\\*"} 18273 ] 18274 }, 18275 // IP 18276 { 18277 className: 'number', 18278 begin: '\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b' 18279 }, 18280 // units 18281 { 18282 className: 'number', 18283 begin: '\\b\\d+[kKmMgGdshdwy]*\\b', 18284 relevance: 0 18285 }, 18286 VAR 18287 ] 18288 }; 18289 18290 return { 18291 aliases: ['nginxconf'], 18292 contains: [ 18293 hljs.HASH_COMMENT_MODE, 18294 { 18295 begin: hljs.UNDERSCORE_IDENT_RE + '\\s+{', returnBegin: true, 18296 end: '{', 18297 contains: [ 18298 { 18299 className: 'section', 18300 begin: hljs.UNDERSCORE_IDENT_RE 18301 } 18302 ], 18303 relevance: 0 18304 }, 18305 { 18306 begin: hljs.UNDERSCORE_IDENT_RE + '\\s', end: ';|{', returnBegin: true, 18307 contains: [ 18308 { 18309 className: 'attribute', 18310 begin: hljs.UNDERSCORE_IDENT_RE, 18311 starts: DEFAULT 18312 } 18313 ], 18314 relevance: 0 18315 } 18316 ], 18317 illegal: '[^\\s\\}]' 18318 }; 18319 } 18320 },{name:"nimrod",create:/* 18321 Language: Nimrod 18322 */ 18323 18324 function(hljs) { 18325 return { 18326 aliases: ['nim'], 18327 keywords: { 18328 keyword: 18329 'addr and as asm bind block break case cast const continue converter ' + 18330 'discard distinct div do elif else end enum except export finally ' + 18331 'for from generic if import in include interface is isnot iterator ' + 18332 'let macro method mixin mod nil not notin object of or out proc ptr ' + 18333 'raise ref return shl shr static template try tuple type using var ' + 18334 'when while with without xor yield', 18335 literal: 18336 'shared guarded stdin stdout stderr result true false', 18337 built_in: 18338 'int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 float ' + 18339 'float32 float64 bool char string cstring pointer expr stmt void ' + 18340 'auto any range array openarray varargs seq set clong culong cchar ' + 18341 'cschar cshort cint csize clonglong cfloat cdouble clongdouble ' + 18342 'cuchar cushort cuint culonglong cstringarray semistatic' 18343 }, 18344 contains: [ { 18345 className: 'meta', // Actually pragma 18346 begin: /{\./, 18347 end: /\.}/, 18348 relevance: 10 18349 }, { 18350 className: 'string', 18351 begin: /[a-zA-Z]\w*"/, 18352 end: /"/, 18353 contains: [{begin: /""/}] 18354 }, { 18355 className: 'string', 18356 begin: /([a-zA-Z]\w*)?"""/, 18357 end: /"""/ 18358 }, 18359 hljs.QUOTE_STRING_MODE, 18360 { 18361 className: 'type', 18362 begin: /\b[A-Z]\w+\b/, 18363 relevance: 0 18364 }, { 18365 className: 'number', 18366 relevance: 0, 18367 variants: [ 18368 {begin: /\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/}, 18369 {begin: /\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/}, 18370 {begin: /\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/}, 18371 {begin: /\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/} 18372 ] 18373 }, 18374 hljs.HASH_COMMENT_MODE 18375 ] 18376 } 18377 } 18378 },{name:"nix",create:/* 18379 Language: Nix 18380 Author: Domen Kožar <domen@dev.si> 18381 Description: Nix functional language. See http://nixos.org/nix 18382 */ 18383 18384 18385 function(hljs) { 18386 var NIX_KEYWORDS = { 18387 keyword: 18388 'rec with let in inherit assert if else then', 18389 literal: 18390 'true false or and null', 18391 built_in: 18392 'import abort baseNameOf dirOf isNull builtins map removeAttrs throw ' + 18393 'toString derivation' 18394 }; 18395 var ANTIQUOTE = { 18396 className: 'subst', 18397 begin: /\$\{/, 18398 end: /}/, 18399 keywords: NIX_KEYWORDS 18400 }; 18401 var ATTRS = { 18402 begin: /[a-zA-Z0-9-_]+(\s*=)/, returnBegin: true, 18403 relevance: 0, 18404 contains: [ 18405 { 18406 className: 'attr', 18407 begin: /\S+/ 18408 } 18409 ] 18410 }; 18411 var STRING = { 18412 className: 'string', 18413 contains: [ANTIQUOTE], 18414 variants: [ 18415 {begin: "''", end: "''"}, 18416 {begin: '"', end: '"'} 18417 ] 18418 }; 18419 var EXPRESSIONS = [ 18420 hljs.NUMBER_MODE, 18421 hljs.HASH_COMMENT_MODE, 18422 hljs.C_BLOCK_COMMENT_MODE, 18423 STRING, 18424 ATTRS 18425 ]; 18426 ANTIQUOTE.contains = EXPRESSIONS; 18427 return { 18428 aliases: ["nixos"], 18429 keywords: NIX_KEYWORDS, 18430 contains: EXPRESSIONS 18431 }; 18432 } 18433 },{name:"nsis",create:/* 18434 Language: NSIS 18435 Description: Nullsoft Scriptable Install System 18436 Author: Jan T. Sott <jan.sott@gmail.com> 18437 Website: http://github.com/idleberg 18438 */ 18439 18440 function(hljs) { 18441 var CONSTANTS = { 18442 className: 'variable', 18443 begin: /\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)/ 18444 }; 18445 18446 var DEFINES = { 18447 // ${defines} 18448 className: 'variable', 18449 begin: /\$+{[\w\.:-]+}/ 18450 }; 18451 18452 var VARIABLES = { 18453 // $variables 18454 className: 'variable', 18455 begin: /\$+\w+/, 18456 illegal: /\(\){}/ 18457 }; 18458 18459 var LANGUAGES = { 18460 // $(language_strings) 18461 className: 'variable', 18462 begin: /\$+\([\w\^\.:-]+\)/ 18463 }; 18464 18465 var PARAMETERS = { 18466 // command parameters 18467 className: 'params', 18468 begin: '(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)' 18469 }; 18470 18471 var COMPILER = { 18472 // !compiler_flags 18473 className: 'keyword', 18474 begin: /\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|searchparse|searchreplace|system|tempfile|undef|verbose|warning)/ 18475 }; 18476 18477 var METACHARS = { 18478 // $\n, $\r, $\t, $$ 18479 className: 'meta', 18480 begin: /\$(\\[nrt]|\$)/ 18481 }; 18482 18483 var PLUGINS = { 18484 // plug::ins 18485 className: 'class', 18486 begin: /\w+\:\:\w+/ 18487 }; 18488 18489 var STRING = { 18490 className: 'string', 18491 variants: [ 18492 { 18493 begin: '"', end: '"' 18494 }, 18495 { 18496 begin: '\'', end: '\'' 18497 }, 18498 { 18499 begin: '`', end: '`' 18500 } 18501 ], 18502 illegal: /\n/, 18503 contains: [ 18504 METACHARS, 18505 CONSTANTS, 18506 DEFINES, 18507 VARIABLES, 18508 LANGUAGES 18509 ] 18510 }; 18511 18512 return { 18513 case_insensitive: false, 18514 keywords: { 18515 keyword: 18516 'Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecShellWait ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText Int64Cmp Int64CmpU Int64Fmt IntCmp IntCmpU IntFmt IntOp IntPtrCmp IntPtrCmpU IntPtrOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegMultiStr WriteRegNone WriteRegStr WriteUninstaller XPStyle', 18517 literal: 18518 'admin all auto both bottom bzip2 colored components current custom directory false force hide highest ifdiff ifnewer instfiles lastused leave left license listonly lzma nevershow none normal notset off on open print right show silent silentlog smooth textonly top true try un.components un.custom un.directory un.instfiles un.license uninstConfirm user Win10 Win7 Win8 WinVista zlib' 18519 }, 18520 contains: [ 18521 hljs.HASH_COMMENT_MODE, 18522 hljs.C_BLOCK_COMMENT_MODE, 18523 hljs.COMMENT( 18524 ';', 18525 '$', 18526 { 18527 relevance: 0 18528 } 18529 ), 18530 { 18531 className: 'function', 18532 beginKeywords: 'Function PageEx Section SectionGroup', end: '$' 18533 }, 18534 STRING, 18535 COMPILER, 18536 DEFINES, 18537 VARIABLES, 18538 LANGUAGES, 18539 PARAMETERS, 18540 PLUGINS, 18541 hljs.NUMBER_MODE 18542 ] 18543 }; 18544 } 18545 },{name:"objectivec",create:/* 18546 Language: Objective-C 18547 Author: Valerii Hiora <valerii.hiora@gmail.com> 18548 Contributors: Angel G. Olloqui <angelgarcia.mail@gmail.com>, Matt Diephouse <matt@diephouse.com>, Andrew Farmer <ahfarmer@gmail.com>, Minh Nguyễn <mxn@1ec5.org> 18549 Category: common 18550 */ 18551 18552 function(hljs) { 18553 var API_CLASS = { 18554 className: 'built_in', 18555 begin: '\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+', 18556 }; 18557 var OBJC_KEYWORDS = { 18558 keyword: 18559 'int float while char export sizeof typedef const struct for union ' + 18560 'unsigned long volatile static bool mutable if do return goto void ' + 18561 'enum else break extern asm case short default double register explicit ' + 18562 'signed typename this switch continue wchar_t inline readonly assign ' + 18563 'readwrite self @synchronized id typeof ' + 18564 'nonatomic super unichar IBOutlet IBAction strong weak copy ' + 18565 'in out inout bycopy byref oneway __strong __weak __block __autoreleasing ' + 18566 '@private @protected @public @try @property @end @throw @catch @finally ' + 18567 '@autoreleasepool @synthesize @dynamic @selector @optional @required ' + 18568 '@encode @package @import @defs @compatibility_alias ' + 18569 '__bridge __bridge_transfer __bridge_retained __bridge_retain ' + 18570 '__covariant __contravariant __kindof ' + 18571 '_Nonnull _Nullable _Null_unspecified ' + 18572 '__FUNCTION__ __PRETTY_FUNCTION__ __attribute__ ' + 18573 'getter setter retain unsafe_unretained ' + 18574 'nonnull nullable null_unspecified null_resettable class instancetype ' + 18575 'NS_DESIGNATED_INITIALIZER NS_UNAVAILABLE NS_REQUIRES_SUPER ' + 18576 'NS_RETURNS_INNER_POINTER NS_INLINE NS_AVAILABLE NS_DEPRECATED ' + 18577 'NS_ENUM NS_OPTIONS NS_SWIFT_UNAVAILABLE ' + 18578 'NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_END ' + 18579 'NS_REFINED_FOR_SWIFT NS_SWIFT_NAME NS_SWIFT_NOTHROW ' + 18580 'NS_DURING NS_HANDLER NS_ENDHANDLER NS_VALUERETURN NS_VOIDRETURN', 18581 literal: 18582 'false true FALSE TRUE nil YES NO NULL', 18583 built_in: 18584 'BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once' 18585 }; 18586 var LEXEMES = /[a-zA-Z@][a-zA-Z0-9_]*/; 18587 var CLASS_KEYWORDS = '@interface @class @protocol @implementation'; 18588 return { 18589 aliases: ['mm', 'objc', 'obj-c'], 18590 keywords: OBJC_KEYWORDS, 18591 lexemes: LEXEMES, 18592 illegal: '</', 18593 contains: [ 18594 API_CLASS, 18595 hljs.C_LINE_COMMENT_MODE, 18596 hljs.C_BLOCK_COMMENT_MODE, 18597 hljs.C_NUMBER_MODE, 18598 hljs.QUOTE_STRING_MODE, 18599 { 18600 className: 'string', 18601 variants: [ 18602 { 18603 begin: '@"', end: '"', 18604 illegal: '\\n', 18605 contains: [hljs.BACKSLASH_ESCAPE] 18606 }, 18607 { 18608 begin: '\'', end: '[^\\\\]\'', 18609 illegal: '[^\\\\][^\']' 18610 } 18611 ] 18612 }, 18613 { 18614 className: 'meta', 18615 begin: '#', 18616 end: '$', 18617 contains: [ 18618 { 18619 className: 'meta-string', 18620 variants: [ 18621 { begin: '\"', end: '\"' }, 18622 { begin: '<', end: '>' } 18623 ] 18624 } 18625 ] 18626 }, 18627 { 18628 className: 'class', 18629 begin: '(' + CLASS_KEYWORDS.split(' ').join('|') + ')\\b', end: '({|$)', excludeEnd: true, 18630 keywords: CLASS_KEYWORDS, lexemes: LEXEMES, 18631 contains: [ 18632 hljs.UNDERSCORE_TITLE_MODE 18633 ] 18634 }, 18635 { 18636 begin: '\\.'+hljs.UNDERSCORE_IDENT_RE, 18637 relevance: 0 18638 } 18639 ] 18640 }; 18641 } 18642 },{name:"ocaml",create:/* 18643 Language: OCaml 18644 Author: Mehdi Dogguy <mehdi@dogguy.org> 18645 Contributors: Nicolas Braud-Santoni <nicolas.braud-santoni@ens-cachan.fr>, Mickael Delahaye <mickael.delahaye@gmail.com> 18646 Description: OCaml language definition. 18647 Category: functional 18648 */ 18649 function(hljs) { 18650 /* missing support for heredoc-like string (OCaml 4.0.2+) */ 18651 return { 18652 aliases: ['ml'], 18653 keywords: { 18654 keyword: 18655 'and as assert asr begin class constraint do done downto else end ' + 18656 'exception external for fun function functor if in include ' + 18657 'inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method ' + 18658 'mod module mutable new object of open! open or private rec sig struct ' + 18659 'then to try type val! val virtual when while with ' + 18660 /* camlp4 */ 18661 'parser value', 18662 built_in: 18663 /* built-in types */ 18664 'array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit ' + 18665 /* (some) types in Pervasives */ 18666 'in_channel out_channel ref', 18667 literal: 18668 'true false' 18669 }, 18670 illegal: /\/\/|>>/, 18671 lexemes: '[a-z_]\\w*!?', 18672 contains: [ 18673 { 18674 className: 'literal', 18675 begin: '\\[(\\|\\|)?\\]|\\(\\)', 18676 relevance: 0 18677 }, 18678 hljs.COMMENT( 18679 '\\(\\*', 18680 '\\*\\)', 18681 { 18682 contains: ['self'] 18683 } 18684 ), 18685 { /* type variable */ 18686 className: 'symbol', 18687 begin: '\'[A-Za-z_](?!\')[\\w\']*' 18688 /* the grammar is ambiguous on how 'a'b should be interpreted but not the compiler */ 18689 }, 18690 { /* polymorphic variant */ 18691 className: 'type', 18692 begin: '`[A-Z][\\w\']*' 18693 }, 18694 { /* module or constructor */ 18695 className: 'type', 18696 begin: '\\b[A-Z][\\w\']*', 18697 relevance: 0 18698 }, 18699 { /* don't color identifiers, but safely catch all identifiers with '*/ 18700 begin: '[a-z_]\\w*\'[\\w\']*', relevance: 0 18701 }, 18702 hljs.inherit(hljs.APOS_STRING_MODE, {className: 'string', relevance: 0}), 18703 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 18704 { 18705 className: 'number', 18706 begin: 18707 '\\b(0[xX][a-fA-F0-9_]+[Lln]?|' + 18708 '0[oO][0-7_]+[Lln]?|' + 18709 '0[bB][01_]+[Lln]?|' + 18710 '[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)', 18711 relevance: 0 18712 }, 18713 { 18714 begin: /[-=]>/ // relevance booster 18715 } 18716 ] 18717 } 18718 } 18719 },{name:"openscad",create:/* 18720 Language: OpenSCAD 18721 Author: Dan Panzarella <alsoelp@gmail.com> 18722 Description: OpenSCAD is a language for the 3D CAD modeling software of the same name. 18723 Category: scientific 18724 */ 18725 18726 function(hljs) { 18727 var SPECIAL_VARS = { 18728 className: 'keyword', 18729 begin: '\\$(f[asn]|t|vp[rtd]|children)' 18730 }, 18731 LITERALS = { 18732 className: 'literal', 18733 begin: 'false|true|PI|undef' 18734 }, 18735 NUMBERS = { 18736 className: 'number', 18737 begin: '\\b\\d+(\\.\\d+)?(e-?\\d+)?', //adds 1e5, 1e-10 18738 relevance: 0 18739 }, 18740 STRING = hljs.inherit(hljs.QUOTE_STRING_MODE,{illegal: null}), 18741 PREPRO = { 18742 className: 'meta', 18743 keywords: {'meta-keyword': 'include use'}, 18744 begin: 'include|use <', 18745 end: '>' 18746 }, 18747 PARAMS = { 18748 className: 'params', 18749 begin: '\\(', end: '\\)', 18750 contains: ['self', NUMBERS, STRING, SPECIAL_VARS, LITERALS] 18751 }, 18752 MODIFIERS = { 18753 begin: '[*!#%]', 18754 relevance: 0 18755 }, 18756 FUNCTIONS = { 18757 className: 'function', 18758 beginKeywords: 'module function', 18759 end: '\\=|\\{', 18760 contains: [PARAMS, hljs.UNDERSCORE_TITLE_MODE] 18761 }; 18762 18763 return { 18764 aliases: ['scad'], 18765 keywords: { 18766 keyword: 'function module include use for intersection_for if else \\%', 18767 literal: 'false true PI undef', 18768 built_in: 'circle square polygon text sphere cube cylinder polyhedron translate rotate scale resize mirror multmatrix color offset hull minkowski union difference intersection abs sign sin cos tan acos asin atan atan2 floor round ceil ln log pow sqrt exp rands min max concat lookup str chr search version version_num norm cross parent_module echo import import_dxf dxf_linear_extrude linear_extrude rotate_extrude surface projection render children dxf_cross dxf_dim let assign' 18769 }, 18770 contains: [ 18771 hljs.C_LINE_COMMENT_MODE, 18772 hljs.C_BLOCK_COMMENT_MODE, 18773 NUMBERS, 18774 PREPRO, 18775 STRING, 18776 SPECIAL_VARS, 18777 MODIFIERS, 18778 FUNCTIONS 18779 ] 18780 } 18781 } 18782 },{name:"oxygene",create:/* 18783 Language: Oxygene 18784 Author: Carlo Kok <ck@remobjects.com> 18785 Description: Language definition for RemObjects Oxygene (http://www.remobjects.com) 18786 */ 18787 18788 function(hljs) { 18789 var OXYGENE_KEYWORDS = 'abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue '+ 18790 'create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false '+ 18791 'final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited '+ 18792 'inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of '+ 18793 'old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly '+ 18794 'record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple '+ 18795 'type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal '+ 18796 'register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained'; 18797 var CURLY_COMMENT = hljs.COMMENT( 18798 '{', 18799 '}', 18800 { 18801 relevance: 0 18802 } 18803 ); 18804 var PAREN_COMMENT = hljs.COMMENT( 18805 '\\(\\*', 18806 '\\*\\)', 18807 { 18808 relevance: 10 18809 } 18810 ); 18811 var STRING = { 18812 className: 'string', 18813 begin: '\'', end: '\'', 18814 contains: [{begin: '\'\''}] 18815 }; 18816 var CHAR_STRING = { 18817 className: 'string', begin: '(#\\d+)+' 18818 }; 18819 var FUNCTION = { 18820 className: 'function', 18821 beginKeywords: 'function constructor destructor procedure method', end: '[:;]', 18822 keywords: 'function constructor|10 destructor|10 procedure|10 method|10', 18823 contains: [ 18824 hljs.TITLE_MODE, 18825 { 18826 className: 'params', 18827 begin: '\\(', end: '\\)', 18828 keywords: OXYGENE_KEYWORDS, 18829 contains: [STRING, CHAR_STRING] 18830 }, 18831 CURLY_COMMENT, PAREN_COMMENT 18832 ] 18833 }; 18834 return { 18835 case_insensitive: true, 18836 lexemes: /\.?\w+/, 18837 keywords: OXYGENE_KEYWORDS, 18838 illegal: '("|\\$[G-Zg-z]|\\/\\*|</|=>|->)', 18839 contains: [ 18840 CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE, 18841 STRING, CHAR_STRING, 18842 hljs.NUMBER_MODE, 18843 FUNCTION, 18844 { 18845 className: 'class', 18846 begin: '=\\bclass\\b', end: 'end;', 18847 keywords: OXYGENE_KEYWORDS, 18848 contains: [ 18849 STRING, CHAR_STRING, 18850 CURLY_COMMENT, PAREN_COMMENT, hljs.C_LINE_COMMENT_MODE, 18851 FUNCTION 18852 ] 18853 } 18854 ] 18855 }; 18856 } 18857 },{name:"parser3",create:/* 18858 Language: Parser3 18859 Requires: xml.js 18860 Author: Oleg Volchkov <oleg@volchkov.net> 18861 Category: template 18862 */ 18863 18864 function(hljs) { 18865 var CURLY_SUBCOMMENT = hljs.COMMENT( 18866 '{', 18867 '}', 18868 { 18869 contains: ['self'] 18870 } 18871 ); 18872 return { 18873 subLanguage: 'xml', relevance: 0, 18874 contains: [ 18875 hljs.COMMENT('^#', '$'), 18876 hljs.COMMENT( 18877 '\\^rem{', 18878 '}', 18879 { 18880 relevance: 10, 18881 contains: [ 18882 CURLY_SUBCOMMENT 18883 ] 18884 } 18885 ), 18886 { 18887 className: 'meta', 18888 begin: '^@(?:BASE|USE|CLASS|OPTIONS)$', 18889 relevance: 10 18890 }, 18891 { 18892 className: 'title', 18893 begin: '@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$' 18894 }, 18895 { 18896 className: 'variable', 18897 begin: '\\$\\{?[\\w\\-\\.\\:]+\\}?' 18898 }, 18899 { 18900 className: 'keyword', 18901 begin: '\\^[\\w\\-\\.\\:]+' 18902 }, 18903 { 18904 className: 'number', 18905 begin: '\\^#[0-9a-fA-F]+' 18906 }, 18907 hljs.C_NUMBER_MODE 18908 ] 18909 }; 18910 } 18911 },{name:"perl",create:/* 18912 Language: Perl 18913 Author: Peter Leonov <gojpeg@yandex.ru> 18914 Category: common 18915 */ 18916 18917 function(hljs) { 18918 var PERL_KEYWORDS = 'getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ' + 18919 'ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime ' + 18920 'readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qq' + 18921 'fileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent ' + 18922 'shutdown dump chomp connect getsockname die socketpair close flock exists index shmget' + 18923 'sub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr ' + 18924 'unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 ' + 18925 'getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline ' + 18926 'endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand ' + 18927 'mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink ' + 18928 'getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr ' + 18929 'untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link ' + 18930 'getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller ' + 18931 'lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and ' + 18932 'sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 ' + 18933 'chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach ' + 18934 'tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedir' + 18935 'ioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe ' + 18936 'atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when'; 18937 var SUBST = { 18938 className: 'subst', 18939 begin: '[$@]\\{', end: '\\}', 18940 keywords: PERL_KEYWORDS 18941 }; 18942 var METHOD = { 18943 begin: '->{', end: '}' 18944 // contains defined later 18945 }; 18946 var VAR = { 18947 variants: [ 18948 {begin: /\$\d/}, 18949 {begin: /[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/}, 18950 {begin: /[\$%@][^\s\w{]/, relevance: 0} 18951 ] 18952 }; 18953 var STRING_CONTAINS = [hljs.BACKSLASH_ESCAPE, SUBST, VAR]; 18954 var PERL_DEFAULT_CONTAINS = [ 18955 VAR, 18956 hljs.HASH_COMMENT_MODE, 18957 hljs.COMMENT( 18958 '^\\=\\w', 18959 '\\=cut', 18960 { 18961 endsWithParent: true 18962 } 18963 ), 18964 METHOD, 18965 { 18966 className: 'string', 18967 contains: STRING_CONTAINS, 18968 variants: [ 18969 { 18970 begin: 'q[qwxr]?\\s*\\(', end: '\\)', 18971 relevance: 5 18972 }, 18973 { 18974 begin: 'q[qwxr]?\\s*\\[', end: '\\]', 18975 relevance: 5 18976 }, 18977 { 18978 begin: 'q[qwxr]?\\s*\\{', end: '\\}', 18979 relevance: 5 18980 }, 18981 { 18982 begin: 'q[qwxr]?\\s*\\|', end: '\\|', 18983 relevance: 5 18984 }, 18985 { 18986 begin: 'q[qwxr]?\\s*\\<', end: '\\>', 18987 relevance: 5 18988 }, 18989 { 18990 begin: 'qw\\s+q', end: 'q', 18991 relevance: 5 18992 }, 18993 { 18994 begin: '\'', end: '\'', 18995 contains: [hljs.BACKSLASH_ESCAPE] 18996 }, 18997 { 18998 begin: '"', end: '"' 18999 }, 19000 { 19001 begin: '`', end: '`', 19002 contains: [hljs.BACKSLASH_ESCAPE] 19003 }, 19004 { 19005 begin: '{\\w+}', 19006 contains: [], 19007 relevance: 0 19008 }, 19009 { 19010 begin: '\-?\\w+\\s*\\=\\>', 19011 contains: [], 19012 relevance: 0 19013 } 19014 ] 19015 }, 19016 { 19017 className: 'number', 19018 begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', 19019 relevance: 0 19020 }, 19021 { // regexp container 19022 begin: '(\\/\\/|' + hljs.RE_STARTERS_RE + '|\\b(split|return|print|reverse|grep)\\b)\\s*', 19023 keywords: 'split return print reverse grep', 19024 relevance: 0, 19025 contains: [ 19026 hljs.HASH_COMMENT_MODE, 19027 { 19028 className: 'regexp', 19029 begin: '(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*', 19030 relevance: 10 19031 }, 19032 { 19033 className: 'regexp', 19034 begin: '(m|qr)?/', end: '/[a-z]*', 19035 contains: [hljs.BACKSLASH_ESCAPE], 19036 relevance: 0 // allows empty "//" which is a common comment delimiter in other languages 19037 } 19038 ] 19039 }, 19040 { 19041 className: 'function', 19042 beginKeywords: 'sub', end: '(\\s*\\(.*?\\))?[;{]', excludeEnd: true, 19043 relevance: 5, 19044 contains: [hljs.TITLE_MODE] 19045 }, 19046 { 19047 begin: '-\\w\\b', 19048 relevance: 0 19049 }, 19050 { 19051 begin: "^__DATA__$", 19052 end: "^__END__$", 19053 subLanguage: 'mojolicious', 19054 contains: [ 19055 { 19056 begin: "^@@.*", 19057 end: "$", 19058 className: "comment" 19059 } 19060 ] 19061 } 19062 ]; 19063 SUBST.contains = PERL_DEFAULT_CONTAINS; 19064 METHOD.contains = PERL_DEFAULT_CONTAINS; 19065 19066 return { 19067 aliases: ['pl', 'pm'], 19068 lexemes: /[\w\.]+/, 19069 keywords: PERL_KEYWORDS, 19070 contains: PERL_DEFAULT_CONTAINS 19071 }; 19072 } 19073 },{name:"pf",create:/* 19074 Language: pf 19075 Category: config 19076 Author: Peter Piwowarski <oldlaptop654@aol.com> 19077 Description: The pf.conf(5) format as of OpenBSD 5.6 19078 */ 19079 19080 function(hljs) { 19081 var MACRO = { 19082 className: 'variable', 19083 begin: /\$[\w\d#@][\w\d_]*/ 19084 }; 19085 var TABLE = { 19086 className: 'variable', 19087 begin: /<(?!\/)/, end: />/ 19088 }; 19089 var QUOTE_STRING = { 19090 className: 'string', 19091 begin: /"/, end: /"/ 19092 }; 19093 19094 return { 19095 aliases: ['pf.conf'], 19096 lexemes: /[a-z0-9_<>-]+/, 19097 keywords: { 19098 built_in: /* block match pass are "actions" in pf.conf(5), the rest are 19099 * lexically similar top-level commands. 19100 */ 19101 'block match pass load anchor|5 antispoof|10 set table', 19102 keyword: 19103 'in out log quick on rdomain inet inet6 proto from port os to route' + 19104 'allow-opts divert-packet divert-reply divert-to flags group icmp-type' + 19105 'icmp6-type label once probability recieved-on rtable prio queue' + 19106 'tos tag tagged user keep fragment for os drop' + 19107 'af-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robin' + 19108 'source-hash static-port' + 19109 'dup-to reply-to route-to' + 19110 'parent bandwidth default min max qlimit' + 19111 'block-policy debug fingerprints hostid limit loginterface optimization' + 19112 'reassemble ruleset-optimization basic none profile skip state-defaults' + 19113 'state-policy timeout' + 19114 'const counters persist' + 19115 'no modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppy' + 19116 'source-track global rule max-src-nodes max-src-states max-src-conn' + 19117 'max-src-conn-rate overload flush' + 19118 'scrub|5 max-mss min-ttl no-df|10 random-id', 19119 literal: 19120 'all any no-route self urpf-failed egress|5 unknown' 19121 }, 19122 contains: [ 19123 hljs.HASH_COMMENT_MODE, 19124 hljs.NUMBER_MODE, 19125 hljs.QUOTE_STRING_MODE, 19126 MACRO, 19127 TABLE 19128 ] 19129 }; 19130 } 19131 },{name:"pgsql",create:/* 19132 Language: PostgreSQL SQL dialect and PL/pgSQL 19133 Author: Egor Rogov (e.rogov@postgrespro.ru) 19134 Description: 19135 This language incorporates both PostgreSQL SQL dialect and PL/pgSQL language. 19136 It is based on PostgreSQL version 11. Some notes: 19137 - Text in double-dollar-strings is _always_ interpreted as some programming code. Text 19138 in ordinary quotes is _never_ interpreted that way and highlighted just as a string. 19139 - There are quite a bit "special cases". That's because many keywords are not strictly 19140 they are keywords in some contexts and ordinary identifiers in others. Only some 19141 of such cases are handled; you still can get some of your identifiers highlighted 19142 wrong way. 19143 - Function names deliberately are not highlighted. There is no way to tell function 19144 call from other constructs, hence we can't highlight _all_ function names. And 19145 some names highlighted while others not looks ugly. 19146 */ 19147 19148 function(hljs) { 19149 var COMMENT_MODE = hljs.COMMENT('--', '$'); 19150 var UNQUOTED_IDENT = '[a-zA-Z_][a-zA-Z_0-9$]*'; 19151 var DOLLAR_STRING = '\\$([a-zA-Z_]?|[a-zA-Z_][a-zA-Z_0-9]*)\\$'; 19152 var LABEL = '<<\\s*' + UNQUOTED_IDENT + '\\s*>>'; 19153 19154 var SQL_KW = 19155 // https://www.postgresql.org/docs/11/static/sql-keywords-appendix.html 19156 // https://www.postgresql.org/docs/11/static/sql-commands.html 19157 // SQL commands (starting words) 19158 'ABORT ALTER ANALYZE BEGIN CALL CHECKPOINT|10 CLOSE CLUSTER COMMENT COMMIT COPY CREATE DEALLOCATE DECLARE ' + 19159 'DELETE DISCARD DO DROP END EXECUTE EXPLAIN FETCH GRANT IMPORT INSERT LISTEN LOAD LOCK MOVE NOTIFY ' + 19160 'PREPARE REASSIGN|10 REFRESH REINDEX RELEASE RESET REVOKE ROLLBACK SAVEPOINT SECURITY SELECT SET SHOW ' + 19161 'START TRUNCATE UNLISTEN|10 UPDATE VACUUM|10 VALUES ' + 19162 // SQL commands (others) 19163 'AGGREGATE COLLATION CONVERSION|10 DATABASE DEFAULT PRIVILEGES DOMAIN TRIGGER EXTENSION FOREIGN ' + 19164 'WRAPPER|10 TABLE FUNCTION GROUP LANGUAGE LARGE OBJECT MATERIALIZED VIEW OPERATOR CLASS ' + 19165 'FAMILY POLICY PUBLICATION|10 ROLE RULE SCHEMA SEQUENCE SERVER STATISTICS SUBSCRIPTION SYSTEM ' + 19166 'TABLESPACE CONFIGURATION DICTIONARY PARSER TEMPLATE TYPE USER MAPPING PREPARED ACCESS ' + 19167 'METHOD CAST AS TRANSFORM TRANSACTION OWNED TO INTO SESSION AUTHORIZATION ' + 19168 'INDEX PROCEDURE ASSERTION ' + 19169 // additional reserved key words 19170 'ALL ANALYSE AND ANY ARRAY ASC ASYMMETRIC|10 BOTH CASE CHECK ' + 19171 'COLLATE COLUMN CONCURRENTLY|10 CONSTRAINT CROSS ' + 19172 'DEFERRABLE RANGE ' + 19173 'DESC DISTINCT ELSE EXCEPT FOR FREEZE|10 FROM FULL HAVING ' + 19174 'ILIKE IN INITIALLY INNER INTERSECT IS ISNULL JOIN LATERAL LEADING LIKE LIMIT ' + 19175 'NATURAL NOT NOTNULL NULL OFFSET ON ONLY OR ORDER OUTER OVERLAPS PLACING PRIMARY ' + 19176 'REFERENCES RETURNING SIMILAR SOME SYMMETRIC TABLESAMPLE THEN ' + 19177 'TRAILING UNION UNIQUE USING VARIADIC|10 VERBOSE WHEN WHERE WINDOW WITH ' + 19178 // some of non-reserved (which are used in clauses or as PL/pgSQL keyword) 19179 'BY RETURNS INOUT OUT SETOF|10 IF STRICT CURRENT CONTINUE OWNER LOCATION OVER PARTITION WITHIN ' + 19180 'BETWEEN ESCAPE EXTERNAL INVOKER DEFINER WORK RENAME VERSION CONNECTION CONNECT ' + 19181 'TABLES TEMP TEMPORARY FUNCTIONS SEQUENCES TYPES SCHEMAS OPTION CASCADE RESTRICT ADD ADMIN ' + 19182 'EXISTS VALID VALIDATE ENABLE DISABLE REPLICA|10 ALWAYS PASSING COLUMNS PATH ' + 19183 'REF VALUE OVERRIDING IMMUTABLE STABLE VOLATILE BEFORE AFTER EACH ROW PROCEDURAL ' + 19184 'ROUTINE NO HANDLER VALIDATOR OPTIONS STORAGE OIDS|10 WITHOUT INHERIT DEPENDS CALLED ' + 19185 'INPUT LEAKPROOF|10 COST ROWS NOWAIT SEARCH UNTIL ENCRYPTED|10 PASSWORD CONFLICT|10 ' + 19186 'INSTEAD INHERITS CHARACTERISTICS WRITE CURSOR ALSO STATEMENT SHARE EXCLUSIVE INLINE ' + 19187 'ISOLATION REPEATABLE READ COMMITTED SERIALIZABLE UNCOMMITTED LOCAL GLOBAL SQL PROCEDURES ' + 19188 'RECURSIVE SNAPSHOT ROLLUP CUBE TRUSTED|10 INCLUDE FOLLOWING PRECEDING UNBOUNDED RANGE GROUPS ' + 19189 'UNENCRYPTED|10 SYSID FORMAT DELIMITER HEADER QUOTE ENCODING FILTER OFF ' + 19190 // some parameters of VACUUM/ANALYZE/EXPLAIN 19191 'FORCE_QUOTE FORCE_NOT_NULL FORCE_NULL COSTS BUFFERS TIMING SUMMARY DISABLE_PAGE_SKIPPING ' + 19192 // 19193 'RESTART CYCLE GENERATED IDENTITY DEFERRED IMMEDIATE LEVEL LOGGED UNLOGGED ' + 19194 'OF NOTHING NONE EXCLUDE ATTRIBUTE ' + 19195 // from GRANT (not keywords actually) 19196 'USAGE ROUTINES ' + 19197 // actually literals, but look better this way (due to IS TRUE, IS FALSE, ISNULL etc) 19198 'TRUE FALSE NAN INFINITY '; 19199 19200 var ROLE_ATTRS = // only those not in keywrods already 19201 'SUPERUSER NOSUPERUSER CREATEDB NOCREATEDB CREATEROLE NOCREATEROLE INHERIT NOINHERIT ' + 19202 'LOGIN NOLOGIN REPLICATION NOREPLICATION BYPASSRLS NOBYPASSRLS '; 19203 19204 var PLPGSQL_KW = 19205 'ALIAS BEGIN CONSTANT DECLARE END EXCEPTION RETURN PERFORM|10 RAISE GET DIAGNOSTICS ' + 19206 'STACKED|10 FOREACH LOOP ELSIF EXIT WHILE REVERSE SLICE DEBUG LOG INFO NOTICE WARNING ASSERT ' + 19207 'OPEN '; 19208 19209 var TYPES = 19210 // https://www.postgresql.org/docs/11/static/datatype.html 19211 'BIGINT INT8 BIGSERIAL SERIAL8 BIT VARYING VARBIT BOOLEAN BOOL BOX BYTEA CHARACTER CHAR VARCHAR ' + 19212 'CIDR CIRCLE DATE DOUBLE PRECISION FLOAT8 FLOAT INET INTEGER INT INT4 INTERVAL JSON JSONB LINE LSEG|10 ' + 19213 'MACADDR MACADDR8 MONEY NUMERIC DEC DECIMAL PATH POINT POLYGON REAL FLOAT4 SMALLINT INT2 ' + 19214 'SMALLSERIAL|10 SERIAL2|10 SERIAL|10 SERIAL4|10 TEXT TIME ZONE TIMETZ|10 TIMESTAMP TIMESTAMPTZ|10 TSQUERY|10 TSVECTOR|10 ' + 19215 'TXID_SNAPSHOT|10 UUID XML NATIONAL NCHAR ' + 19216 'INT4RANGE|10 INT8RANGE|10 NUMRANGE|10 TSRANGE|10 TSTZRANGE|10 DATERANGE|10 ' + 19217 // pseudotypes 19218 'ANYELEMENT ANYARRAY ANYNONARRAY ANYENUM ANYRANGE CSTRING INTERNAL ' + 19219 'RECORD PG_DDL_COMMAND VOID UNKNOWN OPAQUE REFCURSOR ' + 19220 // spec. type 19221 'NAME ' + 19222 // OID-types 19223 'OID REGPROC|10 REGPROCEDURE|10 REGOPER|10 REGOPERATOR|10 REGCLASS|10 REGTYPE|10 REGROLE|10 ' + 19224 'REGNAMESPACE|10 REGCONFIG|10 REGDICTIONARY|10 ';// + 19225 // some types from standard extensions 19226 'HSTORE|10 LO LTREE|10 '; 19227 19228 var TYPES_RE = 19229 TYPES.trim() 19230 .split(' ') 19231 .map( function(val) { return val.split('|')[0]; } ) 19232 .join('|'); 19233 19234 var SQL_BI = 19235 'CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURRENT_CATALOG|10 CURRENT_DATE LOCALTIME LOCALTIMESTAMP ' + 19236 'CURRENT_ROLE|10 CURRENT_SCHEMA|10 SESSION_USER PUBLIC '; 19237 19238 var PLPGSQL_BI = 19239 'FOUND NEW OLD TG_NAME|10 TG_WHEN|10 TG_LEVEL|10 TG_OP|10 TG_RELID|10 TG_RELNAME|10 ' + 19240 'TG_TABLE_NAME|10 TG_TABLE_SCHEMA|10 TG_NARGS|10 TG_ARGV|10 TG_EVENT|10 TG_TAG|10 ' + 19241 // get diagnostics 19242 'ROW_COUNT RESULT_OID|10 PG_CONTEXT|10 RETURNED_SQLSTATE COLUMN_NAME CONSTRAINT_NAME ' + 19243 'PG_DATATYPE_NAME|10 MESSAGE_TEXT TABLE_NAME SCHEMA_NAME PG_EXCEPTION_DETAIL|10 ' + 19244 'PG_EXCEPTION_HINT|10 PG_EXCEPTION_CONTEXT|10 '; 19245 19246 var PLPGSQL_EXCEPTIONS = 19247 // exceptions https://www.postgresql.org/docs/current/static/errcodes-appendix.html 19248 'SQLSTATE SQLERRM|10 ' + 19249 'SUCCESSFUL_COMPLETION WARNING DYNAMIC_RESULT_SETS_RETURNED IMPLICIT_ZERO_BIT_PADDING ' + 19250 'NULL_VALUE_ELIMINATED_IN_SET_FUNCTION PRIVILEGE_NOT_GRANTED PRIVILEGE_NOT_REVOKED ' + 19251 'STRING_DATA_RIGHT_TRUNCATION DEPRECATED_FEATURE NO_DATA NO_ADDITIONAL_DYNAMIC_RESULT_SETS_RETURNED ' + 19252 'SQL_STATEMENT_NOT_YET_COMPLETE CONNECTION_EXCEPTION CONNECTION_DOES_NOT_EXIST CONNECTION_FAILURE ' + 19253 'SQLCLIENT_UNABLE_TO_ESTABLISH_SQLCONNECTION SQLSERVER_REJECTED_ESTABLISHMENT_OF_SQLCONNECTION ' + 19254 'TRANSACTION_RESOLUTION_UNKNOWN PROTOCOL_VIOLATION TRIGGERED_ACTION_EXCEPTION FEATURE_NOT_SUPPORTED ' + 19255 'INVALID_TRANSACTION_INITIATION LOCATOR_EXCEPTION INVALID_LOCATOR_SPECIFICATION INVALID_GRANTOR ' + 19256 'INVALID_GRANT_OPERATION INVALID_ROLE_SPECIFICATION DIAGNOSTICS_EXCEPTION ' + 19257 'STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER CASE_NOT_FOUND CARDINALITY_VIOLATION ' + 19258 'DATA_EXCEPTION ARRAY_SUBSCRIPT_ERROR CHARACTER_NOT_IN_REPERTOIRE DATETIME_FIELD_OVERFLOW ' + 19259 'DIVISION_BY_ZERO ERROR_IN_ASSIGNMENT ESCAPE_CHARACTER_CONFLICT INDICATOR_OVERFLOW ' + 19260 'INTERVAL_FIELD_OVERFLOW INVALID_ARGUMENT_FOR_LOGARITHM INVALID_ARGUMENT_FOR_NTILE_FUNCTION ' + 19261 'INVALID_ARGUMENT_FOR_NTH_VALUE_FUNCTION INVALID_ARGUMENT_FOR_POWER_FUNCTION ' + 19262 'INVALID_ARGUMENT_FOR_WIDTH_BUCKET_FUNCTION INVALID_CHARACTER_VALUE_FOR_CAST ' + 19263 'INVALID_DATETIME_FORMAT INVALID_ESCAPE_CHARACTER INVALID_ESCAPE_OCTET INVALID_ESCAPE_SEQUENCE ' + 19264 'NONSTANDARD_USE_OF_ESCAPE_CHARACTER INVALID_INDICATOR_PARAMETER_VALUE INVALID_PARAMETER_VALUE ' + 19265 'INVALID_REGULAR_EXPRESSION INVALID_ROW_COUNT_IN_LIMIT_CLAUSE ' + 19266 'INVALID_ROW_COUNT_IN_RESULT_OFFSET_CLAUSE INVALID_TABLESAMPLE_ARGUMENT INVALID_TABLESAMPLE_REPEAT ' + 19267 'INVALID_TIME_ZONE_DISPLACEMENT_VALUE INVALID_USE_OF_ESCAPE_CHARACTER MOST_SPECIFIC_TYPE_MISMATCH ' + 19268 'NULL_VALUE_NOT_ALLOWED NULL_VALUE_NO_INDICATOR_PARAMETER NUMERIC_VALUE_OUT_OF_RANGE ' + 19269 'SEQUENCE_GENERATOR_LIMIT_EXCEEDED STRING_DATA_LENGTH_MISMATCH STRING_DATA_RIGHT_TRUNCATION ' + 19270 'SUBSTRING_ERROR TRIM_ERROR UNTERMINATED_C_STRING ZERO_LENGTH_CHARACTER_STRING ' + 19271 'FLOATING_POINT_EXCEPTION INVALID_TEXT_REPRESENTATION INVALID_BINARY_REPRESENTATION ' + 19272 'BAD_COPY_FILE_FORMAT UNTRANSLATABLE_CHARACTER NOT_AN_XML_DOCUMENT INVALID_XML_DOCUMENT ' + 19273 'INVALID_XML_CONTENT INVALID_XML_COMMENT INVALID_XML_PROCESSING_INSTRUCTION ' + 19274 'INTEGRITY_CONSTRAINT_VIOLATION RESTRICT_VIOLATION NOT_NULL_VIOLATION FOREIGN_KEY_VIOLATION ' + 19275 'UNIQUE_VIOLATION CHECK_VIOLATION EXCLUSION_VIOLATION INVALID_CURSOR_STATE ' + 19276 'INVALID_TRANSACTION_STATE ACTIVE_SQL_TRANSACTION BRANCH_TRANSACTION_ALREADY_ACTIVE ' + 19277 'HELD_CURSOR_REQUIRES_SAME_ISOLATION_LEVEL INAPPROPRIATE_ACCESS_MODE_FOR_BRANCH_TRANSACTION ' + 19278 'INAPPROPRIATE_ISOLATION_LEVEL_FOR_BRANCH_TRANSACTION ' + 19279 'NO_ACTIVE_SQL_TRANSACTION_FOR_BRANCH_TRANSACTION READ_ONLY_SQL_TRANSACTION ' + 19280 'SCHEMA_AND_DATA_STATEMENT_MIXING_NOT_SUPPORTED NO_ACTIVE_SQL_TRANSACTION ' + 19281 'IN_FAILED_SQL_TRANSACTION IDLE_IN_TRANSACTION_SESSION_TIMEOUT INVALID_SQL_STATEMENT_NAME ' + 19282 'TRIGGERED_DATA_CHANGE_VIOLATION INVALID_AUTHORIZATION_SPECIFICATION INVALID_PASSWORD ' + 19283 'DEPENDENT_PRIVILEGE_DESCRIPTORS_STILL_EXIST DEPENDENT_OBJECTS_STILL_EXIST ' + 19284 'INVALID_TRANSACTION_TERMINATION SQL_ROUTINE_EXCEPTION FUNCTION_EXECUTED_NO_RETURN_STATEMENT ' + 19285 'MODIFYING_SQL_DATA_NOT_PERMITTED PROHIBITED_SQL_STATEMENT_ATTEMPTED ' + 19286 'READING_SQL_DATA_NOT_PERMITTED INVALID_CURSOR_NAME EXTERNAL_ROUTINE_EXCEPTION ' + 19287 'CONTAINING_SQL_NOT_PERMITTED MODIFYING_SQL_DATA_NOT_PERMITTED ' + 19288 'PROHIBITED_SQL_STATEMENT_ATTEMPTED READING_SQL_DATA_NOT_PERMITTED ' + 19289 'EXTERNAL_ROUTINE_INVOCATION_EXCEPTION INVALID_SQLSTATE_RETURNED NULL_VALUE_NOT_ALLOWED ' + 19290 'TRIGGER_PROTOCOL_VIOLATED SRF_PROTOCOL_VIOLATED EVENT_TRIGGER_PROTOCOL_VIOLATED ' + 19291 'SAVEPOINT_EXCEPTION INVALID_SAVEPOINT_SPECIFICATION INVALID_CATALOG_NAME ' + 19292 'INVALID_SCHEMA_NAME TRANSACTION_ROLLBACK TRANSACTION_INTEGRITY_CONSTRAINT_VIOLATION ' + 19293 'SERIALIZATION_FAILURE STATEMENT_COMPLETION_UNKNOWN DEADLOCK_DETECTED ' + 19294 'SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION SYNTAX_ERROR INSUFFICIENT_PRIVILEGE CANNOT_COERCE ' + 19295 'GROUPING_ERROR WINDOWING_ERROR INVALID_RECURSION INVALID_FOREIGN_KEY INVALID_NAME ' + 19296 'NAME_TOO_LONG RESERVED_NAME DATATYPE_MISMATCH INDETERMINATE_DATATYPE COLLATION_MISMATCH ' + 19297 'INDETERMINATE_COLLATION WRONG_OBJECT_TYPE GENERATED_ALWAYS UNDEFINED_COLUMN ' + 19298 'UNDEFINED_FUNCTION UNDEFINED_TABLE UNDEFINED_PARAMETER UNDEFINED_OBJECT ' + 19299 'DUPLICATE_COLUMN DUPLICATE_CURSOR DUPLICATE_DATABASE DUPLICATE_FUNCTION ' + 19300 'DUPLICATE_PREPARED_STATEMENT DUPLICATE_SCHEMA DUPLICATE_TABLE DUPLICATE_ALIAS ' + 19301 'DUPLICATE_OBJECT AMBIGUOUS_COLUMN AMBIGUOUS_FUNCTION AMBIGUOUS_PARAMETER AMBIGUOUS_ALIAS ' + 19302 'INVALID_COLUMN_REFERENCE INVALID_COLUMN_DEFINITION INVALID_CURSOR_DEFINITION ' + 19303 'INVALID_DATABASE_DEFINITION INVALID_FUNCTION_DEFINITION ' + 19304 'INVALID_PREPARED_STATEMENT_DEFINITION INVALID_SCHEMA_DEFINITION INVALID_TABLE_DEFINITION ' + 19305 'INVALID_OBJECT_DEFINITION WITH_CHECK_OPTION_VIOLATION INSUFFICIENT_RESOURCES DISK_FULL ' + 19306 'OUT_OF_MEMORY TOO_MANY_CONNECTIONS CONFIGURATION_LIMIT_EXCEEDED PROGRAM_LIMIT_EXCEEDED ' + 19307 'STATEMENT_TOO_COMPLEX TOO_MANY_COLUMNS TOO_MANY_ARGUMENTS OBJECT_NOT_IN_PREREQUISITE_STATE ' + 19308 'OBJECT_IN_USE CANT_CHANGE_RUNTIME_PARAM LOCK_NOT_AVAILABLE OPERATOR_INTERVENTION ' + 19309 'QUERY_CANCELED ADMIN_SHUTDOWN CRASH_SHUTDOWN CANNOT_CONNECT_NOW DATABASE_DROPPED ' + 19310 'SYSTEM_ERROR IO_ERROR UNDEFINED_FILE DUPLICATE_FILE SNAPSHOT_TOO_OLD CONFIG_FILE_ERROR ' + 19311 'LOCK_FILE_EXISTS FDW_ERROR FDW_COLUMN_NAME_NOT_FOUND FDW_DYNAMIC_PARAMETER_VALUE_NEEDED ' + 19312 'FDW_FUNCTION_SEQUENCE_ERROR FDW_INCONSISTENT_DESCRIPTOR_INFORMATION ' + 19313 'FDW_INVALID_ATTRIBUTE_VALUE FDW_INVALID_COLUMN_NAME FDW_INVALID_COLUMN_NUMBER ' + 19314 'FDW_INVALID_DATA_TYPE FDW_INVALID_DATA_TYPE_DESCRIPTORS ' + 19315 'FDW_INVALID_DESCRIPTOR_FIELD_IDENTIFIER FDW_INVALID_HANDLE FDW_INVALID_OPTION_INDEX ' + 19316 'FDW_INVALID_OPTION_NAME FDW_INVALID_STRING_LENGTH_OR_BUFFER_LENGTH ' + 19317 'FDW_INVALID_STRING_FORMAT FDW_INVALID_USE_OF_NULL_POINTER FDW_TOO_MANY_HANDLES ' + 19318 'FDW_OUT_OF_MEMORY FDW_NO_SCHEMAS FDW_OPTION_NAME_NOT_FOUND FDW_REPLY_HANDLE ' + 19319 'FDW_SCHEMA_NOT_FOUND FDW_TABLE_NOT_FOUND FDW_UNABLE_TO_CREATE_EXECUTION ' + 19320 'FDW_UNABLE_TO_CREATE_REPLY FDW_UNABLE_TO_ESTABLISH_CONNECTION PLPGSQL_ERROR ' + 19321 'RAISE_EXCEPTION NO_DATA_FOUND TOO_MANY_ROWS ASSERT_FAILURE INTERNAL_ERROR DATA_CORRUPTED ' + 19322 'INDEX_CORRUPTED '; 19323 19324 var FUNCTIONS = 19325 // https://www.postgresql.org/docs/11/static/functions-aggregate.html 19326 'ARRAY_AGG AVG BIT_AND BIT_OR BOOL_AND BOOL_OR COUNT EVERY JSON_AGG JSONB_AGG JSON_OBJECT_AGG ' + 19327 'JSONB_OBJECT_AGG MAX MIN MODE STRING_AGG SUM XMLAGG ' + 19328 'CORR COVAR_POP COVAR_SAMP REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE ' + 19329 'REGR_SXX REGR_SXY REGR_SYY STDDEV STDDEV_POP STDDEV_SAMP VARIANCE VAR_POP VAR_SAMP ' + 19330 'PERCENTILE_CONT PERCENTILE_DISC ' + 19331 // https://www.postgresql.org/docs/11/static/functions-window.html 19332 'ROW_NUMBER RANK DENSE_RANK PERCENT_RANK CUME_DIST NTILE LAG LEAD FIRST_VALUE LAST_VALUE NTH_VALUE ' + 19333 // https://www.postgresql.org/docs/11/static/functions-comparison.html 19334 'NUM_NONNULLS NUM_NULLS ' + 19335 // https://www.postgresql.org/docs/11/static/functions-math.html 19336 'ABS CBRT CEIL CEILING DEGREES DIV EXP FLOOR LN LOG MOD PI POWER RADIANS ROUND SCALE SIGN SQRT ' + 19337 'TRUNC WIDTH_BUCKET ' + 19338 'RANDOM SETSEED ' + 19339 'ACOS ACOSD ASIN ASIND ATAN ATAND ATAN2 ATAN2D COS COSD COT COTD SIN SIND TAN TAND ' + 19340 // https://www.postgresql.org/docs/11/static/functions-string.html 19341 'BIT_LENGTH CHAR_LENGTH CHARACTER_LENGTH LOWER OCTET_LENGTH OVERLAY POSITION SUBSTRING TREAT TRIM UPPER ' + 19342 'ASCII BTRIM CHR CONCAT CONCAT_WS CONVERT CONVERT_FROM CONVERT_TO DECODE ENCODE INITCAP' + 19343 'LEFT LENGTH LPAD LTRIM MD5 PARSE_IDENT PG_CLIENT_ENCODING QUOTE_IDENT|10 QUOTE_LITERAL|10 ' + 19344 'QUOTE_NULLABLE|10 REGEXP_MATCH REGEXP_MATCHES REGEXP_REPLACE REGEXP_SPLIT_TO_ARRAY ' + 19345 'REGEXP_SPLIT_TO_TABLE REPEAT REPLACE REVERSE RIGHT RPAD RTRIM SPLIT_PART STRPOS SUBSTR ' + 19346 'TO_ASCII TO_HEX TRANSLATE ' + 19347 // https://www.postgresql.org/docs/11/static/functions-binarystring.html 19348 'OCTET_LENGTH GET_BIT GET_BYTE SET_BIT SET_BYTE ' + 19349 // https://www.postgresql.org/docs/11/static/functions-formatting.html 19350 'TO_CHAR TO_DATE TO_NUMBER TO_TIMESTAMP ' + 19351 // https://www.postgresql.org/docs/11/static/functions-datetime.html 19352 'AGE CLOCK_TIMESTAMP|10 DATE_PART DATE_TRUNC ISFINITE JUSTIFY_DAYS JUSTIFY_HOURS JUSTIFY_INTERVAL ' + 19353 'MAKE_DATE MAKE_INTERVAL|10 MAKE_TIME MAKE_TIMESTAMP|10 MAKE_TIMESTAMPTZ|10 NOW STATEMENT_TIMESTAMP|10 ' + 19354 'TIMEOFDAY TRANSACTION_TIMESTAMP|10 ' + 19355 // https://www.postgresql.org/docs/11/static/functions-enum.html 19356 'ENUM_FIRST ENUM_LAST ENUM_RANGE ' + 19357 // https://www.postgresql.org/docs/11/static/functions-geometry.html 19358 'AREA CENTER DIAMETER HEIGHT ISCLOSED ISOPEN NPOINTS PCLOSE POPEN RADIUS WIDTH ' + 19359 'BOX BOUND_BOX CIRCLE LINE LSEG PATH POLYGON ' + 19360 // https://www.postgresql.org/docs/11/static/functions-net.html 19361 'ABBREV BROADCAST HOST HOSTMASK MASKLEN NETMASK NETWORK SET_MASKLEN TEXT INET_SAME_FAMILY' + 19362 'INET_MERGE MACADDR8_SET7BIT ' + 19363 // https://www.postgresql.org/docs/11/static/functions-textsearch.html 19364 'ARRAY_TO_TSVECTOR GET_CURRENT_TS_CONFIG NUMNODE PLAINTO_TSQUERY PHRASETO_TSQUERY WEBSEARCH_TO_TSQUERY ' + 19365 'QUERYTREE SETWEIGHT STRIP TO_TSQUERY TO_TSVECTOR JSON_TO_TSVECTOR JSONB_TO_TSVECTOR TS_DELETE ' + 19366 'TS_FILTER TS_HEADLINE TS_RANK TS_RANK_CD TS_REWRITE TSQUERY_PHRASE TSVECTOR_TO_ARRAY ' + 19367 'TSVECTOR_UPDATE_TRIGGER TSVECTOR_UPDATE_TRIGGER_COLUMN ' + 19368 // https://www.postgresql.org/docs/11/static/functions-xml.html 19369 'XMLCOMMENT XMLCONCAT XMLELEMENT XMLFOREST XMLPI XMLROOT ' + 19370 'XMLEXISTS XML_IS_WELL_FORMED XML_IS_WELL_FORMED_DOCUMENT XML_IS_WELL_FORMED_CONTENT ' + 19371 'XPATH XPATH_EXISTS XMLTABLE XMLNAMESPACES ' + 19372 'TABLE_TO_XML TABLE_TO_XMLSCHEMA TABLE_TO_XML_AND_XMLSCHEMA ' + 19373 'QUERY_TO_XML QUERY_TO_XMLSCHEMA QUERY_TO_XML_AND_XMLSCHEMA ' + 19374 'CURSOR_TO_XML CURSOR_TO_XMLSCHEMA ' + 19375 'SCHEMA_TO_XML SCHEMA_TO_XMLSCHEMA SCHEMA_TO_XML_AND_XMLSCHEMA ' + 19376 'DATABASE_TO_XML DATABASE_TO_XMLSCHEMA DATABASE_TO_XML_AND_XMLSCHEMA ' + 19377 'XMLATTRIBUTES ' + 19378 // https://www.postgresql.org/docs/11/static/functions-json.html 19379 'TO_JSON TO_JSONB ARRAY_TO_JSON ROW_TO_JSON JSON_BUILD_ARRAY JSONB_BUILD_ARRAY JSON_BUILD_OBJECT ' + 19380 'JSONB_BUILD_OBJECT JSON_OBJECT JSONB_OBJECT JSON_ARRAY_LENGTH JSONB_ARRAY_LENGTH JSON_EACH ' + 19381 'JSONB_EACH JSON_EACH_TEXT JSONB_EACH_TEXT JSON_EXTRACT_PATH JSONB_EXTRACT_PATH ' + 19382 'JSON_OBJECT_KEYS JSONB_OBJECT_KEYS JSON_POPULATE_RECORD JSONB_POPULATE_RECORD JSON_POPULATE_RECORDSET ' + 19383 'JSONB_POPULATE_RECORDSET JSON_ARRAY_ELEMENTS JSONB_ARRAY_ELEMENTS JSON_ARRAY_ELEMENTS_TEXT ' + 19384 'JSONB_ARRAY_ELEMENTS_TEXT JSON_TYPEOF JSONB_TYPEOF JSON_TO_RECORD JSONB_TO_RECORD JSON_TO_RECORDSET ' + 19385 'JSONB_TO_RECORDSET JSON_STRIP_NULLS JSONB_STRIP_NULLS JSONB_SET JSONB_INSERT JSONB_PRETTY ' + 19386 // https://www.postgresql.org/docs/11/static/functions-sequence.html 19387 'CURRVAL LASTVAL NEXTVAL SETVAL ' + 19388 // https://www.postgresql.org/docs/11/static/functions-conditional.html 19389 'COALESCE NULLIF GREATEST LEAST ' + 19390 // https://www.postgresql.org/docs/11/static/functions-array.html 19391 'ARRAY_APPEND ARRAY_CAT ARRAY_NDIMS ARRAY_DIMS ARRAY_FILL ARRAY_LENGTH ARRAY_LOWER ARRAY_POSITION ' + 19392 'ARRAY_POSITIONS ARRAY_PREPEND ARRAY_REMOVE ARRAY_REPLACE ARRAY_TO_STRING ARRAY_UPPER CARDINALITY ' + 19393 'STRING_TO_ARRAY UNNEST ' + 19394 // https://www.postgresql.org/docs/11/static/functions-range.html 19395 'ISEMPTY LOWER_INC UPPER_INC LOWER_INF UPPER_INF RANGE_MERGE ' + 19396 // https://www.postgresql.org/docs/11/static/functions-srf.html 19397 'GENERATE_SERIES GENERATE_SUBSCRIPTS ' + 19398 // https://www.postgresql.org/docs/11/static/functions-info.html 19399 'CURRENT_DATABASE CURRENT_QUERY CURRENT_SCHEMA|10 CURRENT_SCHEMAS|10 INET_CLIENT_ADDR INET_CLIENT_PORT ' + 19400 'INET_SERVER_ADDR INET_SERVER_PORT ROW_SECURITY_ACTIVE FORMAT_TYPE ' + 19401 'TO_REGCLASS TO_REGPROC TO_REGPROCEDURE TO_REGOPER TO_REGOPERATOR TO_REGTYPE TO_REGNAMESPACE TO_REGROLE ' + 19402 'COL_DESCRIPTION OBJ_DESCRIPTION SHOBJ_DESCRIPTION ' + 19403 'TXID_CURRENT TXID_CURRENT_IF_ASSIGNED TXID_CURRENT_SNAPSHOT TXID_SNAPSHOT_XIP TXID_SNAPSHOT_XMAX ' + 19404 'TXID_SNAPSHOT_XMIN TXID_VISIBLE_IN_SNAPSHOT TXID_STATUS ' + 19405 // https://www.postgresql.org/docs/11/static/functions-admin.html 19406 'CURRENT_SETTING SET_CONFIG BRIN_SUMMARIZE_NEW_VALUES BRIN_SUMMARIZE_RANGE BRIN_DESUMMARIZE_RANGE ' + 19407 'GIN_CLEAN_PENDING_LIST ' + 19408 // https://www.postgresql.org/docs/11/static/functions-trigger.html 19409 'SUPPRESS_REDUNDANT_UPDATES_TRIGGER ' + 19410 // ihttps://www.postgresql.org/docs/devel/static/lo-funcs.html 19411 'LO_FROM_BYTEA LO_PUT LO_GET LO_CREAT LO_CREATE LO_UNLINK LO_IMPORT LO_EXPORT LOREAD LOWRITE ' + 19412 // 19413 'GROUPING CAST '; 19414 19415 var FUNCTIONS_RE = 19416 FUNCTIONS.trim() 19417 .split(' ') 19418 .map( function(val) { return val.split('|')[0]; } ) 19419 .join('|'); 19420 19421 return { 19422 aliases: ['postgres','postgresql'], 19423 case_insensitive: true, 19424 keywords: { 19425 keyword: 19426 SQL_KW + PLPGSQL_KW + ROLE_ATTRS, 19427 built_in: 19428 SQL_BI + PLPGSQL_BI + PLPGSQL_EXCEPTIONS, 19429 }, 19430 // Forbid some cunstructs from other languages to improve autodetect. In fact 19431 // "[a-z]:" is legal (as part of array slice), but improbabal. 19432 illegal: /:==|\W\s*\(\*|(^|\s)\$[a-z]|{{|[a-z]:\s*$|\.\.\.|TO:|DO:/, 19433 contains: [ 19434 // special handling of some words, which are reserved only in some contexts 19435 { 19436 className: 'keyword', 19437 variants: [ 19438 { begin: /\bTEXT\s*SEARCH\b/ }, 19439 { begin: /\b(PRIMARY|FOREIGN|FOR(\s+NO)?)\s+KEY\b/ }, 19440 { begin: /\bPARALLEL\s+(UNSAFE|RESTRICTED|SAFE)\b/ }, 19441 { begin: /\bSTORAGE\s+(PLAIN|EXTERNAL|EXTENDED|MAIN)\b/ }, 19442 { begin: /\bMATCH\s+(FULL|PARTIAL|SIMPLE)\b/ }, 19443 { begin: /\bNULLS\s+(FIRST|LAST)\b/ }, 19444 { begin: /\bEVENT\s+TRIGGER\b/ }, 19445 { begin: /\b(MAPPING|OR)\s+REPLACE\b/ }, 19446 { begin: /\b(FROM|TO)\s+(PROGRAM|STDIN|STDOUT)\b/ }, 19447 { begin: /\b(SHARE|EXCLUSIVE)\s+MODE\b/ }, 19448 { begin: /\b(LEFT|RIGHT)\s+(OUTER\s+)?JOIN\b/ }, 19449 { begin: /\b(FETCH|MOVE)\s+(NEXT|PRIOR|FIRST|LAST|ABSOLUTE|RELATIVE|FORWARD|BACKWARD)\b/ }, 19450 { begin: /\bPRESERVE\s+ROWS\b/ }, 19451 { begin: /\bDISCARD\s+PLANS\b/ }, 19452 { begin: /\bREFERENCING\s+(OLD|NEW)\b/ }, 19453 { begin: /\bSKIP\s+LOCKED\b/ }, 19454 { begin: /\bGROUPING\s+SETS\b/ }, 19455 { begin: /\b(BINARY|INSENSITIVE|SCROLL|NO\s+SCROLL)\s+(CURSOR|FOR)\b/ }, 19456 { begin: /\b(WITH|WITHOUT)\s+HOLD\b/ }, 19457 { begin: /\bWITH\s+(CASCADED|LOCAL)\s+CHECK\s+OPTION\b/ }, 19458 { begin: /\bEXCLUDE\s+(TIES|NO\s+OTHERS)\b/ }, 19459 { begin: /\bFORMAT\s+(TEXT|XML|JSON|YAML)\b/ }, 19460 { begin: /\bSET\s+((SESSION|LOCAL)\s+)?NAMES\b/ }, 19461 { begin: /\bIS\s+(NOT\s+)?UNKNOWN\b/ }, 19462 { begin: /\bSECURITY\s+LABEL\b/ }, 19463 { begin: /\bSTANDALONE\s+(YES|NO|NO\s+VALUE)\b/ }, 19464 { begin: /\bWITH\s+(NO\s+)?DATA\b/ }, 19465 { begin: /\b(FOREIGN|SET)\s+DATA\b/ }, 19466 { begin: /\bSET\s+(CATALOG|CONSTRAINTS)\b/ }, 19467 { begin: /\b(WITH|FOR)\s+ORDINALITY\b/ }, 19468 { begin: /\bIS\s+(NOT\s+)?DOCUMENT\b/ }, 19469 { begin: /\bXML\s+OPTION\s+(DOCUMENT|CONTENT)\b/ }, 19470 { begin: /\b(STRIP|PRESERVE)\s+WHITESPACE\b/ }, 19471 { begin: /\bNO\s+(ACTION|MAXVALUE|MINVALUE)\b/ }, 19472 { begin: /\bPARTITION\s+BY\s+(RANGE|LIST|HASH)\b/ }, 19473 { begin: /\bAT\s+TIME\s+ZONE\b/ }, 19474 { begin: /\bGRANTED\s+BY\b/ }, 19475 { begin: /\bRETURN\s+(QUERY|NEXT)\b/ }, 19476 { begin: /\b(ATTACH|DETACH)\s+PARTITION\b/ }, 19477 { begin: /\bFORCE\s+ROW\s+LEVEL\s+SECURITY\b/ }, 19478 { begin: /\b(INCLUDING|EXCLUDING)\s+(COMMENTS|CONSTRAINTS|DEFAULTS|IDENTITY|INDEXES|STATISTICS|STORAGE|ALL)\b/ }, 19479 { begin: /\bAS\s+(ASSIGNMENT|IMPLICIT|PERMISSIVE|RESTRICTIVE|ENUM|RANGE)\b/ } 19480 ] 19481 }, 19482 // functions named as keywords, followed by '(' 19483 { 19484 begin: /\b(FORMAT|FAMILY|VERSION)\s*\(/, 19485 //keywords: { built_in: 'FORMAT FAMILY VERSION' } 19486 }, 19487 // INCLUDE ( ... ) in index_parameters in CREATE TABLE 19488 { 19489 begin: /\bINCLUDE\s*\(/, 19490 keywords: 'INCLUDE' 19491 }, 19492 // not highlight RANGE if not in frame_clause (not 100% correct, but seems satisfactory) 19493 { 19494 begin: /\bRANGE(?!\s*(BETWEEN|UNBOUNDED|CURRENT|[-0-9]+))/ 19495 }, 19496 // disable highlighting in commands CREATE AGGREGATE/COLLATION/DATABASE/OPERTOR/TEXT SEARCH .../TYPE 19497 // and in PL/pgSQL RAISE ... USING 19498 { 19499 begin: /\b(VERSION|OWNER|TEMPLATE|TABLESPACE|CONNECTION\s+LIMIT|PROCEDURE|RESTRICT|JOIN|PARSER|COPY|START|END|COLLATION|INPUT|ANALYZE|STORAGE|LIKE|DEFAULT|DELIMITER|ENCODING|COLUMN|CONSTRAINT|TABLE|SCHEMA)\s*=/ 19500 }, 19501 // PG_smth; HAS_some_PRIVILEGE 19502 { 19503 //className: 'built_in', 19504 begin: /\b(PG_\w+?|HAS_[A-Z_]+_PRIVILEGE)\b/, 19505 relevance: 10 19506 }, 19507 // extract 19508 { 19509 begin: /\bEXTRACT\s*\(/, 19510 end: /\bFROM\b/, 19511 returnEnd: true, 19512 keywords: { 19513 //built_in: 'EXTRACT', 19514 type: 'CENTURY DAY DECADE DOW DOY EPOCH HOUR ISODOW ISOYEAR MICROSECONDS ' + 19515 'MILLENNIUM MILLISECONDS MINUTE MONTH QUARTER SECOND TIMEZONE TIMEZONE_HOUR ' + 19516 'TIMEZONE_MINUTE WEEK YEAR' 19517 } 19518 }, 19519 // xmlelement, xmlpi - special NAME 19520 { 19521 begin: /\b(XMLELEMENT|XMLPI)\s*\(\s*NAME/, 19522 keywords: { 19523 //built_in: 'XMLELEMENT XMLPI', 19524 keyword: 'NAME' 19525 } 19526 }, 19527 // xmlparse, xmlserialize 19528 { 19529 begin: /\b(XMLPARSE|XMLSERIALIZE)\s*\(\s*(DOCUMENT|CONTENT)/, 19530 keywords: { 19531 //built_in: 'XMLPARSE XMLSERIALIZE', 19532 keyword: 'DOCUMENT CONTENT' 19533 } 19534 }, 19535 // Sequences. We actually skip everything between CACHE|INCREMENT|MAXVALUE|MINVALUE and 19536 // nearest following numeric constant. Without with trick we find a lot of "keywords" 19537 // in 'avrasm' autodetection test... 19538 { 19539 beginKeywords: 'CACHE INCREMENT MAXVALUE MINVALUE', 19540 end: hljs.C_NUMBER_RE, 19541 returnEnd: true, 19542 keywords: 'BY CACHE INCREMENT MAXVALUE MINVALUE' 19543 }, 19544 // WITH|WITHOUT TIME ZONE as part of datatype 19545 { 19546 className: 'type', 19547 begin: /\b(WITH|WITHOUT)\s+TIME\s+ZONE\b/ 19548 }, 19549 // INTERVAL optional fields 19550 { 19551 className: 'type', 19552 begin: /\bINTERVAL\s+(YEAR|MONTH|DAY|HOUR|MINUTE|SECOND)(\s+TO\s+(MONTH|HOUR|MINUTE|SECOND))?\b/ 19553 }, 19554 // Pseudo-types which allowed only as return type 19555 { 19556 begin: /\bRETURNS\s+(LANGUAGE_HANDLER|TRIGGER|EVENT_TRIGGER|FDW_HANDLER|INDEX_AM_HANDLER|TSM_HANDLER)\b/, 19557 keywords: { 19558 keyword: 'RETURNS', 19559 type: 'LANGUAGE_HANDLER TRIGGER EVENT_TRIGGER FDW_HANDLER INDEX_AM_HANDLER TSM_HANDLER' 19560 } 19561 }, 19562 // Known functions - only when followed by '(' 19563 { 19564 begin: '\\b(' + FUNCTIONS_RE + ')\\s*\\(' 19565 //keywords: { built_in: FUNCTIONS } 19566 }, 19567 // Types 19568 { 19569 begin: '\\.(' + TYPES_RE + ')\\b' // prevent highlight as type, say, 'oid' in 'pgclass.oid' 19570 }, 19571 { 19572 begin: '\\b(' + TYPES_RE + ')\\s+PATH\\b', // in XMLTABLE 19573 keywords: { 19574 keyword: 'PATH', // hopefully no one would use PATH type in XMLTABLE... 19575 type: TYPES.replace('PATH ','') 19576 } 19577 }, 19578 { 19579 className: 'type', 19580 begin: '\\b(' + TYPES_RE + ')\\b' 19581 }, 19582 // Strings, see https://www.postgresql.org/docs/11/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS 19583 { 19584 className: 'string', 19585 begin: '\'', end: '\'', 19586 contains: [{begin: '\'\''}] 19587 }, 19588 { 19589 className: 'string', 19590 begin: '(e|E|u&|U&)\'', end: '\'', 19591 contains: [{begin: '\\\\.'}], 19592 relevance: 10 19593 }, 19594 { 19595 begin: DOLLAR_STRING, 19596 endSameAsBegin: true, 19597 contains: [ 19598 { 19599 // actually we want them all except SQL; listed are those with known implementations 19600 // and XML + JSON just in case 19601 subLanguage: ['pgsql','perl','python','tcl','r','lua','java','php','ruby','bash','scheme','xml','json'], 19602 endsWithParent: true 19603 } 19604 ] 19605 }, 19606 // identifiers in quotes 19607 { 19608 begin: '"', end: '"', 19609 contains: [{begin: '""'}] 19610 }, 19611 // numbers 19612 hljs.C_NUMBER_MODE, 19613 // comments 19614 hljs.C_BLOCK_COMMENT_MODE, 19615 COMMENT_MODE, 19616 // PL/pgSQL staff 19617 // %ROWTYPE, %TYPE, $n 19618 { 19619 className: 'meta', 19620 variants: [ 19621 {begin: '%(ROW)?TYPE', relevance: 10}, // %TYPE, %ROWTYPE 19622 {begin: '\\$\\d+'}, // $n 19623 {begin: '^#\\w', end: '$'} // #compiler option 19624 ] 19625 }, 19626 // <<labeles>> 19627 { 19628 className: 'symbol', 19629 begin: LABEL, 19630 relevance: 10 19631 } 19632 ] 19633 }; 19634 } 19635 },{name:"php",create:/* 19636 Language: PHP 19637 Author: Victor Karamzin <Victor.Karamzin@enterra-inc.com> 19638 Contributors: Evgeny Stepanischev <imbolk@gmail.com>, Ivan Sagalaev <maniac@softwaremaniacs.org> 19639 Category: common 19640 */ 19641 19642 function(hljs) { 19643 var VARIABLE = { 19644 begin: '\\$+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' 19645 }; 19646 var PREPROCESSOR = { 19647 className: 'meta', begin: /<\?(php)?|\?>/ 19648 }; 19649 var STRING = { 19650 className: 'string', 19651 contains: [hljs.BACKSLASH_ESCAPE, PREPROCESSOR], 19652 variants: [ 19653 { 19654 begin: 'b"', end: '"' 19655 }, 19656 { 19657 begin: 'b\'', end: '\'' 19658 }, 19659 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}), 19660 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}) 19661 ] 19662 }; 19663 var NUMBER = {variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE]}; 19664 return { 19665 aliases: ['php', 'php3', 'php4', 'php5', 'php6', 'php7'], 19666 case_insensitive: true, 19667 keywords: 19668 'and include_once list abstract global private echo interface as static endswitch ' + 19669 'array null if endwhile or const for endforeach self var while isset public ' + 19670 'protected exit foreach throw elseif include __FILE__ empty require_once do xor ' + 19671 'return parent clone use __CLASS__ __LINE__ else break print eval new ' + 19672 'catch __METHOD__ case exception default die require __FUNCTION__ ' + 19673 'enddeclare final try switch continue endfor endif declare unset true false ' + 19674 'trait goto instanceof insteadof __DIR__ __NAMESPACE__ ' + 19675 'yield finally', 19676 contains: [ 19677 hljs.HASH_COMMENT_MODE, 19678 hljs.COMMENT('//', '$', {contains: [PREPROCESSOR]}), 19679 hljs.COMMENT( 19680 '/\\*', 19681 '\\*/', 19682 { 19683 contains: [ 19684 { 19685 className: 'doctag', 19686 begin: '@[A-Za-z]+' 19687 } 19688 ] 19689 } 19690 ), 19691 hljs.COMMENT( 19692 '__halt_compiler.+?;', 19693 false, 19694 { 19695 endsWithParent: true, 19696 keywords: '__halt_compiler', 19697 lexemes: hljs.UNDERSCORE_IDENT_RE 19698 } 19699 ), 19700 { 19701 className: 'string', 19702 begin: /<<<['"]?\w+['"]?$/, end: /^\w+;?$/, 19703 contains: [ 19704 hljs.BACKSLASH_ESCAPE, 19705 { 19706 className: 'subst', 19707 variants: [ 19708 {begin: /\$\w+/}, 19709 {begin: /\{\$/, end: /\}/} 19710 ] 19711 } 19712 ] 19713 }, 19714 PREPROCESSOR, 19715 { 19716 className: 'keyword', begin: /\$this\b/ 19717 }, 19718 VARIABLE, 19719 { 19720 // swallow composed identifiers to avoid parsing them as keywords 19721 begin: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/ 19722 }, 19723 { 19724 className: 'function', 19725 beginKeywords: 'function', end: /[;{]/, excludeEnd: true, 19726 illegal: '\\$|\\[|%', 19727 contains: [ 19728 hljs.UNDERSCORE_TITLE_MODE, 19729 { 19730 className: 'params', 19731 begin: '\\(', end: '\\)', 19732 contains: [ 19733 'self', 19734 VARIABLE, 19735 hljs.C_BLOCK_COMMENT_MODE, 19736 STRING, 19737 NUMBER 19738 ] 19739 } 19740 ] 19741 }, 19742 { 19743 className: 'class', 19744 beginKeywords: 'class interface', end: '{', excludeEnd: true, 19745 illegal: /[:\(\$"]/, 19746 contains: [ 19747 {beginKeywords: 'extends implements'}, 19748 hljs.UNDERSCORE_TITLE_MODE 19749 ] 19750 }, 19751 { 19752 beginKeywords: 'namespace', end: ';', 19753 illegal: /[\.']/, 19754 contains: [hljs.UNDERSCORE_TITLE_MODE] 19755 }, 19756 { 19757 beginKeywords: 'use', end: ';', 19758 contains: [hljs.UNDERSCORE_TITLE_MODE] 19759 }, 19760 { 19761 begin: '=>' // No markup, just a relevance booster 19762 }, 19763 STRING, 19764 NUMBER 19765 ] 19766 }; 19767 } 19768 },{name:"plaintext",create:/* 19769 Language: plaintext 19770 Author: Egor Rogov (e.rogov@postgrespro.ru) 19771 Description: 19772 Plain text without any highlighting. 19773 */ 19774 19775 function(hljs) { 19776 return { 19777 disableAutodetect: true 19778 }; 19779 } 19780 },{name:"pony",create:/* 19781 Language: Pony 19782 Author: Joe Eli McIlvain <joe.eli.mac@gmail.com> 19783 Description: Pony is an open-source, object-oriented, actor-model, 19784 capabilities-secure, high performance programming language. 19785 */ 19786 19787 function(hljs) { 19788 var KEYWORDS = { 19789 keyword: 19790 'actor addressof and as be break class compile_error compile_intrinsic ' + 19791 'consume continue delegate digestof do else elseif embed end error ' + 19792 'for fun if ifdef in interface is isnt lambda let match new not object ' + 19793 'or primitive recover repeat return struct then trait try type until ' + 19794 'use var where while with xor', 19795 meta: 19796 'iso val tag trn box ref', 19797 literal: 19798 'this false true' 19799 }; 19800 19801 var TRIPLE_QUOTE_STRING_MODE = { 19802 className: 'string', 19803 begin: '"""', end: '"""', 19804 relevance: 10 19805 }; 19806 19807 var QUOTE_STRING_MODE = { 19808 className: 'string', 19809 begin: '"', end: '"', 19810 contains: [hljs.BACKSLASH_ESCAPE] 19811 }; 19812 19813 var SINGLE_QUOTE_CHAR_MODE = { 19814 className: 'string', 19815 begin: '\'', end: '\'', 19816 contains: [hljs.BACKSLASH_ESCAPE], 19817 relevance: 0 19818 }; 19819 19820 var TYPE_NAME = { 19821 className: 'type', 19822 begin: '\\b_?[A-Z][\\w]*', 19823 relevance: 0 19824 }; 19825 19826 var PRIMED_NAME = { 19827 begin: hljs.IDENT_RE + '\'', relevance: 0 19828 }; 19829 19830 /** 19831 * The `FUNCTION` and `CLASS` modes were intentionally removed to simplify 19832 * highlighting and fix cases like 19833 * ``` 19834 * interface Iterator[A: A] 19835 * fun has_next(): Bool 19836 * fun next(): A? 19837 * ``` 19838 * where it is valid to have a function head without a body 19839 */ 19840 19841 return { 19842 keywords: KEYWORDS, 19843 contains: [ 19844 TYPE_NAME, 19845 TRIPLE_QUOTE_STRING_MODE, 19846 QUOTE_STRING_MODE, 19847 SINGLE_QUOTE_CHAR_MODE, 19848 PRIMED_NAME, 19849 hljs.C_NUMBER_MODE, 19850 hljs.C_LINE_COMMENT_MODE, 19851 hljs.C_BLOCK_COMMENT_MODE 19852 ] 19853 }; 19854 } 19855 },{name:"powershell",create:/* 19856 Language: PowerShell 19857 Author: David Mohundro <david@mohundro.com> 19858 Contributors: Nicholas Blumhardt <nblumhardt@nblumhardt.com>, Victor Zhou <OiCMudkips@users.noreply.github.com>, Nicolas Le Gall <contact@nlegall.fr> 19859 */ 19860 19861 function(hljs){ 19862 var BACKTICK_ESCAPE = { 19863 begin: "`[\\s\\S]", 19864 relevance: 0, 19865 }; 19866 var VAR = { 19867 className: "variable", 19868 variants: [{ begin: /\$[\w\d][\w\d_:]*/ }], 19869 }; 19870 var LITERAL = { 19871 className: "literal", 19872 begin: /\$(null|true|false)\b/, 19873 }; 19874 var QUOTE_STRING = { 19875 className: "string", 19876 variants: [{ begin: /"/, end: /"/ }, { begin: /@"/, end: /^"@/ }], 19877 contains: [ 19878 BACKTICK_ESCAPE, 19879 VAR, 19880 { 19881 className: "variable", 19882 begin: /\$[A-z]/, 19883 end: /[^A-z]/, 19884 }, 19885 ], 19886 }; 19887 var APOS_STRING = { 19888 className: "string", 19889 variants: [{ begin: /'/, end: /'/ }, { begin: /@'/, end: /^'@/ }], 19890 }; 19891 19892 var PS_HELPTAGS = { 19893 className: "doctag", 19894 variants: [ 19895 /* no paramater help tags */ 19896 19897 { 19898 begin: /\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/, 19899 }, 19900 /* one parameter help tags */ 19901 { 19902 begin: /\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/, 19903 }, 19904 ], 19905 }; 19906 var PS_COMMENT = hljs.inherit(hljs.COMMENT(null, null), { 19907 variants: [ 19908 /* single-line comment */ 19909 { begin: /#/, end: /$/ }, 19910 /* multi-line comment */ 19911 { begin: /<#/, end: /#>/ }, 19912 ], 19913 contains: [PS_HELPTAGS], 19914 }); 19915 19916 return { 19917 aliases: ["ps"], 19918 lexemes: /-?[A-z\.\-]+/, 19919 case_insensitive: true, 19920 keywords: { 19921 keyword: 19922 "if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch" + 19923 "ValidateNoCircleInNodeResources ValidateNodeExclusiveResources ValidateNodeManager ValidateNodeResources ValidateNodeResourceSource ValidateNoNameNodeResources ThrowError IsHiddenResource" + 19924 "IsPatternMatched ", 19925 built_in: 19926 "Add-Computer Add-Content Add-History Add-JobTrigger Add-Member Add-PSSnapin Add-Type Checkpoint-Computer Clear-Content " + 19927 "Clear-EventLog Clear-History Clear-Host Clear-Item Clear-ItemProperty Clear-Variable Compare-Object Complete-Transaction Connect-PSSession " + 19928 "Connect-WSMan Convert-Path ConvertFrom-Csv ConvertFrom-Json ConvertFrom-SecureString ConvertFrom-StringData ConvertTo-Csv ConvertTo-Html " + 19929 "ConvertTo-Json ConvertTo-SecureString ConvertTo-Xml Copy-Item Copy-ItemProperty Debug-Process Disable-ComputerRestore Disable-JobTrigger " + 19930 "Disable-PSBreakpoint Disable-PSRemoting Disable-PSSessionConfiguration Disable-WSManCredSSP Disconnect-PSSession Disconnect-WSMan " + 19931 "Disable-ScheduledJob Enable-ComputerRestore Enable-JobTrigger Enable-PSBreakpoint Enable-PSRemoting Enable-PSSessionConfiguration " + 19932 "Enable-ScheduledJob Enable-WSManCredSSP Enter-PSSession Exit-PSSession Export-Alias Export-Clixml Export-Console Export-Counter Export-Csv " + 19933 "Export-FormatData Export-ModuleMember Export-PSSession ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias " + 19934 "Get-AuthenticodeSignature Get-ChildItem Get-Command Get-ComputerRestorePoint Get-Content Get-ControlPanelItem Get-Counter Get-Credential " + 19935 "Get-Culture Get-Date Get-Event Get-EventLog Get-EventSubscriber Get-ExecutionPolicy Get-FormatData Get-Host Get-HotFix Get-Help Get-History " + 19936 "Get-IseSnippet Get-Item Get-ItemProperty Get-Job Get-JobTrigger Get-Location Get-Member Get-Module Get-PfxCertificate Get-Process " + 19937 "Get-PSBreakpoint Get-PSCallStack Get-PSDrive Get-PSProvider Get-PSSession Get-PSSessionConfiguration Get-PSSnapin Get-Random Get-ScheduledJob " + 19938 "Get-ScheduledJobOption Get-Service Get-TraceSource Get-Transaction Get-TypeData Get-UICulture Get-Unique Get-Variable Get-Verb Get-WinEvent " + 19939 "Get-WmiObject Get-WSManCredSSP Get-WSManInstance Group-Object Import-Alias Import-Clixml Import-Counter Import-Csv Import-IseSnippet " + 19940 "Import-LocalizedData Import-PSSession Import-Module Invoke-AsWorkflow Invoke-Command Invoke-Expression Invoke-History Invoke-Item " + 19941 "Invoke-RestMethod Invoke-WebRequest Invoke-WmiMethod Invoke-WSManAction Join-Path Limit-EventLog Measure-Command Measure-Object Move-Item " + 19942 "Move-ItemProperty New-Alias New-Event New-EventLog New-IseSnippet New-Item New-ItemProperty New-JobTrigger New-Object New-Module " + 19943 "New-ModuleManifest New-PSDrive New-PSSession New-PSSessionConfigurationFile New-PSSessionOption New-PSTransportOption " + 19944 "New-PSWorkflowExecutionOption New-PSWorkflowSession New-ScheduledJobOption New-Service New-TimeSpan New-Variable New-WebServiceProxy " + 19945 "New-WinEvent New-WSManInstance New-WSManSessionOption Out-Default Out-File Out-GridView Out-Host Out-Null Out-Printer Out-String Pop-Location " + 19946 "Push-Location Read-Host Receive-Job Register-EngineEvent Register-ObjectEvent Register-PSSessionConfiguration Register-ScheduledJob " + 19947 "Register-WmiEvent Remove-Computer Remove-Event Remove-EventLog Remove-Item Remove-ItemProperty Remove-Job Remove-JobTrigger Remove-Module " + 19948 "Remove-PSBreakpoint Remove-PSDrive Remove-PSSession Remove-PSSnapin Remove-TypeData Remove-Variable Remove-WmiObject Remove-WSManInstance " + 19949 "Rename-Computer Rename-Item Rename-ItemProperty Reset-ComputerMachinePassword Resolve-Path Restart-Computer Restart-Service Restore-Computer " + 19950 "Resume-Job Resume-Service Save-Help Select-Object Select-String Select-Xml Send-MailMessage Set-Acl Set-Alias Set-AuthenticodeSignature " + 19951 "Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-JobTrigger Set-Location Set-PSBreakpoint Set-PSDebug " + 19952 "Set-PSSessionConfiguration Set-ScheduledJob Set-ScheduledJobOption Set-Service Set-StrictMode Set-TraceSource Set-Variable Set-WmiInstance " + 19953 "Set-WSManInstance Set-WSManQuickConfig Show-Command Show-ControlPanelItem Show-EventLog Sort-Object Split-Path Start-Job Start-Process " + 19954 "Start-Service Start-Sleep Start-Transaction Start-Transcript Stop-Computer Stop-Job Stop-Process Stop-Service Stop-Transcript Suspend-Job " + 19955 "Suspend-Service Tee-Object Test-ComputerSecureChannel Test-Connection Test-ModuleManifest Test-Path Test-PSSessionConfigurationFile " + 19956 "Trace-Command Unblock-File Undo-Transaction Unregister-Event Unregister-PSSessionConfiguration Unregister-ScheduledJob Update-FormatData " + 19957 "Update-Help Update-List Update-TypeData Use-Transaction Wait-Event Wait-Job Wait-Process Where-Object Write-Debug Write-Error Write-EventLog " + 19958 "Write-Host Write-Output Write-Progress Write-Verbose Write-Warning Add-MDTPersistentDrive Disable-MDTMonitorService Enable-MDTMonitorService " + 19959 "Get-MDTDeploymentShareStatistics Get-MDTMonitorData Get-MDTOperatingSystemCatalog Get-MDTPersistentDrive Import-MDTApplication " + 19960 "Import-MDTDriver Import-MDTOperatingSystem Import-MDTPackage Import-MDTTaskSequence New-MDTDatabase Remove-MDTMonitorData " + 19961 "Remove-MDTPersistentDrive Restore-MDTPersistentDrive Set-MDTMonitorData Test-MDTDeploymentShare Test-MDTMonitorData Update-MDTDatabaseSchema " + 19962 "Update-MDTDeploymentShare Update-MDTLinkedDS Update-MDTMedia Add-VamtProductKey Export-VamtData Find-VamtManagedMachine " + 19963 "Get-VamtConfirmationId Get-VamtProduct Get-VamtProductKey Import-VamtData Initialize-VamtData Install-VamtConfirmationId " + 19964 "Install-VamtProductActivation Install-VamtProductKey Update-VamtProduct Add-CIDatastore Add-KeyManagementServer Add-NodeKeys " + 19965 "Add-NsxDynamicCriteria Add-NsxDynamicMemberSet Add-NsxEdgeInterfaceAddress Add-NsxFirewallExclusionListMember Add-NsxFirewallRuleMember " + 19966 "Add-NsxIpSetMember Add-NsxLicense Add-NsxLoadBalancerPoolMember Add-NsxLoadBalancerVip Add-NsxSecondaryManager Add-NsxSecurityGroupMember " + 19967 "Add-NsxSecurityPolicyRule Add-NsxSecurityPolicyRuleGroup Add-NsxSecurityPolicyRuleService Add-NsxServiceGroupMember " + 19968 "Add-NsxTransportZoneMember Add-PassthroughDevice Add-VDSwitchPhysicalNetworkAdapter Add-VDSwitchVMHost Add-VMHost Add-VMHostNtpServer " + 19969 "Add-VirtualSwitchPhysicalNetworkAdapter Add-XmlElement Add-vRACustomForm Add-vRAPrincipalToTenantRole Add-vRAReservationNetwork " + 19970 "Add-vRAReservationStorage Clear-NsxEdgeInterface Clear-NsxManagerTimeSettings Compress-Archive Connect-CIServer Connect-CisServer " + 19971 "Connect-HCXServer Connect-NIServer Connect-NsxLogicalSwitch Connect-NsxServer Connect-NsxtServer Connect-SrmServer Connect-VIServer " + 19972 "Connect-Vmc Connect-vRAServer Connect-vRNIServer ConvertFrom-Markdown ConvertTo-MOFInstance Copy-DatastoreItem Copy-HardDisk Copy-NsxEdge " + 19973 "Copy-VDisk Copy-VMGuestFile Debug-Runspace Disable-NsxEdgeSsh Disable-RunspaceDebug Disable-vRNIDataSource Disconnect-CIServer " + 19974 "Disconnect-CisServer Disconnect-HCXServer Disconnect-NsxLogicalSwitch Disconnect-NsxServer Disconnect-NsxtServer Disconnect-SrmServer " + 19975 "Disconnect-VIServer Disconnect-Vmc Disconnect-vRAServer Disconnect-vRNIServer Dismount-Tools Enable-NsxEdgeSsh Enable-RunspaceDebug " + 19976 "Enable-vRNIDataSource Expand-Archive Export-NsxObject Export-SpbmStoragePolicy Export-VApp Export-VDPortGroup Export-VDSwitch " + 19977 "Export-VMHostProfile Export-vRAIcon Export-vRAPackage Find-Command Find-DscResource Find-Module Find-NsxWhereVMUsed Find-Package " + 19978 "Find-PackageProvider Find-RoleCapability Find-Script Format-Hex Format-VMHostDiskPartition Format-XML Generate-VersionInfo " + 19979 "Get-AdvancedSetting Get-AlarmAction Get-AlarmActionTrigger Get-AlarmDefinition Get-Annotation Get-CDDrive Get-CIAccessControlRule " + 19980 "Get-CIDatastore Get-CINetworkAdapter Get-CIRole Get-CIUser Get-CIVApp Get-CIVAppNetwork Get-CIVAppStartRule Get-CIVAppTemplate Get-CIVM " + 19981 "Get-CIVMTemplate Get-CIView Get-Catalog Get-CisCommand Get-CisService Get-CloudCommand Get-Cluster Get-CompatibleVersionAddtionaPropertiesStr " + 19982 "Get-ComplexResourceQualifier Get-ConfigurationErrorCount Get-ContentLibraryItem Get-CustomAttribute Get-DSCResourceModules Get-Datacenter " + 19983 "Get-Datastore Get-DatastoreCluster Get-DrsClusterGroup Get-DrsRecommendation Get-DrsRule Get-DrsVMHostRule Get-DscResource Get-EdgeGateway " + 19984 "Get-EncryptedPassword Get-ErrorReport Get-EsxCli Get-EsxTop Get-ExternalNetwork Get-FileHash Get-FloppyDrive Get-Folder Get-HAPrimaryVMHost " + 19985 "Get-HCXAppliance Get-HCXApplianceCompute Get-HCXApplianceDVS Get-HCXApplianceDatastore Get-HCXApplianceNetwork Get-HCXContainer " + 19986 "Get-HCXDatastore Get-HCXGateway Get-HCXInterconnectStatus Get-HCXJob Get-HCXMigration Get-HCXNetwork Get-HCXNetworkExtension " + 19987 "Get-HCXReplication Get-HCXReplicationSnapshot Get-HCXService Get-HCXSite Get-HCXSitePairing Get-HCXVM Get-HardDisk Get-IScsiHbaTarget " + 19988 "Get-InnerMostErrorRecord Get-InstallPath Get-InstalledModule Get-InstalledScript Get-Inventory Get-ItemPropertyValue Get-KeyManagementServer " + 19989 "Get-KmipClientCertificate Get-KmsCluster Get-Log Get-LogType Get-MarkdownOption Get-Media Get-MofInstanceName Get-MofInstanceText Get-NetworkAdapter Get-NetworkPool " + 19990 "Get-NfsUser Get-NicTeamingPolicy Get-NsxApplicableMember Get-NsxApplicableSecurityAction Get-NsxBackingDVSwitch Get-NsxBackingPortGroup Get-NsxCliDfwAddrSet " + 19991 "Get-NsxCliDfwFilter Get-NsxCliDfwRule Get-NsxClusterStatus Get-NsxController Get-NsxDynamicCriteria Get-NsxDynamicMemberSet Get-NsxEdge Get-NsxEdgeBgp " + 19992 "Get-NsxEdgeBgpNeighbour Get-NsxEdgeCertificate Get-NsxEdgeCsr Get-NsxEdgeFirewall Get-NsxEdgeFirewallRule Get-NsxEdgeInterface Get-NsxEdgeInterfaceAddress " + 19993 "Get-NsxEdgeNat Get-NsxEdgeNatRule Get-NsxEdgeOspf Get-NsxEdgeOspfArea Get-NsxEdgeOspfInterface Get-NsxEdgePrefix Get-NsxEdgeRedistributionRule Get-NsxEdgeRouting " + 19994 "Get-NsxEdgeStaticRoute Get-NsxEdgeSubInterface Get-NsxFirewallExclusionListMember Get-NsxFirewallGlobalConfiguration Get-NsxFirewallPublishStatus Get-NsxFirewallRule " + 19995 "Get-NsxFirewallRuleMember Get-NsxFirewallSavedConfiguration Get-NsxFirewallSection Get-NsxFirewallThreshold Get-NsxIpPool Get-NsxIpSet Get-NsxLicense Get-NsxLoadBalancer " + 19996 "Get-NsxLoadBalancerApplicationProfile Get-NsxLoadBalancerApplicationRule Get-NsxLoadBalancerMonitor Get-NsxLoadBalancerPool Get-NsxLoadBalancerPoolMember Get-NsxLoadBalancerStats " + 19997 "Get-NsxLoadBalancerVip Get-NsxLogicalRouter Get-NsxLogicalRouterBgp Get-NsxLogicalRouterBgpNeighbour Get-NsxLogicalRouterBridge Get-NsxLogicalRouterBridging " + 19998 "Get-NsxLogicalRouterInterface Get-NsxLogicalRouterOspf Get-NsxLogicalRouterOspfArea Get-NsxLogicalRouterOspfInterface Get-NsxLogicalRouterPrefix " + 19999 "Get-NsxLogicalRouterRedistributionRule Get-NsxLogicalRouterRouting Get-NsxLogicalRouterStaticRoute Get-NsxLogicalSwitch Get-NsxMacSet Get-NsxManagerBackup " + 20000 "Get-NsxManagerCertificate Get-NsxManagerComponentSummary Get-NsxManagerNetwork Get-NsxManagerRole Get-NsxManagerSsoConfig Get-NsxManagerSyncStatus Get-NsxManagerSyslogServer " + 20001 "Get-NsxManagerSystemSummary Get-NsxManagerTimeSettings Get-NsxManagerVcenterConfig Get-NsxSecondaryManager Get-NsxSecurityGroup Get-NsxSecurityGroupEffectiveIpAddress " + 20002 "Get-NsxSecurityGroupEffectiveMacAddress Get-NsxSecurityGroupEffectiveMember Get-NsxSecurityGroupEffectiveVirtualMachine Get-NsxSecurityGroupEffectiveVnic " + 20003 "Get-NsxSecurityGroupMemberTypes Get-NsxSecurityPolicy Get-NsxSecurityPolicyHighestUsedPrecedence Get-NsxSecurityPolicyRule Get-NsxSecurityTag Get-NsxSecurityTagAssignment " + 20004 "Get-NsxSegmentIdRange Get-NsxService Get-NsxServiceDefinition Get-NsxServiceGroup Get-NsxServiceGroupMember Get-NsxServiceProfile Get-NsxSpoofguardNic Get-NsxSpoofguardPolicy " + 20005 "Get-NsxSslVpn Get-NsxSslVpnAuthServer Get-NsxSslVpnClientInstallationPackage Get-NsxSslVpnIpPool Get-NsxSslVpnPrivateNetwork Get-NsxSslVpnUser Get-NsxTransportZone " + 20006 "Get-NsxUserRole Get-NsxVdsContext Get-NsxtPolicyService Get-NsxtService Get-OSCustomizationNicMapping Get-OSCustomizationSpec Get-Org Get-OrgNetwork Get-OrgVdc " + 20007 "Get-OrgVdcNetwork Get-OvfConfiguration Get-PSCurrentConfigurationNode Get-PSDefaultConfigurationDocument Get-PSMetaConfigDocumentInstVersionInfo Get-PSMetaConfigurationProcessed " + 20008 "Get-PSReadLineKeyHandler Get-PSReadLineOption Get-PSRepository Get-PSTopConfigurationName Get-PSVersion Get-Package Get-PackageProvider Get-PackageSource Get-PassthroughDevice " + 20009 "Get-PositionInfo Get-PowerCLICommunity Get-PowerCLIConfiguration Get-PowerCLIHelp Get-PowerCLIVersion Get-PowerNsxVersion Get-ProviderVdc Get-PublicKeyFromFile " + 20010 "Get-PublicKeyFromStore Get-ResourcePool Get-Runspace Get-RunspaceDebug Get-ScsiController Get-ScsiLun Get-ScsiLunPath Get-SecurityInfo Get-SecurityPolicy Get-Snapshot " + 20011 "Get-SpbmCapability Get-SpbmCompatibleStorage Get-SpbmEntityConfiguration Get-SpbmFaultDomain Get-SpbmPointInTimeReplica Get-SpbmReplicationGroup Get-SpbmReplicationPair " + 20012 "Get-SpbmStoragePolicy Get-Stat Get-StatInterval Get-StatType Get-Tag Get-TagAssignment Get-TagCategory Get-Task Get-Template Get-TimeZone Get-Uptime Get-UsbDevice Get-VAIOFilter " + 20013 "Get-VApp Get-VDBlockedPolicy Get-VDPort Get-VDPortgroup Get-VDPortgroupOverridePolicy Get-VDSecurityPolicy Get-VDSwitch Get-VDSwitchPrivateVlan Get-VDTrafficShapingPolicy " + 20014 "Get-VDUplinkLacpPolicy Get-VDUplinkTeamingPolicy Get-VDisk Get-VIAccount Get-VICommand Get-VICredentialStoreItem Get-VIEvent Get-VIObjectByVIView Get-VIPermission Get-VIPrivilege " + 20015 "Get-VIProperty Get-VIRole Get-VM Get-VMGuest Get-VMHost Get-VMHostAccount Get-VMHostAdvancedConfiguration Get-VMHostAuthentication Get-VMHostAvailableTimeZone " + 20016 "Get-VMHostDiagnosticPartition Get-VMHostDisk Get-VMHostDiskPartition Get-VMHostFirewallDefaultPolicy Get-VMHostFirewallException Get-VMHostFirmware Get-VMHostHardware " + 20017 "Get-VMHostHba Get-VMHostModule Get-VMHostNetwork Get-VMHostNetworkAdapter Get-VMHostNtpServer Get-VMHostPatch Get-VMHostPciDevice Get-VMHostProfile " + 20018 "Get-VMHostProfileImageCacheConfiguration Get-VMHostProfileRequiredInput Get-VMHostProfileStorageDeviceConfiguration Get-VMHostProfileUserConfiguration " + 20019 "Get-VMHostProfileVmPortGroupConfiguration Get-VMHostRoute Get-VMHostService Get-VMHostSnmp Get-VMHostStartPolicy Get-VMHostStorage Get-VMHostSysLogServer Get-VMQuestion " + 20020 "Get-VMResourceConfiguration Get-VMStartPolicy Get-VTpm Get-VTpmCSR Get-VTpmCertificate Get-VasaProvider Get-VasaStorageArray Get-View Get-VirtualPortGroup Get-VirtualSwitch " + 20021 "Get-VmcSddcNetworkService Get-VmcService Get-VsanClusterConfiguration Get-VsanComponent Get-VsanDisk Get-VsanDiskGroup Get-VsanEvacuationPlan Get-VsanFaultDomain " + 20022 "Get-VsanIscsiInitiatorGroup Get-VsanIscsiInitiatorGroupTargetAssociation Get-VsanIscsiLun Get-VsanIscsiTarget Get-VsanObject Get-VsanResyncingComponent Get-VsanRuntimeInfo " + 20023 "Get-VsanSpaceUsage Get-VsanStat Get-VsanView Get-vRAApplianceServiceStatus Get-vRAAuthorizationRole Get-vRABlueprint Get-vRABusinessGroup Get-vRACatalogItem " + 20024 "Get-vRACatalogItemRequestTemplate Get-vRACatalogPrincipal Get-vRAComponentRegistryService Get-vRAComponentRegistryServiceEndpoint Get-vRAComponentRegistryServiceStatus " + 20025 "Get-vRAContent Get-vRAContentData Get-vRAContentType Get-vRACustomForm Get-vRAEntitledCatalogItem Get-vRAEntitledService Get-vRAEntitlement Get-vRAExternalNetworkProfile " + 20026 "Get-vRAGroupPrincipal Get-vRAIcon Get-vRANATNetworkProfile Get-vRANetworkProfileIPAddressList Get-vRANetworkProfileIPRangeSummary Get-vRAPackage Get-vRAPackageContent " + 20027 "Get-vRAPropertyDefinition Get-vRAPropertyGroup Get-vRARequest Get-vRARequestDetail Get-vRAReservation Get-vRAReservationComputeResource Get-vRAReservationComputeResourceMemory " + 20028 "Get-vRAReservationComputeResourceNetwork Get-vRAReservationComputeResourceResourcePool Get-vRAReservationComputeResourceStorage Get-vRAReservationPolicy " + 20029 "Get-vRAReservationTemplate Get-vRAReservationType Get-vRAResource Get-vRAResourceAction Get-vRAResourceActionRequestTemplate Get-vRAResourceMetric Get-vRAResourceOperation " + 20030 "Get-vRAResourceType Get-vRARoutedNetworkProfile Get-vRAService Get-vRAServiceBlueprint Get-vRASourceMachine Get-vRAStorageReservationPolicy Get-vRATenant Get-vRATenantDirectory " + 20031 "Get-vRATenantDirectoryStatus Get-vRATenantRole Get-vRAUserPrincipal Get-vRAUserPrincipalGroupMembership Get-vRAVersion Get-vRNIAPIVersion Get-vRNIApplication " + 20032 "Get-vRNIApplicationTier Get-vRNIDataSource Get-vRNIDataSourceSNMPConfig Get-vRNIDatastore Get-vRNIDistributedSwitch Get-vRNIDistributedSwitchPortGroup Get-vRNIEntity " + 20033 "Get-vRNIEntityName Get-vRNIFirewallRule Get-vRNIFlow Get-vRNIHost Get-vRNIHostVMKNic Get-vRNIIPSet Get-vRNIL2Network Get-vRNINSXManager Get-vRNINodes Get-vRNIProblem " + 20034 "Get-vRNIRecommendedRules Get-vRNIRecommendedRulesNsxBundle Get-vRNISecurityGroup Get-vRNISecurityTag Get-vRNIService Get-vRNIServiceGroup Get-vRNIVM Get-vRNIVMvNIC " + 20035 "Get-vRNIvCenter Get-vRNIvCenterCluster Get-vRNIvCenterDatacenter Get-vRNIvCenterFolder Grant-NsxSpoofguardNicApproval Import-CIVApp Import-CIVAppTemplate Import-NsxObject " + 20036 "Import-PackageProvider Import-PowerShellDataFile Import-SpbmStoragePolicy Import-VApp Import-VMHostProfile Import-vRAContentData Import-vRAIcon Import-vRAPackage " + 20037 "Initialize-ConfigurationRuntimeState Install-Module Install-NsxCluster Install-Package Install-PackageProvider Install-Script Install-VMHostPatch Invoke-DrsRecommendation " + 20038 "Invoke-NsxCli Invoke-NsxClusterResolveAll Invoke-NsxManagerSync Invoke-NsxRestMethod Invoke-NsxWebRequest Invoke-VMHostProfile Invoke-VMScript Invoke-XpathQuery " + 20039 "Invoke-vRADataCollection Invoke-vRARestMethod Invoke-vRATenantDirectorySync Invoke-vRNIRestMethod Join-String Mount-Tools Move-Cluster Move-Datacenter Move-Datastore Move-Folder " + 20040 "Move-HardDisk Move-Inventory Move-NsxSecurityPolicyRule Move-ResourcePool Move-Template Move-VApp Move-VDisk Move-VM Move-VMHost New-AdvancedSetting New-AlarmAction " + 20041 "New-AlarmActionTrigger New-CDDrive New-CIAccessControlRule New-CIVApp New-CIVAppNetwork New-CIVAppTemplate New-CIVM New-Cluster New-CustomAttribute New-Datacenter New-Datastore " + 20042 "New-DatastoreCluster New-DatastoreDrive New-DrsClusterGroup New-DrsRule New-DrsVMHostRule New-DscChecksum New-FloppyDrive New-Folder New-Guid New-HCXAppliance New-HCXMigration " + 20043 "New-HCXNetworkExtension New-HCXNetworkMapping New-HCXReplication New-HCXSitePairing New-HCXStaticRoute New-HardDisk New-IScsiHbaTarget New-KmipClientCertificate " + 20044 "New-NetworkAdapter New-NfsUser New-NsxAddressSpec New-NsxClusterVxlanConfig New-NsxController New-NsxDynamicCriteriaSpec New-NsxEdge New-NsxEdgeBgpNeighbour New-NsxEdgeCsr " + 20045 "New-NsxEdgeFirewallRule New-NsxEdgeInterfaceSpec New-NsxEdgeNatRule New-NsxEdgeOspfArea New-NsxEdgeOspfInterface New-NsxEdgePrefix New-NsxEdgeRedistributionRule " + 20046 "New-NsxEdgeSelfSignedCertificate New-NsxEdgeStaticRoute New-NsxEdgeSubInterface New-NsxEdgeSubInterfaceSpec New-NsxFirewallRule New-NsxFirewallSavedConfiguration " + 20047 "New-NsxFirewallSection New-NsxIpPool New-NsxIpSet New-NsxLoadBalancerApplicationProfile New-NsxLoadBalancerApplicationRule New-NsxLoadBalancerMemberSpec " + 20048 "New-NsxLoadBalancerMonitor New-NsxLoadBalancerPool New-NsxLogicalRouter New-NsxLogicalRouterBgpNeighbour New-NsxLogicalRouterBridge New-NsxLogicalRouterInterface " + 20049 "New-NsxLogicalRouterInterfaceSpec New-NsxLogicalRouterOspfArea New-NsxLogicalRouterOspfInterface New-NsxLogicalRouterPrefix New-NsxLogicalRouterRedistributionRule " + 20050 "New-NsxLogicalRouterStaticRoute New-NsxLogicalSwitch New-NsxMacSet New-NsxManager New-NsxSecurityGroup New-NsxSecurityPolicy New-NsxSecurityPolicyAssignment " + 20051 "New-NsxSecurityPolicyFirewallRuleSpec New-NsxSecurityPolicyGuestIntrospectionSpec New-NsxSecurityPolicyNetworkIntrospectionSpec New-NsxSecurityTag New-NsxSecurityTagAssignment " + 20052 "New-NsxSegmentIdRange New-NsxService New-NsxServiceGroup New-NsxSpoofguardPolicy New-NsxSslVpnAuthServer New-NsxSslVpnClientInstallationPackage New-NsxSslVpnIpPool " + 20053 "New-NsxSslVpnPrivateNetwork New-NsxSslVpnUser New-NsxTransportZone New-NsxVdsContext New-OSCustomizationNicMapping New-OSCustomizationSpec New-Org New-OrgNetwork New-OrgVdc " + 20054 "New-OrgVdcNetwork New-ResourcePool New-ScriptFileInfo New-ScsiController New-Snapshot New-SpbmRule New-SpbmRuleSet New-SpbmStoragePolicy New-StatInterval New-Tag " + 20055 "New-TagAssignment New-TagCategory New-Template New-TemporaryFile New-VAIOFilter New-VApp New-VDPortgroup New-VDSwitch New-VDSwitchPrivateVlan New-VDisk " + 20056 "New-VICredentialStoreItem New-VIInventoryDrive New-VIPermission New-VIProperty New-VIRole New-VISamlSecurityContext New-VM New-VMHostAccount New-VMHostNetworkAdapter " + 20057 "New-VMHostProfile New-VMHostProfileVmPortGroupConfiguration New-VMHostRoute New-VTpm New-VasaProvider New-VcsOAuthSecurityContext New-VirtualPortGroup New-VirtualSwitch " + 20058 "New-VsanDisk New-VsanDiskGroup New-VsanFaultDomain New-VsanIscsiInitiatorGroup New-VsanIscsiInitiatorGroupTargetAssociation New-VsanIscsiLun New-VsanIscsiTarget " + 20059 "New-vRABusinessGroup New-vRAEntitlement New-vRAExternalNetworkProfile New-vRAGroupPrincipal New-vRANATNetworkProfile New-vRANetworkProfileIPRangeDefinition New-vRAPackage " + 20060 "New-vRAPropertyDefinition New-vRAPropertyGroup New-vRAReservation New-vRAReservationNetworkDefinition New-vRAReservationPolicy New-vRAReservationStorageDefinition " + 20061 "New-vRARoutedNetworkProfile New-vRAService New-vRAStorageReservationPolicy New-vRATenant New-vRATenantDirectory New-vRAUserPrincipal New-vRNIApplication New-vRNIApplicationTier " + 20062 "New-vRNIDataSource Open-VMConsoleWindow Publish-Module Publish-NsxSpoofguardPolicy Publish-Script Register-PSRepository Register-PackageSource Remove-AdvancedSetting " + 20063 "Remove-AlarmAction Remove-AlarmActionTrigger Remove-Alias Remove-CDDrive Remove-CIAccessControlRule Remove-CIVApp Remove-CIVAppNetwork Remove-CIVAppTemplate Remove-Cluster " + 20064 "Remove-CustomAttribute Remove-Datacenter Remove-Datastore Remove-DatastoreCluster Remove-DrsClusterGroup Remove-DrsRule Remove-DrsVMHostRule Remove-FloppyDrive Remove-Folder " + 20065 "Remove-HCXAppliance Remove-HCXNetworkExtension Remove-HCXReplication Remove-HCXSitePairing Remove-HardDisk Remove-IScsiHbaTarget Remove-Inventory Remove-KeyManagementServer " + 20066 "Remove-NetworkAdapter Remove-NfsUser Remove-NsxCluster Remove-NsxClusterVxlanConfig Remove-NsxController Remove-NsxDynamicCriteria Remove-NsxDynamicMemberSet Remove-NsxEdge " + 20067 "Remove-NsxEdgeBgpNeighbour Remove-NsxEdgeCertificate Remove-NsxEdgeCsr Remove-NsxEdgeFirewallRule Remove-NsxEdgeInterfaceAddress Remove-NsxEdgeNatRule Remove-NsxEdgeOspfArea " + 20068 "Remove-NsxEdgeOspfInterface Remove-NsxEdgePrefix Remove-NsxEdgeRedistributionRule Remove-NsxEdgeStaticRoute Remove-NsxEdgeSubInterface Remove-NsxFirewallExclusionListMember " + 20069 "Remove-NsxFirewallRule Remove-NsxFirewallRuleMember Remove-NsxFirewallSavedConfiguration Remove-NsxFirewallSection Remove-NsxIpPool Remove-NsxIpSet Remove-NsxIpSetMember " + 20070 "Remove-NsxLoadBalancerApplicationProfile Remove-NsxLoadBalancerMonitor Remove-NsxLoadBalancerPool Remove-NsxLoadBalancerPoolMember Remove-NsxLoadBalancerVip " + 20071 "Remove-NsxLogicalRouter Remove-NsxLogicalRouterBgpNeighbour Remove-NsxLogicalRouterBridge Remove-NsxLogicalRouterInterface Remove-NsxLogicalRouterOspfArea " + 20072 "Remove-NsxLogicalRouterOspfInterface Remove-NsxLogicalRouterPrefix Remove-NsxLogicalRouterRedistributionRule Remove-NsxLogicalRouterStaticRoute Remove-NsxLogicalSwitch " + 20073 "Remove-NsxMacSet Remove-NsxSecondaryManager Remove-NsxSecurityGroup Remove-NsxSecurityGroupMember Remove-NsxSecurityPolicy Remove-NsxSecurityPolicyAssignment " + 20074 "Remove-NsxSecurityPolicyRule Remove-NsxSecurityPolicyRuleGroup Remove-NsxSecurityPolicyRuleService Remove-NsxSecurityTag Remove-NsxSecurityTagAssignment " + 20075 "Remove-NsxSegmentIdRange Remove-NsxService Remove-NsxServiceGroup Remove-NsxSpoofguardPolicy Remove-NsxSslVpnClientInstallationPackage Remove-NsxSslVpnIpPool " + 20076 "Remove-NsxSslVpnPrivateNetwork Remove-NsxSslVpnUser Remove-NsxTransportZone Remove-NsxTransportZoneMember Remove-NsxVdsContext Remove-OSCustomizationNicMapping " + 20077 "Remove-OSCustomizationSpec Remove-Org Remove-OrgNetwork Remove-OrgVdc Remove-OrgVdcNetwork Remove-PSReadLineKeyHandler Remove-PassthroughDevice Remove-ResourcePool " + 20078 "Remove-Snapshot Remove-SpbmStoragePolicy Remove-StatInterval Remove-Tag Remove-TagAssignment Remove-TagCategory Remove-Template Remove-UsbDevice Remove-VAIOFilter Remove-VApp " + 20079 "Remove-VDPortGroup Remove-VDSwitch Remove-VDSwitchPhysicalNetworkAdapter Remove-VDSwitchPrivateVlan Remove-VDSwitchVMHost Remove-VDisk Remove-VICredentialStoreItem " + 20080 "Remove-VIPermission Remove-VIProperty Remove-VIRole Remove-VM Remove-VMHost Remove-VMHostAccount Remove-VMHostNetworkAdapter Remove-VMHostNtpServer Remove-VMHostProfile " + 20081 "Remove-VMHostProfileVmPortGroupConfiguration Remove-VMHostRoute Remove-VTpm Remove-VasaProvider Remove-VirtualPortGroup Remove-VirtualSwitch " + 20082 "Remove-VirtualSwitchPhysicalNetworkAdapter Remove-VsanDisk Remove-VsanDiskGroup Remove-VsanFaultDomain Remove-VsanIscsiInitiatorGroup " + 20083 "Remove-VsanIscsiInitiatorGroupTargetAssociation Remove-VsanIscsiLun Remove-VsanIscsiTarget Remove-vRABusinessGroup Remove-vRACustomForm Remove-vRAExternalNetworkProfile " + 20084 "Remove-vRAGroupPrincipal Remove-vRAIcon Remove-vRANATNetworkProfile Remove-vRAPackage Remove-vRAPrincipalFromTenantRole Remove-vRAPropertyDefinition Remove-vRAPropertyGroup " + 20085 "Remove-vRAReservation Remove-vRAReservationNetwork Remove-vRAReservationPolicy Remove-vRAReservationStorage Remove-vRARoutedNetworkProfile Remove-vRAService " + 20086 "Remove-vRAStorageReservationPolicy Remove-vRATenant Remove-vRATenantDirectory Remove-vRAUserPrincipal Remove-vRNIApplication Remove-vRNIApplicationTier Remove-vRNIDataSource " + 20087 "Repair-NsxEdge Repair-VsanObject Request-vRACatalogItem Request-vRAResourceAction Restart-CIVApp Restart-CIVAppGuest Restart-CIVM Restart-CIVMGuest Restart-VM Restart-VMGuest " + 20088 "Restart-VMHost Restart-VMHostService Resume-HCXReplication Revoke-NsxSpoofguardNicApproval Save-Module Save-Package Save-Script Search-Cloud Set-AdvancedSetting " + 20089 "Set-AlarmDefinition Set-Annotation Set-CDDrive Set-CIAccessControlRule Set-CINetworkAdapter Set-CIVApp Set-CIVAppNetwork Set-CIVAppStartRule Set-CIVAppTemplate Set-Cluster " + 20090 "Set-CustomAttribute Set-Datacenter Set-Datastore Set-DatastoreCluster Set-DrsClusterGroup Set-DrsRule Set-DrsVMHostRule Set-FloppyDrive Set-Folder Set-HCXAppliance " + 20091 "Set-HCXMigration Set-HCXReplication Set-HardDisk Set-IScsiHbaTarget Set-KeyManagementServer Set-KmsCluster Set-MarkdownOption Set-NetworkAdapter Set-NfsUser Set-NicTeamingPolicy " + 20092 "Set-NodeExclusiveResources Set-NodeManager Set-NodeResourceSource Set-NodeResources Set-NsxEdge Set-NsxEdgeBgp Set-NsxEdgeFirewall Set-NsxEdgeInterface Set-NsxEdgeNat " + 20093 "Set-NsxEdgeOspf Set-NsxEdgeRouting Set-NsxFirewallGlobalConfiguration Set-NsxFirewallRule Set-NsxFirewallSavedConfiguration Set-NsxFirewallThreshold Set-NsxLoadBalancer " + 20094 "Set-NsxLoadBalancerPoolMember Set-NsxLogicalRouter Set-NsxLogicalRouterBgp Set-NsxLogicalRouterBridging Set-NsxLogicalRouterInterface Set-NsxLogicalRouterOspf " + 20095 "Set-NsxLogicalRouterRouting Set-NsxManager Set-NsxManagerRole Set-NsxManagerTimeSettings Set-NsxSecurityPolicy Set-NsxSecurityPolicyFirewallRule Set-NsxSslVpn " + 20096 "Set-OSCustomizationNicMapping Set-OSCustomizationSpec Set-Org Set-OrgNetwork Set-OrgVdc Set-OrgVdcNetwork Set-PSCurrentConfigurationNode Set-PSDefaultConfigurationDocument " + 20097 "Set-PSMetaConfigDocInsProcessedBeforeMeta Set-PSMetaConfigVersionInfoV2 Set-PSReadLineKeyHandler Set-PSReadLineOption Set-PSRepository Set-PSTopConfigurationName " + 20098 "Set-PackageSource Set-PowerCLIConfiguration Set-ResourcePool Set-ScsiController Set-ScsiLun Set-ScsiLunPath Set-SecurityPolicy Set-Snapshot Set-SpbmEntityConfiguration " + 20099 "Set-SpbmStoragePolicy Set-StatInterval Set-Tag Set-TagCategory Set-Template Set-VAIOFilter Set-VApp Set-VDBlockedPolicy Set-VDPort Set-VDPortgroup Set-VDPortgroupOverridePolicy " + 20100 "Set-VDSecurityPolicy Set-VDSwitch Set-VDTrafficShapingPolicy Set-VDUplinkLacpPolicy Set-VDUplinkTeamingPolicy Set-VDVlanConfiguration Set-VDisk Set-VIPermission Set-VIRole Set-VM " + 20101 "Set-VMHost Set-VMHostAccount Set-VMHostAdvancedConfiguration Set-VMHostAuthentication Set-VMHostDiagnosticPartition Set-VMHostFirewallDefaultPolicy Set-VMHostFirewallException " + 20102 "Set-VMHostFirmware Set-VMHostHba Set-VMHostModule Set-VMHostNetwork Set-VMHostNetworkAdapter Set-VMHostProfile Set-VMHostProfileImageCacheConfiguration " + 20103 "Set-VMHostProfileStorageDeviceConfiguration Set-VMHostProfileUserConfiguration Set-VMHostProfileVmPortGroupConfiguration Set-VMHostRoute Set-VMHostService Set-VMHostSnmp " + 20104 "Set-VMHostStartPolicy Set-VMHostStorage Set-VMHostSysLogServer Set-VMQuestion Set-VMResourceConfiguration Set-VMStartPolicy Set-VTpm Set-VirtualPortGroup Set-VirtualSwitch " + 20105 "Set-VsanClusterConfiguration Set-VsanFaultDomain Set-VsanIscsiInitiatorGroup Set-VsanIscsiLun Set-VsanIscsiTarget Set-vRABusinessGroup Set-vRACatalogItem Set-vRACustomForm " + 20106 "Set-vRAEntitlement Set-vRAExternalNetworkProfile Set-vRANATNetworkProfile Set-vRAReservation Set-vRAReservationNetwork Set-vRAReservationPolicy Set-vRAReservationStorage " + 20107 "Set-vRARoutedNetworkProfile Set-vRAService Set-vRAStorageReservationPolicy Set-vRATenant Set-vRATenantDirectory Set-vRAUserPrincipal Set-vRNIDataSourceSNMPConfig Show-Markdown " + 20108 "Start-CIVApp Start-CIVM Start-HCXMigration Start-HCXReplication Start-SpbmReplicationFailover Start-SpbmReplicationPrepareFailover Start-SpbmReplicationPromote " + 20109 "Start-SpbmReplicationReverse Start-SpbmReplicationTestFailover Start-ThreadJob Start-VApp Start-VM Start-VMHost Start-VMHostService Start-VsanClusterDiskUpdate " + 20110 "Start-VsanClusterRebalance Start-VsanEncryptionConfiguration Stop-CIVApp Stop-CIVAppGuest Stop-CIVM Stop-CIVMGuest Stop-SpbmReplicationTestFailover Stop-Task Stop-VApp Stop-VM " + 20111 "Stop-VMGuest Stop-VMHost Stop-VMHostService Stop-VsanClusterRebalance Suspend-CIVApp Suspend-CIVM Suspend-HCXReplication Suspend-VM Suspend-VMGuest Suspend-VMHost " + 20112 "Sync-SpbmReplicationGroup Test-ConflictingResources Test-HCXMigration Test-HCXReplication Test-Json Test-ModuleReloadRequired Test-MofInstanceText Test-NodeManager " + 20113 "Test-NodeResourceSource Test-NodeResources Test-ScriptFileInfo Test-VMHostProfileCompliance Test-VMHostSnmp Test-VsanClusterHealth Test-VsanNetworkPerformance " + 20114 "Test-VsanStoragePerformance Test-VsanVMCreation Test-vRAPackage Uninstall-Module Uninstall-Package Uninstall-Script Unlock-VM Unregister-PSRepository Unregister-PackageSource " + 20115 "Update-ConfigurationDocumentRef Update-ConfigurationErrorCount Update-DependsOn Update-LocalConfigManager Update-Module Update-ModuleManifest Update-ModuleVersion Update-PowerNsx " + 20116 "Update-Script Update-ScriptFileInfo Update-Tools Update-VsanHclDatabase ValidateUpdate-ConfigurationData Wait-Debugger Wait-NsxControllerJob Wait-NsxGenericJob Wait-NsxJob " + 20117 "Wait-Task Wait-Tools Write-Information Write-Log Write-MetaConfigFile Write-NodeMOFFile", 20118 nomarkup: 20119 "-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace", 20120 }, 20121 contains: [ 20122 BACKTICK_ESCAPE, 20123 hljs.NUMBER_MODE, 20124 QUOTE_STRING, 20125 APOS_STRING, 20126 LITERAL, 20127 VAR, 20128 PS_COMMENT, 20129 ], 20130 }; 20131 } 20132 },{name:"processing",create:/* 20133 Language: Processing 20134 Author: Erik Paluka <erik.paluka@gmail.com> 20135 Category: graphics 20136 */ 20137 20138 function(hljs) { 20139 return { 20140 keywords: { 20141 keyword: 'BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color ' + 20142 'double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject ' + 20143 'Object StringDict StringList Table TableRow XML ' + 20144 // Java keywords 20145 'false synchronized int abstract float private char boolean static null if const ' + 20146 'for true while long throw strictfp finally protected import native final return void ' + 20147 'enum else break transient new catch instanceof byte super volatile case assert short ' + 20148 'package default double public try this switch continue throws protected public private', 20149 literal: 'P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI', 20150 title: 'setup draw', 20151 built_in: 'displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key ' + 20152 'keyCode pixels focused frameCount frameRate height width ' + 20153 'size createGraphics beginDraw createShape loadShape PShape arc ellipse line point ' + 20154 'quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint ' + 20155 'curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex ' + 20156 'endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap ' + 20157 'strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased ' + 20158 'mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour ' + 20159 'millis minute month second year background clear colorMode fill noFill noStroke stroke alpha ' + 20160 'blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY ' + 20161 'screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ' + 20162 'ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle ' + 20163 'pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf ' + 20164 'nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset ' + 20165 'box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings ' + 20166 'loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput ' + 20167 'createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings ' + 20168 'saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale ' + 20169 'shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal ' + 20170 'pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap ' + 20171 'blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont ' + 20172 'loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil ' + 20173 'constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees ' + 20174 'radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed' 20175 }, 20176 contains: [ 20177 hljs.C_LINE_COMMENT_MODE, 20178 hljs.C_BLOCK_COMMENT_MODE, 20179 hljs.APOS_STRING_MODE, 20180 hljs.QUOTE_STRING_MODE, 20181 hljs.C_NUMBER_MODE 20182 ] 20183 }; 20184 } 20185 },{name:"profile",create:/* 20186 Language: Python profile 20187 Description: Python profiler results 20188 Author: Brian Beck <exogen@gmail.com> 20189 */ 20190 20191 function(hljs) { 20192 return { 20193 contains: [ 20194 hljs.C_NUMBER_MODE, 20195 { 20196 begin: '[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}', end: ':', 20197 excludeEnd: true 20198 }, 20199 { 20200 begin: '(ncalls|tottime|cumtime)', end: '$', 20201 keywords: 'ncalls tottime|10 cumtime|10 filename', 20202 relevance: 10 20203 }, 20204 { 20205 begin: 'function calls', end: '$', 20206 contains: [hljs.C_NUMBER_MODE], 20207 relevance: 10 20208 }, 20209 hljs.APOS_STRING_MODE, 20210 hljs.QUOTE_STRING_MODE, 20211 { 20212 className: 'string', 20213 begin: '\\(', end: '\\)$', 20214 excludeBegin: true, excludeEnd: true, 20215 relevance: 0 20216 } 20217 ] 20218 }; 20219 } 20220 },{name:"prolog",create:/* 20221 Language: Prolog 20222 Description: Prolog is a general purpose logic programming language associated with artificial intelligence and computational linguistics. 20223 Author: Raivo Laanemets <raivo@infdot.com> 20224 */ 20225 20226 function(hljs) { 20227 20228 var ATOM = { 20229 20230 begin: /[a-z][A-Za-z0-9_]*/, 20231 relevance: 0 20232 }; 20233 20234 var VAR = { 20235 20236 className: 'symbol', 20237 variants: [ 20238 {begin: /[A-Z][a-zA-Z0-9_]*/}, 20239 {begin: /_[A-Za-z0-9_]*/}, 20240 ], 20241 relevance: 0 20242 }; 20243 20244 var PARENTED = { 20245 20246 begin: /\(/, 20247 end: /\)/, 20248 relevance: 0 20249 }; 20250 20251 var LIST = { 20252 20253 begin: /\[/, 20254 end: /\]/ 20255 }; 20256 20257 var LINE_COMMENT = { 20258 20259 className: 'comment', 20260 begin: /%/, end: /$/, 20261 contains: [hljs.PHRASAL_WORDS_MODE] 20262 }; 20263 20264 var BACKTICK_STRING = { 20265 20266 className: 'string', 20267 begin: /`/, end: /`/, 20268 contains: [hljs.BACKSLASH_ESCAPE] 20269 }; 20270 20271 var CHAR_CODE = { 20272 20273 className: 'string', // 0'a etc. 20274 begin: /0\'(\\\'|.)/ 20275 }; 20276 20277 var SPACE_CODE = { 20278 20279 className: 'string', 20280 begin: /0\'\\s/ // 0'\s 20281 }; 20282 20283 var PRED_OP = { // relevance booster 20284 begin: /:-/ 20285 }; 20286 20287 var inner = [ 20288 20289 ATOM, 20290 VAR, 20291 PARENTED, 20292 PRED_OP, 20293 LIST, 20294 LINE_COMMENT, 20295 hljs.C_BLOCK_COMMENT_MODE, 20296 hljs.QUOTE_STRING_MODE, 20297 hljs.APOS_STRING_MODE, 20298 BACKTICK_STRING, 20299 CHAR_CODE, 20300 SPACE_CODE, 20301 hljs.C_NUMBER_MODE 20302 ]; 20303 20304 PARENTED.contains = inner; 20305 LIST.contains = inner; 20306 20307 return { 20308 contains: inner.concat([ 20309 {begin: /\.$/} // relevance booster 20310 ]) 20311 }; 20312 } 20313 },{name:"properties",create:/* 20314 Language: Properties 20315 Contributors: Valentin Aitken <valentin@nalisbg.com>, Egor Rogov <e.rogov@postgrespro.ru> 20316 Category: common, config 20317 */ 20318 20319 function(hljs) { 20320 20321 // whitespaces: space, tab, formfeed 20322 var WS0 = '[ \\t\\f]*'; 20323 var WS1 = '[ \\t\\f]+'; 20324 // delimiter 20325 var DELIM = '(' + WS0+'[:=]'+WS0+ '|' + WS1 + ')'; 20326 var KEY_ALPHANUM = '([^\\\\\\W:= \\t\\f\\n]|\\\\.)+'; 20327 var KEY_OTHER = '([^\\\\:= \\t\\f\\n]|\\\\.)+'; 20328 20329 var DELIM_AND_VALUE = { 20330 // skip DELIM 20331 end: DELIM, 20332 relevance: 0, 20333 starts: { 20334 // value: everything until end of line (again, taking into account backslashes) 20335 className: 'string', 20336 end: /$/, 20337 relevance: 0, 20338 contains: [ 20339 { begin: '\\\\\\n' } 20340 ] 20341 } 20342 }; 20343 20344 return { 20345 case_insensitive: true, 20346 illegal: /\S/, 20347 contains: [ 20348 hljs.COMMENT('^\\s*[!#]', '$'), 20349 // key: everything until whitespace or = or : (taking into account backslashes) 20350 // case of a "normal" key 20351 { 20352 begin: KEY_ALPHANUM + DELIM, 20353 returnBegin: true, 20354 contains: [ 20355 { 20356 className: 'attr', 20357 begin: KEY_ALPHANUM, 20358 endsParent: true, 20359 relevance: 0 20360 } 20361 ], 20362 starts: DELIM_AND_VALUE 20363 }, 20364 // case of key containing non-alphanumeric chars => relevance = 0 20365 { 20366 begin: KEY_OTHER + DELIM, 20367 returnBegin: true, 20368 relevance: 0, 20369 contains: [ 20370 { 20371 className: 'meta', 20372 begin: KEY_OTHER, 20373 endsParent: true, 20374 relevance: 0 20375 } 20376 ], 20377 starts: DELIM_AND_VALUE 20378 }, 20379 // case of an empty key 20380 { 20381 className: 'attr', 20382 relevance: 0, 20383 begin: KEY_OTHER + WS0 + '$' 20384 } 20385 ] 20386 }; 20387 } 20388 },{name:"protobuf",create:/* 20389 Language: Protocol Buffers 20390 Author: Dan Tao <daniel.tao@gmail.com> 20391 Description: Protocol buffer message definition format 20392 Category: protocols 20393 */ 20394 20395 function(hljs) { 20396 return { 20397 keywords: { 20398 keyword: 'package import option optional required repeated group oneof', 20399 built_in: 'double float int32 int64 uint32 uint64 sint32 sint64 ' + 20400 'fixed32 fixed64 sfixed32 sfixed64 bool string bytes', 20401 literal: 'true false' 20402 }, 20403 contains: [ 20404 hljs.QUOTE_STRING_MODE, 20405 hljs.NUMBER_MODE, 20406 hljs.C_LINE_COMMENT_MODE, 20407 { 20408 className: 'class', 20409 beginKeywords: 'message enum service', end: /\{/, 20410 illegal: /\n/, 20411 contains: [ 20412 hljs.inherit(hljs.TITLE_MODE, { 20413 starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 20414 }) 20415 ] 20416 }, 20417 { 20418 className: 'function', 20419 beginKeywords: 'rpc', 20420 end: /;/, excludeEnd: true, 20421 keywords: 'rpc returns' 20422 }, 20423 { 20424 begin: /^\s*[A-Z_]+/, 20425 end: /\s*=/, excludeEnd: true 20426 } 20427 ] 20428 }; 20429 } 20430 },{name:"puppet",create:/* 20431 Language: Puppet 20432 Author: Jose Molina Colmenero <gaudy41@gmail.com> 20433 Category: config 20434 */ 20435 20436 function(hljs) { 20437 20438 var PUPPET_KEYWORDS = { 20439 keyword: 20440 /* language keywords */ 20441 'and case default else elsif false if in import enherits node or true undef unless main settings $string ', 20442 literal: 20443 /* metaparameters */ 20444 'alias audit before loglevel noop require subscribe tag ' + 20445 /* normal attributes */ 20446 'owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check ' + 20447 'en_address ip_address realname command environment hour monute month monthday special target weekday '+ 20448 'creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore ' + 20449 'links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source ' + 20450 'souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid '+ 20451 'ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel ' + 20452 'native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options ' + 20453 'device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use ' + 20454 'message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform ' + 20455 'responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running ' + 20456 'start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age ' + 20457 'password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled ' + 20458 'enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist ' + 20459 'priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey ' + 20460 'sslverify mounted', 20461 built_in: 20462 /* core facts */ 20463 'architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers ' + 20464 'domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces '+ 20465 'ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion ' + 20466 'kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease ' + 20467 'lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major ' + 20468 'macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease '+ 20469 'operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion '+ 20470 'rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced '+ 20471 'selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime '+ 20472 'uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version' 20473 }; 20474 20475 var COMMENT = hljs.COMMENT('#', '$'); 20476 20477 var IDENT_RE = '([A-Za-z_]|::)(\\w|::)*'; 20478 20479 var TITLE = hljs.inherit(hljs.TITLE_MODE, {begin: IDENT_RE}); 20480 20481 var VARIABLE = {className: 'variable', begin: '\\$' + IDENT_RE}; 20482 20483 var STRING = { 20484 className: 'string', 20485 contains: [hljs.BACKSLASH_ESCAPE, VARIABLE], 20486 variants: [ 20487 {begin: /'/, end: /'/}, 20488 {begin: /"/, end: /"/} 20489 ] 20490 }; 20491 20492 return { 20493 aliases: ['pp'], 20494 contains: [ 20495 COMMENT, 20496 VARIABLE, 20497 STRING, 20498 { 20499 beginKeywords: 'class', end: '\\{|;', 20500 illegal: /=/, 20501 contains: [TITLE, COMMENT] 20502 }, 20503 { 20504 beginKeywords: 'define', end: /\{/, 20505 contains: [ 20506 { 20507 className: 'section', begin: hljs.IDENT_RE, endsParent: true 20508 } 20509 ] 20510 }, 20511 { 20512 begin: hljs.IDENT_RE + '\\s+\\{', returnBegin: true, 20513 end: /\S/, 20514 contains: [ 20515 { 20516 className: 'keyword', 20517 begin: hljs.IDENT_RE 20518 }, 20519 { 20520 begin: /\{/, end: /\}/, 20521 keywords: PUPPET_KEYWORDS, 20522 relevance: 0, 20523 contains: [ 20524 STRING, 20525 COMMENT, 20526 { 20527 begin:'[a-zA-Z_]+\\s*=>', 20528 returnBegin: true, end: '=>', 20529 contains: [ 20530 { 20531 className: 'attr', 20532 begin: hljs.IDENT_RE, 20533 } 20534 ] 20535 }, 20536 { 20537 className: 'number', 20538 begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', 20539 relevance: 0 20540 }, 20541 VARIABLE 20542 ] 20543 } 20544 ], 20545 relevance: 0 20546 } 20547 ] 20548 } 20549 } 20550 },{name:"purebasic",create:/* 20551 Language: PureBASIC 20552 Author: Tristano Ajmone <tajmone@gmail.com> 20553 Description: Syntax highlighting for PureBASIC (v.5.00-5.60). No inline ASM highlighting. (v.1.2, May 2017) 20554 Credits: I've taken inspiration from the PureBasic language file for GeSHi, created by Gustavo Julio Fiorenza (GuShH). 20555 */ 20556 20557 // Base deafult colors in PB IDE: background: #FFFFDF; foreground: #000000; 20558 20559 function(hljs) { 20560 var STRINGS = { // PB IDE color: #0080FF (Azure Radiance) 20561 className: 'string', 20562 begin: '(~)?"', end: '"', 20563 illegal: '\\n' 20564 }; 20565 var CONSTANTS = { // PB IDE color: #924B72 (Cannon Pink) 20566 // "#" + a letter or underscore + letters, digits or underscores + (optional) "$" 20567 className: 'symbol', 20568 begin: '#[a-zA-Z_]\\w*\\$?' 20569 }; 20570 20571 return { 20572 aliases: ['pb', 'pbi'], 20573 keywords: // PB IDE color: #006666 (Blue Stone) + Bold 20574 // Keywords from all version of PureBASIC 5.00 upward ... 20575 'Align And Array As Break CallDebugger Case CompilerCase CompilerDefault ' + 20576 'CompilerElse CompilerElseIf CompilerEndIf CompilerEndSelect CompilerError ' + 20577 'CompilerIf CompilerSelect CompilerWarning Continue Data DataSection Debug ' + 20578 'DebugLevel Declare DeclareC DeclareCDLL DeclareDLL DeclareModule Default ' + 20579 'Define Dim DisableASM DisableDebugger DisableExplicit Else ElseIf EnableASM ' + 20580 'EnableDebugger EnableExplicit End EndDataSection EndDeclareModule EndEnumeration ' + 20581 'EndIf EndImport EndInterface EndMacro EndModule EndProcedure EndSelect ' + 20582 'EndStructure EndStructureUnion EndWith Enumeration EnumerationBinary Extends ' + 20583 'FakeReturn For ForEach ForEver Global Gosub Goto If Import ImportC ' + 20584 'IncludeBinary IncludeFile IncludePath Interface List Macro MacroExpandedCount ' + 20585 'Map Module NewList NewMap Next Not Or Procedure ProcedureC ' + 20586 'ProcedureCDLL ProcedureDLL ProcedureReturn Protected Prototype PrototypeC ReDim ' + 20587 'Read Repeat Restore Return Runtime Select Shared Static Step Structure ' + 20588 'StructureUnion Swap Threaded To UndefineMacro Until Until UnuseModule ' + 20589 'UseModule Wend While With XIncludeFile XOr', 20590 contains: [ 20591 // COMMENTS | PB IDE color: #00AAAA (Persian Green) 20592 hljs.COMMENT(';', '$', {relevance: 0}), 20593 20594 { // PROCEDURES DEFINITIONS 20595 className: 'function', 20596 begin: '\\b(Procedure|Declare)(C|CDLL|DLL)?\\b', 20597 end: '\\(', 20598 excludeEnd: true, 20599 returnBegin: true, 20600 contains: [ 20601 { // PROCEDURE KEYWORDS | PB IDE color: #006666 (Blue Stone) + Bold 20602 className: 'keyword', 20603 begin: '(Procedure|Declare)(C|CDLL|DLL)?', 20604 excludeEnd: true 20605 }, 20606 { // PROCEDURE RETURN TYPE SETTING | PB IDE color: #000000 (Black) 20607 className: 'type', 20608 begin: '\\.\\w*' 20609 // end: ' ', 20610 }, 20611 hljs.UNDERSCORE_TITLE_MODE // PROCEDURE NAME | PB IDE color: #006666 (Blue Stone) 20612 ] 20613 }, 20614 STRINGS, 20615 CONSTANTS 20616 ] 20617 }; 20618 } 20619 20620 /* ============================================================================== 20621 CHANGELOG 20622 ============================================================================== 20623 - v.1.2 (2017-05-12) 20624 -- BUG-FIX: Some keywords were accidentally joyned together. Now fixed. 20625 - v.1.1 (2017-04-30) 20626 -- Updated to PureBASIC 5.60. 20627 -- Keywords list now built by extracting them from the PureBASIC SDK's 20628 "SyntaxHilighting.dll" (from each PureBASIC version). Tokens from each 20629 version are added to the list, and renamed or removed tokens are kept 20630 for the sake of covering all versions of the language from PureBASIC 20631 v5.00 upward. (NOTE: currently, there are no renamed or deprecated 20632 tokens in the keywords list). For more info, see: 20633 -- http://www.purebasic.fr/english/viewtopic.php?&p=506269 20634 -- https://github.com/tajmone/purebasic-archives/tree/master/syntax-highlighting/guidelines 20635 - v.1.0 (April 2016) 20636 -- First release 20637 -- Keywords list taken and adapted from GuShH's (Gustavo Julio Fiorenza) 20638 PureBasic language file for GeSHi: 20639 -- https://github.com/easybook/geshi/blob/master/geshi/purebasic.php 20640 */},{name:"python",create:/* 20641 Language: Python 20642 Category: common 20643 */ 20644 20645 function(hljs) { 20646 var KEYWORDS = { 20647 keyword: 20648 'and elif is global as in if from raise for except finally print import pass return ' + 20649 'exec else break not with class assert yield try while continue del or def lambda ' + 20650 'async await nonlocal|10', 20651 built_in: 20652 'Ellipsis NotImplemented', 20653 literal: 'False None True' 20654 }; 20655 var PROMPT = { 20656 className: 'meta', begin: /^(>>>|\.\.\.) / 20657 }; 20658 var SUBST = { 20659 className: 'subst', 20660 begin: /\{/, end: /\}/, 20661 keywords: KEYWORDS, 20662 illegal: /#/ 20663 }; 20664 var STRING = { 20665 className: 'string', 20666 contains: [hljs.BACKSLASH_ESCAPE], 20667 variants: [ 20668 { 20669 begin: /(u|b)?r?'''/, end: /'''/, 20670 contains: [hljs.BACKSLASH_ESCAPE, PROMPT], 20671 relevance: 10 20672 }, 20673 { 20674 begin: /(u|b)?r?"""/, end: /"""/, 20675 contains: [hljs.BACKSLASH_ESCAPE, PROMPT], 20676 relevance: 10 20677 }, 20678 { 20679 begin: /(fr|rf|f)'''/, end: /'''/, 20680 contains: [hljs.BACKSLASH_ESCAPE, PROMPT, SUBST] 20681 }, 20682 { 20683 begin: /(fr|rf|f)"""/, end: /"""/, 20684 contains: [hljs.BACKSLASH_ESCAPE, PROMPT, SUBST] 20685 }, 20686 { 20687 begin: /(u|r|ur)'/, end: /'/, 20688 relevance: 10 20689 }, 20690 { 20691 begin: /(u|r|ur)"/, end: /"/, 20692 relevance: 10 20693 }, 20694 { 20695 begin: /(b|br)'/, end: /'/ 20696 }, 20697 { 20698 begin: /(b|br)"/, end: /"/ 20699 }, 20700 { 20701 begin: /(fr|rf|f)'/, end: /'/, 20702 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 20703 }, 20704 { 20705 begin: /(fr|rf|f)"/, end: /"/, 20706 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 20707 }, 20708 hljs.APOS_STRING_MODE, 20709 hljs.QUOTE_STRING_MODE 20710 ] 20711 }; 20712 var NUMBER = { 20713 className: 'number', relevance: 0, 20714 variants: [ 20715 {begin: hljs.BINARY_NUMBER_RE + '[lLjJ]?'}, 20716 {begin: '\\b(0o[0-7]+)[lLjJ]?'}, 20717 {begin: hljs.C_NUMBER_RE + '[lLjJ]?'} 20718 ] 20719 }; 20720 var PARAMS = { 20721 className: 'params', 20722 begin: /\(/, end: /\)/, 20723 contains: ['self', PROMPT, NUMBER, STRING] 20724 }; 20725 SUBST.contains = [STRING, NUMBER, PROMPT]; 20726 return { 20727 aliases: ['py', 'gyp', 'ipython'], 20728 keywords: KEYWORDS, 20729 illegal: /(<\/|->|\?)|=>/, 20730 contains: [ 20731 PROMPT, 20732 NUMBER, 20733 STRING, 20734 hljs.HASH_COMMENT_MODE, 20735 { 20736 variants: [ 20737 {className: 'function', beginKeywords: 'def'}, 20738 {className: 'class', beginKeywords: 'class'} 20739 ], 20740 end: /:/, 20741 illegal: /[${=;\n,]/, 20742 contains: [ 20743 hljs.UNDERSCORE_TITLE_MODE, 20744 PARAMS, 20745 { 20746 begin: /->/, endsWithParent: true, 20747 keywords: 'None' 20748 } 20749 ] 20750 }, 20751 { 20752 className: 'meta', 20753 begin: /^[\t ]*@/, end: /$/ 20754 }, 20755 { 20756 begin: /\b(print|exec)\(/ // don’t highlight keywords-turned-functions in Python 3 20757 } 20758 ] 20759 }; 20760 } 20761 },{name:"q",create:/* 20762 Language: Q 20763 Author: Sergey Vidyuk <svidyuk@gmail.com> 20764 Description: K/Q/Kdb+ from Kx Systems 20765 */ 20766 function(hljs) { 20767 var Q_KEYWORDS = { 20768 keyword: 20769 'do while select delete by update from', 20770 literal: 20771 '0b 1b', 20772 built_in: 20773 'neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum', 20774 type: 20775 '`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid' 20776 }; 20777 return { 20778 aliases:['k', 'kdb'], 20779 keywords: Q_KEYWORDS, 20780 lexemes: /(`?)[A-Za-z0-9_]+\b/, 20781 contains: [ 20782 hljs.C_LINE_COMMENT_MODE, 20783 hljs.QUOTE_STRING_MODE, 20784 hljs.C_NUMBER_MODE 20785 ] 20786 }; 20787 } 20788 },{name:"qml",create:/* 20789 Language: QML 20790 Requires: javascript.js, xml.js 20791 Author: John Foster <jfoster@esri.com> 20792 Description: Syntax highlighting for the Qt Quick QML scripting language, based mostly off 20793 the JavaScript parser. 20794 Category: scripting 20795 */ 20796 20797 function(hljs) { 20798 var KEYWORDS = { 20799 keyword: 20800 'in of on if for while finally var new function do return void else break catch ' + 20801 'instanceof with throw case default try this switch continue typeof delete ' + 20802 'let yield const export super debugger as async await import', 20803 literal: 20804 'true false null undefined NaN Infinity', 20805 built_in: 20806 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' + 20807 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' + 20808 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' + 20809 'TypeError URIError Number Math Date String RegExp Array Float32Array ' + 20810 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' + 20811 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' + 20812 'module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect ' + 20813 'Behavior bool color coordinate date double enumeration font geocircle georectangle ' + 20814 'geoshape int list matrix4x4 parent point quaternion real rect ' + 20815 'size string url variant vector2d vector3d vector4d' + 20816 'Promise' 20817 }; 20818 20819 var QML_IDENT_RE = '[a-zA-Z_][a-zA-Z0-9\\._]*'; 20820 20821 // Isolate property statements. Ends at a :, =, ;, ,, a comment or end of line. 20822 // Use property class. 20823 var PROPERTY = { 20824 className: 'keyword', 20825 begin: '\\bproperty\\b', 20826 starts: { 20827 className: 'string', 20828 end: '(:|=|;|,|//|/\\*|$)', 20829 returnEnd: true 20830 } 20831 }; 20832 20833 // Isolate signal statements. Ends at a ) a comment or end of line. 20834 // Use property class. 20835 var SIGNAL = { 20836 className: 'keyword', 20837 begin: '\\bsignal\\b', 20838 starts: { 20839 className: 'string', 20840 end: '(\\(|:|=|;|,|//|/\\*|$)', 20841 returnEnd: true 20842 } 20843 }; 20844 20845 // id: is special in QML. When we see id: we want to mark the id: as attribute and 20846 // emphasize the token following. 20847 var ID_ID = { 20848 className: 'attribute', 20849 begin: '\\bid\\s*:', 20850 starts: { 20851 className: 'string', 20852 end: QML_IDENT_RE, 20853 returnEnd: false 20854 } 20855 }; 20856 20857 // Find QML object attribute. An attribute is a QML identifier followed by :. 20858 // Unfortunately it's hard to know where it ends, as it may contain scalars, 20859 // objects, object definitions, or javascript. The true end is either when the parent 20860 // ends or the next attribute is detected. 20861 var QML_ATTRIBUTE = { 20862 begin: QML_IDENT_RE + '\\s*:', 20863 returnBegin: true, 20864 contains: [ 20865 { 20866 className: 'attribute', 20867 begin: QML_IDENT_RE, 20868 end: '\\s*:', 20869 excludeEnd: true, 20870 relevance: 0 20871 } 20872 ], 20873 relevance: 0 20874 }; 20875 20876 // Find QML object. A QML object is a QML identifier followed by { and ends at the matching }. 20877 // All we really care about is finding IDENT followed by { and just mark up the IDENT and ignore the {. 20878 var QML_OBJECT = { 20879 begin: QML_IDENT_RE + '\\s*{', end: '{', 20880 returnBegin: true, 20881 relevance: 0, 20882 contains: [ 20883 hljs.inherit(hljs.TITLE_MODE, {begin: QML_IDENT_RE}) 20884 ] 20885 }; 20886 20887 return { 20888 aliases: ['qt'], 20889 case_insensitive: false, 20890 keywords: KEYWORDS, 20891 contains: [ 20892 { 20893 className: 'meta', 20894 begin: /^\s*['"]use (strict|asm)['"]/ 20895 }, 20896 hljs.APOS_STRING_MODE, 20897 hljs.QUOTE_STRING_MODE, 20898 { // template string 20899 className: 'string', 20900 begin: '`', end: '`', 20901 contains: [ 20902 hljs.BACKSLASH_ESCAPE, 20903 { 20904 className: 'subst', 20905 begin: '\\$\\{', end: '\\}' 20906 } 20907 ] 20908 }, 20909 hljs.C_LINE_COMMENT_MODE, 20910 hljs.C_BLOCK_COMMENT_MODE, 20911 { 20912 className: 'number', 20913 variants: [ 20914 { begin: '\\b(0[bB][01]+)' }, 20915 { begin: '\\b(0[oO][0-7]+)' }, 20916 { begin: hljs.C_NUMBER_RE } 20917 ], 20918 relevance: 0 20919 }, 20920 { // "value" container 20921 begin: '(' + hljs.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*', 20922 keywords: 'return throw case', 20923 contains: [ 20924 hljs.C_LINE_COMMENT_MODE, 20925 hljs.C_BLOCK_COMMENT_MODE, 20926 hljs.REGEXP_MODE, 20927 { // E4X / JSX 20928 begin: /</, end: />\s*[);\]]/, 20929 relevance: 0, 20930 subLanguage: 'xml' 20931 } 20932 ], 20933 relevance: 0 20934 }, 20935 SIGNAL, 20936 PROPERTY, 20937 { 20938 className: 'function', 20939 beginKeywords: 'function', end: /\{/, excludeEnd: true, 20940 contains: [ 20941 hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][0-9A-Za-z$_]*/}), 20942 { 20943 className: 'params', 20944 begin: /\(/, end: /\)/, 20945 excludeBegin: true, 20946 excludeEnd: true, 20947 contains: [ 20948 hljs.C_LINE_COMMENT_MODE, 20949 hljs.C_BLOCK_COMMENT_MODE 20950 ] 20951 } 20952 ], 20953 illegal: /\[|%/ 20954 }, 20955 { 20956 begin: '\\.' + hljs.IDENT_RE, relevance: 0 // hack: prevents detection of keywords after dots 20957 }, 20958 ID_ID, 20959 QML_ATTRIBUTE, 20960 QML_OBJECT 20961 ], 20962 illegal: /#/ 20963 }; 20964 } 20965 },{name:"r",create:/* 20966 Language: R 20967 Author: Joe Cheng <joe@rstudio.org> 20968 Category: scientific 20969 */ 20970 20971 function(hljs) { 20972 var IDENT_RE = '([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*'; 20973 20974 return { 20975 contains: [ 20976 hljs.HASH_COMMENT_MODE, 20977 { 20978 begin: IDENT_RE, 20979 lexemes: IDENT_RE, 20980 keywords: { 20981 keyword: 20982 'function if in break next repeat else for return switch while try tryCatch ' + 20983 'stop warning require library attach detach source setMethod setGeneric ' + 20984 'setGroupGeneric setClass ...', 20985 literal: 20986 'NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 ' + 20987 'NA_complex_|10' 20988 }, 20989 relevance: 0 20990 }, 20991 { 20992 // hex value 20993 className: 'number', 20994 begin: "0[xX][0-9a-fA-F]+[Li]?\\b", 20995 relevance: 0 20996 }, 20997 { 20998 // explicit integer 20999 className: 'number', 21000 begin: "\\d+(?:[eE][+\\-]?\\d*)?L\\b", 21001 relevance: 0 21002 }, 21003 { 21004 // number with trailing decimal 21005 className: 'number', 21006 begin: "\\d+\\.(?!\\d)(?:i\\b)?", 21007 relevance: 0 21008 }, 21009 { 21010 // number 21011 className: 'number', 21012 begin: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b", 21013 relevance: 0 21014 }, 21015 { 21016 // number with leading decimal 21017 className: 'number', 21018 begin: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b", 21019 relevance: 0 21020 }, 21021 21022 { 21023 // escaped identifier 21024 begin: '`', 21025 end: '`', 21026 relevance: 0 21027 }, 21028 21029 { 21030 className: 'string', 21031 contains: [hljs.BACKSLASH_ESCAPE], 21032 variants: [ 21033 {begin: '"', end: '"'}, 21034 {begin: "'", end: "'"} 21035 ] 21036 } 21037 ] 21038 }; 21039 } 21040 },{name:"reasonml",create:/* 21041 Language: ReasonML 21042 Author: Gidi Meir Morris <oss@gidi.io> 21043 Category: functional 21044 */ 21045 function(hljs) { 21046 function orReValues(ops){ 21047 return ops 21048 .map(function(op) { 21049 return op 21050 .split('') 21051 .map(function(char) { 21052 return '\\' + char; 21053 }) 21054 .join(''); 21055 }) 21056 .join('|'); 21057 } 21058 21059 var RE_IDENT = '~?[a-z$_][0-9a-zA-Z$_]*'; 21060 var RE_MODULE_IDENT = '`?[A-Z$_][0-9a-zA-Z$_]*'; 21061 21062 var RE_PARAM_TYPEPARAM = '\'?[a-z$_][0-9a-z$_]*'; 21063 var RE_PARAM_TYPE = '\s*:\s*[a-z$_][0-9a-z$_]*(\(\s*(' + RE_PARAM_TYPEPARAM + '\s*(,' + RE_PARAM_TYPEPARAM + ')*)?\s*\))?'; 21064 var RE_PARAM = RE_IDENT + '(' + RE_PARAM_TYPE + ')?(' + RE_PARAM_TYPE + ')?'; 21065 var RE_OPERATOR = "(" + orReValues(['||', '&&', '++', '**', '+.', '*', '/', '*.', '/.', '...', '|>']) + "|==|===)"; 21066 var RE_OPERATOR_SPACED = "\\s+" + RE_OPERATOR + "\\s+"; 21067 21068 var KEYWORDS = { 21069 keyword: 21070 'and as asr assert begin class constraint do done downto else end exception external' + 21071 'for fun function functor if in include inherit initializer' + 21072 'land lazy let lor lsl lsr lxor match method mod module mutable new nonrec' + 21073 'object of open or private rec sig struct then to try type val virtual when while with', 21074 built_in: 21075 'array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ', 21076 literal: 21077 'true false' 21078 }; 21079 21080 var RE_NUMBER = '\\b(0[xX][a-fA-F0-9_]+[Lln]?|' + 21081 '0[oO][0-7_]+[Lln]?|' + 21082 '0[bB][01_]+[Lln]?|' + 21083 '[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)'; 21084 21085 var NUMBER_MODE = { 21086 className: 'number', 21087 relevance: 0, 21088 variants: [ 21089 { 21090 begin: RE_NUMBER 21091 }, 21092 { 21093 begin: '\\(\\-' + RE_NUMBER + '\\)' 21094 } 21095 ] 21096 }; 21097 21098 var OPERATOR_MODE = { 21099 className: 'operator', 21100 relevance: 0, 21101 begin: RE_OPERATOR 21102 }; 21103 var LIST_CONTENTS_MODES = [ 21104 { 21105 className: 'identifier', 21106 relevance: 0, 21107 begin: RE_IDENT 21108 }, 21109 OPERATOR_MODE, 21110 NUMBER_MODE 21111 ]; 21112 21113 var MODULE_ACCESS_CONTENTS = [ 21114 hljs.QUOTE_STRING_MODE, 21115 OPERATOR_MODE, 21116 { 21117 className: 'module', 21118 begin: "\\b" + RE_MODULE_IDENT, returnBegin: true, 21119 end: "\.", 21120 contains: [ 21121 { 21122 className: 'identifier', 21123 begin: RE_MODULE_IDENT, 21124 relevance: 0 21125 } 21126 ] 21127 } 21128 ]; 21129 21130 var PARAMS_CONTENTS = [ 21131 { 21132 className: 'module', 21133 begin: "\\b" + RE_MODULE_IDENT, returnBegin: true, 21134 end: "\.", 21135 relevance: 0, 21136 contains: [ 21137 { 21138 className: 'identifier', 21139 begin: RE_MODULE_IDENT, 21140 relevance: 0 21141 } 21142 ] 21143 } 21144 ]; 21145 21146 var PARAMS_MODE = { 21147 begin: RE_IDENT, 21148 end: '(,|\\n|\\))', 21149 relevance: 0, 21150 contains: [ 21151 OPERATOR_MODE, 21152 { 21153 className: 'typing', 21154 begin: ':', 21155 end: '(,|\\n)', 21156 returnBegin: true, 21157 relevance: 0, 21158 contains: PARAMS_CONTENTS 21159 } 21160 ] 21161 }; 21162 21163 var FUNCTION_BLOCK_MODE = { 21164 className: 'function', 21165 relevance: 0, 21166 keywords: KEYWORDS, 21167 variants: [ 21168 { 21169 begin: '\\s(\\(\\.?.*?\\)|' + RE_IDENT + ')\\s*=>', 21170 end: '\\s*=>', 21171 returnBegin: true, 21172 relevance: 0, 21173 contains: [ 21174 { 21175 className: 'params', 21176 variants: [ 21177 { 21178 begin: RE_IDENT 21179 }, 21180 { 21181 begin: RE_PARAM 21182 }, 21183 { 21184 begin: /\(\s*\)/, 21185 } 21186 ] 21187 } 21188 ] 21189 }, 21190 { 21191 begin: '\\s\\(\\.?[^;\\|]*\\)\\s*=>', 21192 end: '\\s=>', 21193 returnBegin: true, 21194 relevance: 0, 21195 contains: [ 21196 { 21197 className: 'params', 21198 relevance: 0, 21199 variants: [ 21200 PARAMS_MODE 21201 ] 21202 } 21203 ] 21204 }, 21205 { 21206 begin: '\\(\\.\\s' + RE_IDENT + '\\)\\s*=>' 21207 } 21208 ] 21209 }; 21210 MODULE_ACCESS_CONTENTS.push(FUNCTION_BLOCK_MODE); 21211 21212 var CONSTRUCTOR_MODE = { 21213 className: 'constructor', 21214 begin: RE_MODULE_IDENT + '\\(', 21215 end: '\\)', 21216 illegal: '\\n', 21217 keywords: KEYWORDS, 21218 contains: [ 21219 hljs.QUOTE_STRING_MODE, 21220 OPERATOR_MODE, 21221 { 21222 className: 'params', 21223 begin: '\\b' + RE_IDENT 21224 } 21225 ] 21226 }; 21227 21228 var PATTERN_MATCH_BLOCK_MODE = { 21229 className: 'pattern-match', 21230 begin: '\\|', 21231 returnBegin: true, 21232 keywords: KEYWORDS, 21233 end: '=>', 21234 relevance: 0, 21235 contains: [ 21236 CONSTRUCTOR_MODE, 21237 OPERATOR_MODE, 21238 { 21239 relevance: 0, 21240 className: 'constructor', 21241 begin: RE_MODULE_IDENT 21242 } 21243 ] 21244 }; 21245 21246 var MODULE_ACCESS_MODE = { 21247 className: 'module-access', 21248 keywords: KEYWORDS, 21249 returnBegin: true, 21250 variants: [ 21251 { 21252 begin: "\\b(" + RE_MODULE_IDENT + "\\.)+" + RE_IDENT 21253 }, 21254 { 21255 begin: "\\b(" + RE_MODULE_IDENT + "\\.)+\\(", 21256 end: "\\)", 21257 returnBegin: true, 21258 contains: [ 21259 FUNCTION_BLOCK_MODE, 21260 { 21261 begin: '\\(', 21262 end: '\\)', 21263 skip: true 21264 } 21265 ].concat(MODULE_ACCESS_CONTENTS) 21266 }, 21267 { 21268 begin: "\\b(" + RE_MODULE_IDENT + "\\.)+{", 21269 end: "}" 21270 } 21271 ], 21272 contains: MODULE_ACCESS_CONTENTS 21273 }; 21274 21275 PARAMS_CONTENTS.push(MODULE_ACCESS_MODE); 21276 21277 return { 21278 aliases: ['re'], 21279 keywords: KEYWORDS, 21280 illegal: '(:\\-|:=|\\${|\\+=)', 21281 contains: [ 21282 hljs.COMMENT('/\\*', '\\*/', { illegal: '^(\\#,\\/\\/)' }), 21283 { 21284 className: 'character', 21285 begin: '\'(\\\\[^\']+|[^\'])\'', 21286 illegal: '\\n', 21287 relevance: 0 21288 }, 21289 hljs.QUOTE_STRING_MODE, 21290 { 21291 className: 'literal', 21292 begin: '\\(\\)', 21293 relevance: 0 21294 }, 21295 { 21296 className: 'literal', 21297 begin: '\\[\\|', 21298 end: '\\|\\]', 21299 relevance: 0, 21300 contains: LIST_CONTENTS_MODES 21301 }, 21302 { 21303 className: 'literal', 21304 begin: '\\[', 21305 end: '\\]', 21306 relevance: 0, 21307 contains: LIST_CONTENTS_MODES 21308 }, 21309 CONSTRUCTOR_MODE, 21310 { 21311 className: 'operator', 21312 begin: RE_OPERATOR_SPACED, 21313 illegal: '\\-\\->', 21314 relevance: 0 21315 }, 21316 NUMBER_MODE, 21317 hljs.C_LINE_COMMENT_MODE, 21318 PATTERN_MATCH_BLOCK_MODE, 21319 FUNCTION_BLOCK_MODE, 21320 { 21321 className: 'module-def', 21322 begin: "\\bmodule\\s+" + RE_IDENT + "\\s+" + RE_MODULE_IDENT + "\\s+=\\s+{", 21323 end: "}", 21324 returnBegin: true, 21325 keywords: KEYWORDS, 21326 relevance: 0, 21327 contains: [ 21328 { 21329 className: 'module', 21330 relevance: 0, 21331 begin: RE_MODULE_IDENT 21332 }, 21333 { 21334 begin: '{', 21335 end: '}', 21336 skip: true 21337 } 21338 ].concat(MODULE_ACCESS_CONTENTS) 21339 }, 21340 MODULE_ACCESS_MODE 21341 ] 21342 }; 21343 } 21344 },{name:"rib",create:/* 21345 Language: RenderMan RIB 21346 Author: Konstantin Evdokimenko <qewerty@gmail.com> 21347 Contributors: Shuen-Huei Guan <drake.guan@gmail.com> 21348 Category: graphics 21349 */ 21350 21351 function(hljs) { 21352 return { 21353 keywords: 21354 'ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis ' + 21355 'Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone ' + 21356 'CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail ' + 21357 'DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format ' + 21358 'FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry ' + 21359 'Hider Hyperboloid Identity Illuminate Imager Interior LightSource ' + 21360 'MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte ' + 21361 'MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option ' + 21362 'Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples ' + 21363 'PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection ' + 21364 'Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ' + 21365 'ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere ' + 21366 'SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd ' + 21367 'TransformPoints Translate TrimCurve WorldBegin WorldEnd', 21368 illegal: '</', 21369 contains: [ 21370 hljs.HASH_COMMENT_MODE, 21371 hljs.C_NUMBER_MODE, 21372 hljs.APOS_STRING_MODE, 21373 hljs.QUOTE_STRING_MODE 21374 ] 21375 }; 21376 } 21377 },{name:"roboconf",create:/* 21378 Language: Roboconf 21379 Author: Vincent Zurczak <vzurczak@linagora.com> 21380 Website: http://roboconf.net 21381 Description: Syntax highlighting for Roboconf's DSL 21382 Category: config 21383 */ 21384 21385 function(hljs) { 21386 var IDENTIFIER = '[a-zA-Z-_][^\\n{]+\\{'; 21387 21388 var PROPERTY = { 21389 className: 'attribute', 21390 begin: /[a-zA-Z-_]+/, end: /\s*:/, excludeEnd: true, 21391 starts: { 21392 end: ';', 21393 relevance: 0, 21394 contains: [ 21395 { 21396 className: 'variable', 21397 begin: /\.[a-zA-Z-_]+/ 21398 }, 21399 { 21400 className: 'keyword', 21401 begin: /\(optional\)/ 21402 } 21403 ] 21404 } 21405 }; 21406 21407 return { 21408 aliases: ['graph', 'instances'], 21409 case_insensitive: true, 21410 keywords: 'import', 21411 contains: [ 21412 // Facet sections 21413 { 21414 begin: '^facet ' + IDENTIFIER, 21415 end: '}', 21416 keywords: 'facet', 21417 contains: [ 21418 PROPERTY, 21419 hljs.HASH_COMMENT_MODE 21420 ] 21421 }, 21422 21423 // Instance sections 21424 { 21425 begin: '^\\s*instance of ' + IDENTIFIER, 21426 end: '}', 21427 keywords: 'name count channels instance-data instance-state instance of', 21428 illegal: /\S/, 21429 contains: [ 21430 'self', 21431 PROPERTY, 21432 hljs.HASH_COMMENT_MODE 21433 ] 21434 }, 21435 21436 // Component sections 21437 { 21438 begin: '^' + IDENTIFIER, 21439 end: '}', 21440 contains: [ 21441 PROPERTY, 21442 hljs.HASH_COMMENT_MODE 21443 ] 21444 }, 21445 21446 // Comments 21447 hljs.HASH_COMMENT_MODE 21448 ] 21449 }; 21450 } 21451 },{name:"routeros",create:/* 21452 Language: Microtik RouterOS script 21453 Author: Ivan Dementev <ivan_div@mail.ru> 21454 Description: Scripting host provides a way to automate some router maintenance tasks by means of executing user-defined scripts bounded to some event occurrence 21455 URL: https://wiki.mikrotik.com/wiki/Manual:Scripting 21456 */ 21457 21458 // Colors from RouterOS terminal: 21459 // green - #0E9A00 21460 // teal - #0C9A9A 21461 // purple - #99069A 21462 // light-brown - #9A9900 21463 21464 function(hljs) { 21465 21466 var STATEMENTS = 'foreach do while for if from to step else on-error and or not in'; 21467 21468 // Global commands: Every global command should start with ":" token, otherwise it will be treated as variable. 21469 var GLOBAL_COMMANDS = 'global local beep delay put len typeof pick log time set find environment terminal error execute parse resolve toarray tobool toid toip toip6 tonum tostr totime'; 21470 21471 // Common commands: Following commands available from most sub-menus: 21472 var COMMON_COMMANDS = 'add remove enable disable set get print export edit find run debug error info warning'; 21473 21474 var LITERALS = 'true false yes no nothing nil null'; 21475 21476 var OBJECTS = 'traffic-flow traffic-generator firewall scheduler aaa accounting address-list address align area bandwidth-server bfd bgp bridge client clock community config connection console customer default dhcp-client dhcp-server discovery dns e-mail ethernet filter firewall firmware gps graphing group hardware health hotspot identity igmp-proxy incoming instance interface ip ipsec ipv6 irq l2tp-server lcd ldp logging mac-server mac-winbox mangle manual mirror mme mpls nat nd neighbor network note ntp ospf ospf-v3 ovpn-server page peer pim ping policy pool port ppp pppoe-client pptp-server prefix profile proposal proxy queue radius resource rip ripng route routing screen script security-profiles server service service-port settings shares smb sms sniffer snmp snooper socks sstp-server system tool tracking type upgrade upnp user-manager users user vlan secret vrrp watchdog web-access wireless pptp pppoe lan wan layer7-protocol lease simple raw'; 21477 21478 // print parameters 21479 // Several parameters are available for print command: 21480 // ToDo: var PARAMETERS_PRINT = 'append as-value brief detail count-only file follow follow-only from interval terse value-list without-paging where info'; 21481 // ToDo: var OPERATORS = '&& and ! not || or in ~ ^ & << >> + - * /'; 21482 // ToDo: var TYPES = 'num number bool boolean str string ip ip6-prefix id time array'; 21483 // ToDo: The following tokens serve as delimiters in the grammar: () [] {} : ; $ / 21484 21485 var VAR_PREFIX = 'global local set for foreach'; 21486 21487 var VAR = { 21488 className: 'variable', 21489 variants: [ 21490 {begin: /\$[\w\d#@][\w\d_]*/}, 21491 {begin: /\$\{(.*?)}/} 21492 ] 21493 }; 21494 21495 var QUOTE_STRING = { 21496 className: 'string', 21497 begin: /"/, end: /"/, 21498 contains: [ 21499 hljs.BACKSLASH_ESCAPE, 21500 VAR, 21501 { 21502 className: 'variable', 21503 begin: /\$\(/, end: /\)/, 21504 contains: [hljs.BACKSLASH_ESCAPE] 21505 } 21506 ] 21507 }; 21508 21509 var APOS_STRING = { 21510 className: 'string', 21511 begin: /'/, end: /'/ 21512 }; 21513 21514 var IPADDR = '((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\b'; 21515 var IPADDR_wBITMASK = IPADDR+'/(3[0-2]|[1-2][0-9]|\\d)'; 21516 ////////////////////////////////////////////////////////////////////// 21517 return { 21518 aliases: ['routeros', 'mikrotik'], 21519 case_insensitive: true, 21520 lexemes: /:?[\w-]+/, 21521 keywords: { 21522 literal: LITERALS, 21523 keyword: STATEMENTS + ' :' + STATEMENTS.split(' ').join(' :') + ' :' + GLOBAL_COMMANDS.split(' ').join(' :'), 21524 }, 21525 contains: [ 21526 { // недопустимые конструкции 21527 variants: [ 21528 { begin: /^@/, end: /$/, }, // dns 21529 { begin: /\/\*/, end: /\*\//, }, // -- comment 21530 { begin: /%%/, end: /$/, }, // -- comment 21531 { begin: /^'/, end: /$/, }, // Monkey one line comment 21532 { begin: /^\s*\/[\w-]+=/, end: /$/, }, // jboss-cli 21533 { begin: /\/\//, end: /$/, }, // Stan comment 21534 { begin: /^\[\</, end: /\>\]$/, }, // F# class declaration? 21535 { begin: /<\//, end: />/, }, // HTML tags 21536 { begin: /^facet /, end: /\}/, }, // roboconf - лютый костыль ))) 21537 { begin: '^1\\.\\.(\\d+)$', end: /$/, }, // tap 21538 ], 21539 illegal: /./, 21540 }, 21541 hljs.COMMENT('^#', '$'), 21542 QUOTE_STRING, 21543 APOS_STRING, 21544 VAR, 21545 { // attribute=value 21546 begin: /[\w-]+\=([^\s\{\}\[\]\(\)]+)/, 21547 relevance: 0, 21548 returnBegin: true, 21549 contains: [ 21550 { 21551 className: 'attribute', 21552 begin: /[^=]+/ 21553 }, 21554 { 21555 begin: /=/, 21556 endsWithParent: true, 21557 relevance: 0, 21558 contains: [ 21559 QUOTE_STRING, 21560 APOS_STRING, 21561 VAR, 21562 { 21563 className: 'literal', 21564 begin: '\\b(' + LITERALS.split(' ').join('|') + ')\\b', 21565 }, 21566 /*{ 21567 // IPv4 addresses and subnets 21568 className: 'number', 21569 variants: [ 21570 {begin: IPADDR_wBITMASK+'(,'+IPADDR_wBITMASK+')*'}, //192.168.0.0/24,1.2.3.0/24 21571 {begin: IPADDR+'-'+IPADDR}, // 192.168.0.1-192.168.0.3 21572 {begin: IPADDR+'(,'+IPADDR+')*'}, // 192.168.0.1,192.168.0.34,192.168.24.1,192.168.0.1 21573 ] 21574 }, // */ 21575 /*{ 21576 // MAC addresses and DHCP Client IDs 21577 className: 'number', 21578 begin: /\b(1:)?([0-9A-Fa-f]{1,2}[:-]){5}([0-9A-Fa-f]){1,2}\b/, 21579 }, //*/ 21580 { 21581 // Не форматировать не классифицированные значения. Необходимо для исключения подсветки значений как built_in. 21582 // className: 'number', 21583 begin: /("[^"]*"|[^\s\{\}\[\]]+)/, 21584 }, //*/ 21585 ] 21586 } //*/ 21587 ] 21588 },//*/ 21589 { 21590 // HEX values 21591 className: 'number', 21592 begin: /\*[0-9a-fA-F]+/, 21593 }, //*/ 21594 21595 { 21596 begin: '\\b(' + COMMON_COMMANDS.split(' ').join('|') + ')([\\s\[\(]|\])', 21597 returnBegin: true, 21598 contains: [ 21599 { 21600 className: 'builtin-name', //'function', 21601 begin: /\w+/, 21602 }, 21603 ], 21604 }, 21605 21606 { 21607 className: 'built_in', 21608 variants: [ 21609 {begin: '(\\.\\./|/|\\s)((' + OBJECTS.split(' ').join('|') + ');?\\s)+',relevance: 10,}, 21610 {begin: /\.\./,}, 21611 ], 21612 },//*/ 21613 ] 21614 }; 21615 } 21616 21617 21618 21619 21620 },{name:"rsl",create:/* 21621 Language: RenderMan RSL 21622 Author: Konstantin Evdokimenko <qewerty@gmail.com> 21623 Contributors: Shuen-Huei Guan <drake.guan@gmail.com> 21624 Category: graphics 21625 */ 21626 21627 function(hljs) { 21628 return { 21629 keywords: { 21630 keyword: 21631 'float color point normal vector matrix while for if do return else break extern continue', 21632 built_in: 21633 'abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise ' + 21634 'clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp ' + 21635 'faceforward filterstep floor format fresnel incident length lightsource log match ' + 21636 'max min mod noise normalize ntransform opposite option phong pnoise pow printf ' + 21637 'ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp ' + 21638 'setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan ' + 21639 'texture textureinfo trace transform vtransform xcomp ycomp zcomp' 21640 }, 21641 illegal: '</', 21642 contains: [ 21643 hljs.C_LINE_COMMENT_MODE, 21644 hljs.C_BLOCK_COMMENT_MODE, 21645 hljs.QUOTE_STRING_MODE, 21646 hljs.APOS_STRING_MODE, 21647 hljs.C_NUMBER_MODE, 21648 { 21649 className: 'meta', 21650 begin: '#', end: '$' 21651 }, 21652 { 21653 className: 'class', 21654 beginKeywords: 'surface displacement light volume imager', end: '\\(' 21655 }, 21656 { 21657 beginKeywords: 'illuminate illuminance gather', end: '\\(' 21658 } 21659 ] 21660 }; 21661 } 21662 },{name:"ruby",create:/* 21663 Language: Ruby 21664 Author: Anton Kovalyov <anton@kovalyov.net> 21665 Contributors: Peter Leonov <gojpeg@yandex.ru>, Vasily Polovnyov <vast@whiteants.net>, Loren Segal <lsegal@soen.ca>, Pascal Hurni <phi@ruby-reactive.org>, Cedric Sohrauer <sohrauer@googlemail.com> 21666 Category: common 21667 */ 21668 21669 function(hljs) { 21670 var RUBY_METHOD_RE = '[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?'; 21671 var RUBY_KEYWORDS = { 21672 keyword: 21673 'and then defined module in return redo if BEGIN retry end for self when ' + 21674 'next until do begin unless END rescue else break undef not super class case ' + 21675 'require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor', 21676 literal: 21677 'true false nil' 21678 }; 21679 var YARDOCTAG = { 21680 className: 'doctag', 21681 begin: '@[A-Za-z]+' 21682 }; 21683 var IRB_OBJECT = { 21684 begin: '#<', end: '>' 21685 }; 21686 var COMMENT_MODES = [ 21687 hljs.COMMENT( 21688 '#', 21689 '$', 21690 { 21691 contains: [YARDOCTAG] 21692 } 21693 ), 21694 hljs.COMMENT( 21695 '^\\=begin', 21696 '^\\=end', 21697 { 21698 contains: [YARDOCTAG], 21699 relevance: 10 21700 } 21701 ), 21702 hljs.COMMENT('^__END__', '\\n$') 21703 ]; 21704 var SUBST = { 21705 className: 'subst', 21706 begin: '#\\{', end: '}', 21707 keywords: RUBY_KEYWORDS 21708 }; 21709 var STRING = { 21710 className: 'string', 21711 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 21712 variants: [ 21713 {begin: /'/, end: /'/}, 21714 {begin: /"/, end: /"/}, 21715 {begin: /`/, end: /`/}, 21716 {begin: '%[qQwWx]?\\(', end: '\\)'}, 21717 {begin: '%[qQwWx]?\\[', end: '\\]'}, 21718 {begin: '%[qQwWx]?{', end: '}'}, 21719 {begin: '%[qQwWx]?<', end: '>'}, 21720 {begin: '%[qQwWx]?/', end: '/'}, 21721 {begin: '%[qQwWx]?%', end: '%'}, 21722 {begin: '%[qQwWx]?-', end: '-'}, 21723 {begin: '%[qQwWx]?\\|', end: '\\|'}, 21724 { 21725 // \B in the beginning suppresses recognition of ?-sequences where ? 21726 // is the last character of a preceding identifier, as in: `func?4` 21727 begin: /\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/ 21728 }, 21729 { // heredocs 21730 begin: /<<[-~]?'?(\w+)(?:.|\n)*?\n\s*\1\b/, 21731 returnBegin: true, 21732 contains: [ 21733 { begin: /<<[-~]?'?/ }, 21734 { begin: /\w+/, 21735 endSameAsBegin: true, 21736 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 21737 } 21738 ] 21739 } 21740 ] 21741 }; 21742 var PARAMS = { 21743 className: 'params', 21744 begin: '\\(', end: '\\)', endsParent: true, 21745 keywords: RUBY_KEYWORDS 21746 }; 21747 21748 var RUBY_DEFAULT_CONTAINS = [ 21749 STRING, 21750 IRB_OBJECT, 21751 { 21752 className: 'class', 21753 beginKeywords: 'class module', end: '$|;', 21754 illegal: /=/, 21755 contains: [ 21756 hljs.inherit(hljs.TITLE_MODE, {begin: '[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?'}), 21757 { 21758 begin: '<\\s*', 21759 contains: [{ 21760 begin: '(' + hljs.IDENT_RE + '::)?' + hljs.IDENT_RE 21761 }] 21762 } 21763 ].concat(COMMENT_MODES) 21764 }, 21765 { 21766 className: 'function', 21767 beginKeywords: 'def', end: '$|;', 21768 contains: [ 21769 hljs.inherit(hljs.TITLE_MODE, {begin: RUBY_METHOD_RE}), 21770 PARAMS 21771 ].concat(COMMENT_MODES) 21772 }, 21773 { 21774 // swallow namespace qualifiers before symbols 21775 begin: hljs.IDENT_RE + '::' 21776 }, 21777 { 21778 className: 'symbol', 21779 begin: hljs.UNDERSCORE_IDENT_RE + '(\\!|\\?)?:', 21780 relevance: 0 21781 }, 21782 { 21783 className: 'symbol', 21784 begin: ':(?!\\s)', 21785 contains: [STRING, {begin: RUBY_METHOD_RE}], 21786 relevance: 0 21787 }, 21788 { 21789 className: 'number', 21790 begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', 21791 relevance: 0 21792 }, 21793 { 21794 begin: '(\\$\\W)|((\\$|\\@\\@?)(\\w+))' // variables 21795 }, 21796 { 21797 className: 'params', 21798 begin: /\|/, end: /\|/, 21799 keywords: RUBY_KEYWORDS 21800 }, 21801 { // regexp container 21802 begin: '(' + hljs.RE_STARTERS_RE + '|unless)\\s*', 21803 keywords: 'unless', 21804 contains: [ 21805 IRB_OBJECT, 21806 { 21807 className: 'regexp', 21808 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 21809 illegal: /\n/, 21810 variants: [ 21811 {begin: '/', end: '/[a-z]*'}, 21812 {begin: '%r{', end: '}[a-z]*'}, 21813 {begin: '%r\\(', end: '\\)[a-z]*'}, 21814 {begin: '%r!', end: '![a-z]*'}, 21815 {begin: '%r\\[', end: '\\][a-z]*'} 21816 ] 21817 } 21818 ].concat(COMMENT_MODES), 21819 relevance: 0 21820 } 21821 ].concat(COMMENT_MODES); 21822 21823 SUBST.contains = RUBY_DEFAULT_CONTAINS; 21824 PARAMS.contains = RUBY_DEFAULT_CONTAINS; 21825 21826 var SIMPLE_PROMPT = "[>?]>"; 21827 var DEFAULT_PROMPT = "[\\w#]+\\(\\w+\\):\\d+:\\d+>"; 21828 var RVM_PROMPT = "(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>"; 21829 21830 var IRB_DEFAULT = [ 21831 { 21832 begin: /^\s*=>/, 21833 starts: { 21834 end: '$', contains: RUBY_DEFAULT_CONTAINS 21835 } 21836 }, 21837 { 21838 className: 'meta', 21839 begin: '^('+SIMPLE_PROMPT+"|"+DEFAULT_PROMPT+'|'+RVM_PROMPT+')', 21840 starts: { 21841 end: '$', contains: RUBY_DEFAULT_CONTAINS 21842 } 21843 } 21844 ]; 21845 21846 return { 21847 aliases: ['rb', 'gemspec', 'podspec', 'thor', 'irb'], 21848 keywords: RUBY_KEYWORDS, 21849 illegal: /\/\*/, 21850 contains: COMMENT_MODES.concat(IRB_DEFAULT).concat(RUBY_DEFAULT_CONTAINS) 21851 }; 21852 } 21853 },{name:"ruleslanguage",create:/* 21854 Language: Oracle Rules Language 21855 Author: Jason Jacobson <jason.a.jacobson@gmail.com> 21856 Description: The Oracle Utilities Rules Language is used to program the Oracle Utilities Applications acquired from LODESTAR Corporation. The products include Billing Component, LPSS, Pricing Component etc. through version 1.6.1. 21857 Category: enterprise 21858 */ 21859 21860 function(hljs) { 21861 return { 21862 keywords: { 21863 keyword: 'BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE ' + 21864 'INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 ' + 21865 'INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 ' + 21866 'INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 ' + 21867 'INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 ' + 21868 'INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 ' + 21869 'INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 ' + 21870 'INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 ' + 21871 'INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 ' + 21872 'INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 ' + 21873 'INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 ' + 21874 'INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 ' + 21875 'INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 ' + 21876 'INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 ' + 21877 'INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 ' + 21878 'MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER ' + 21879 'OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE ' + 21880 'NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH ' + 21881 'IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND ' + 21882 'UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ' + 21883 'ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE ' + 21884 'GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE ' + 21885 'SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING ' + 21886 'DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF ' + 21887 'MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY ' + 21888 'YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE ' + 21889 'COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR ' + 21890 'READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ' + 21891 'ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE ' + 21892 'EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE ' + 21893 'SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL ' + 21894 'COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN ' + 21895 'MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING ' + 21896 'FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM ' + 21897 'NUMDAYS READ_DATE STAGING', 21898 built_in: 'IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML ' + 21899 'DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT ' + 21900 'DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE ' + 21901 'DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT ' + 21902 'DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME' 21903 }, 21904 contains: [ 21905 hljs.C_LINE_COMMENT_MODE, 21906 hljs.C_BLOCK_COMMENT_MODE, 21907 hljs.APOS_STRING_MODE, 21908 hljs.QUOTE_STRING_MODE, 21909 hljs.C_NUMBER_MODE, 21910 { 21911 className: 'literal', 21912 variants: [ 21913 {begin: '#\\s+[a-zA-Z\\ \\.]*', relevance: 0}, // looks like #-comment 21914 {begin: '#[a-zA-Z\\ \\.]+'} 21915 ] 21916 } 21917 ] 21918 }; 21919 } 21920 },{name:"rust",create:/* 21921 Language: Rust 21922 Author: Andrey Vlasovskikh <andrey.vlasovskikh@gmail.com> 21923 Contributors: Roman Shmatov <romanshmatov@gmail.com>, Kasper Andersen <kma_untrusted@protonmail.com> 21924 Category: system 21925 */ 21926 21927 function(hljs) { 21928 var NUM_SUFFIX = '([ui](8|16|32|64|128|size)|f(32|64))\?'; 21929 var KEYWORDS = 21930 'abstract as async await become box break const continue crate do dyn ' + 21931 'else enum extern false final fn for if impl in let loop macro match mod ' + 21932 'move mut override priv pub ref return self Self static struct super ' + 21933 'trait true try type typeof unsafe unsized use virtual where while yield'; 21934 var BUILTINS = 21935 // functions 21936 'drop ' + 21937 // types 21938 'i8 i16 i32 i64 i128 isize ' + 21939 'u8 u16 u32 u64 u128 usize ' + 21940 'f32 f64 ' + 21941 'str char bool ' + 21942 'Box Option Result String Vec ' + 21943 // traits 21944 'Copy Send Sized Sync Drop Fn FnMut FnOnce ToOwned Clone Debug ' + 21945 'PartialEq PartialOrd Eq Ord AsRef AsMut Into From Default Iterator ' + 21946 'Extend IntoIterator DoubleEndedIterator ExactSizeIterator ' + 21947 'SliceConcatExt ToString ' + 21948 // macros 21949 'assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! ' + 21950 'debug_assert! debug_assert_eq! env! panic! file! format! format_args! ' + 21951 'include_bin! include_str! line! local_data_key! module_path! ' + 21952 'option_env! print! println! select! stringify! try! unimplemented! ' + 21953 'unreachable! vec! write! writeln! macro_rules! assert_ne! debug_assert_ne!'; 21954 return { 21955 aliases: ['rs'], 21956 keywords: { 21957 keyword: 21958 KEYWORDS, 21959 literal: 21960 'true false Some None Ok Err', 21961 built_in: 21962 BUILTINS 21963 }, 21964 lexemes: hljs.IDENT_RE + '!?', 21965 illegal: '</', 21966 contains: [ 21967 hljs.C_LINE_COMMENT_MODE, 21968 hljs.COMMENT('/\\*', '\\*/', {contains: ['self']}), 21969 hljs.inherit(hljs.QUOTE_STRING_MODE, {begin: /b?"/, illegal: null}), 21970 { 21971 className: 'string', 21972 variants: [ 21973 { begin: /r(#*)"(.|\n)*?"\1(?!#)/ }, 21974 { begin: /b?'\\?(x\w{2}|u\w{4}|U\w{8}|.)'/ } 21975 ] 21976 }, 21977 { 21978 className: 'symbol', 21979 begin: /'[a-zA-Z_][a-zA-Z0-9_]*/ 21980 }, 21981 { 21982 className: 'number', 21983 variants: [ 21984 { begin: '\\b0b([01_]+)' + NUM_SUFFIX }, 21985 { begin: '\\b0o([0-7_]+)' + NUM_SUFFIX }, 21986 { begin: '\\b0x([A-Fa-f0-9_]+)' + NUM_SUFFIX }, 21987 { begin: '\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)' + 21988 NUM_SUFFIX 21989 } 21990 ], 21991 relevance: 0 21992 }, 21993 { 21994 className: 'function', 21995 beginKeywords: 'fn', end: '(\\(|<)', excludeEnd: true, 21996 contains: [hljs.UNDERSCORE_TITLE_MODE] 21997 }, 21998 { 21999 className: 'meta', 22000 begin: '#\\!?\\[', end: '\\]', 22001 contains: [ 22002 { 22003 className: 'meta-string', 22004 begin: /"/, end: /"/ 22005 } 22006 ] 22007 }, 22008 { 22009 className: 'class', 22010 beginKeywords: 'type', end: ';', 22011 contains: [ 22012 hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, {endsParent: true}) 22013 ], 22014 illegal: '\\S' 22015 }, 22016 { 22017 className: 'class', 22018 beginKeywords: 'trait enum struct union', end: '{', 22019 contains: [ 22020 hljs.inherit(hljs.UNDERSCORE_TITLE_MODE, {endsParent: true}) 22021 ], 22022 illegal: '[\\w\\d]' 22023 }, 22024 { 22025 begin: hljs.IDENT_RE + '::', 22026 keywords: {built_in: BUILTINS} 22027 }, 22028 { 22029 begin: '->' 22030 } 22031 ] 22032 }; 22033 } 22034 },{name:"sas",create:/* 22035 Language: SAS 22036 Author: Mauricio Caceres <mauricio.caceres.bravo@gmail.com> 22037 Description: Syntax Highlighting for SAS 22038 */ 22039 22040 function(hljs) { 22041 22042 // Data step and PROC SQL statements 22043 var SAS_KEYWORDS = ''+ 22044 'do if then else end until while '+ 22045 ''+ 22046 'abort array attrib by call cards cards4 catname continue '+ 22047 'datalines datalines4 delete delim delimiter display dm drop '+ 22048 'endsas error file filename footnote format goto in infile '+ 22049 'informat input keep label leave length libname link list '+ 22050 'lostcard merge missing modify options output out page put '+ 22051 'redirect remove rename replace retain return select set skip '+ 22052 'startsas stop title update waitsas where window x systask '+ 22053 ''+ 22054 'add and alter as cascade check create delete describe '+ 22055 'distinct drop foreign from group having index insert into in '+ 22056 'key like message modify msgtype not null on or order primary '+ 22057 'references reset restrict select set table unique update '+ 22058 'validate view where'; 22059 22060 // Built-in SAS functions 22061 var SAS_FUN = ''+ 22062 'abs|addr|airy|arcos|arsin|atan|attrc|attrn|band|'+ 22063 'betainv|blshift|bnot|bor|brshift|bxor|byte|cdf|ceil|'+ 22064 'cexist|cinv|close|cnonct|collate|compbl|compound|'+ 22065 'compress|cos|cosh|css|curobs|cv|daccdb|daccdbsl|'+ 22066 'daccsl|daccsyd|dacctab|dairy|date|datejul|datepart|'+ 22067 'datetime|day|dclose|depdb|depdbsl|depdbsl|depsl|'+ 22068 'depsl|depsyd|depsyd|deptab|deptab|dequote|dhms|dif|'+ 22069 'digamma|dim|dinfo|dnum|dopen|doptname|doptnum|dread|'+ 22070 'dropnote|dsname|erf|erfc|exist|exp|fappend|fclose|'+ 22071 'fcol|fdelete|fetch|fetchobs|fexist|fget|fileexist|'+ 22072 'filename|fileref|finfo|finv|fipname|fipnamel|'+ 22073 'fipstate|floor|fnonct|fnote|fopen|foptname|foptnum|'+ 22074 'fpoint|fpos|fput|fread|frewind|frlen|fsep|fuzz|'+ 22075 'fwrite|gaminv|gamma|getoption|getvarc|getvarn|hbound|'+ 22076 'hms|hosthelp|hour|ibessel|index|indexc|indexw|input|'+ 22077 'inputc|inputn|int|intck|intnx|intrr|irr|jbessel|'+ 22078 'juldate|kurtosis|lag|lbound|left|length|lgamma|'+ 22079 'libname|libref|log|log10|log2|logpdf|logpmf|logsdf|'+ 22080 'lowcase|max|mdy|mean|min|minute|mod|month|mopen|'+ 22081 'mort|n|netpv|nmiss|normal|note|npv|open|ordinal|'+ 22082 'pathname|pdf|peek|peekc|pmf|point|poisson|poke|'+ 22083 'probbeta|probbnml|probchi|probf|probgam|probhypr|'+ 22084 'probit|probnegb|probnorm|probt|put|putc|putn|qtr|'+ 22085 'quote|ranbin|rancau|ranexp|rangam|range|rank|rannor|'+ 22086 'ranpoi|rantbl|rantri|ranuni|repeat|resolve|reverse|'+ 22087 'rewind|right|round|saving|scan|sdf|second|sign|'+ 22088 'sin|sinh|skewness|soundex|spedis|sqrt|std|stderr|'+ 22089 'stfips|stname|stnamel|substr|sum|symget|sysget|'+ 22090 'sysmsg|sysprod|sysrc|system|tan|tanh|time|timepart|'+ 22091 'tinv|tnonct|today|translate|tranwrd|trigamma|'+ 22092 'trim|trimn|trunc|uniform|upcase|uss|var|varfmt|'+ 22093 'varinfmt|varlabel|varlen|varname|varnum|varray|'+ 22094 'varrayx|vartype|verify|vformat|vformatd|vformatdx|'+ 22095 'vformatn|vformatnx|vformatw|vformatwx|vformatx|'+ 22096 'vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|'+ 22097 'vinformatn|vinformatnx|vinformatw|vinformatwx|'+ 22098 'vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|'+ 22099 'vnamex|vtype|vtypex|weekday|year|yyq|zipfips|zipname|'+ 22100 'zipnamel|zipstate'; 22101 22102 // Built-in macro functions 22103 var SAS_MACRO_FUN = 'bquote|nrbquote|cmpres|qcmpres|compstor|'+ 22104 'datatyp|display|do|else|end|eval|global|goto|'+ 22105 'if|index|input|keydef|label|left|length|let|'+ 22106 'local|lowcase|macro|mend|nrbquote|nrquote|'+ 22107 'nrstr|put|qcmpres|qleft|qlowcase|qscan|'+ 22108 'qsubstr|qsysfunc|qtrim|quote|qupcase|scan|str|'+ 22109 'substr|superq|syscall|sysevalf|sysexec|sysfunc|'+ 22110 'sysget|syslput|sysprod|sysrc|sysrput|then|to|'+ 22111 'trim|unquote|until|upcase|verify|while|window'; 22112 22113 return { 22114 aliases: ['sas', 'SAS'], 22115 case_insensitive: true, // SAS is case-insensitive 22116 keywords: { 22117 literal: 22118 'null missing _all_ _automatic_ _character_ _infile_ '+ 22119 '_n_ _name_ _null_ _numeric_ _user_ _webout_', 22120 meta: 22121 SAS_KEYWORDS 22122 }, 22123 contains: [ 22124 { 22125 // Distinct highlight for proc <proc>, data, run, quit 22126 className: 'keyword', 22127 begin: /^\s*(proc [\w\d_]+|data|run|quit)[\s\;]/ 22128 }, 22129 { 22130 // Macro variables 22131 className: 'variable', 22132 begin: /\&[a-zA-Z_\&][a-zA-Z0-9_]*\.?/ 22133 }, 22134 { 22135 // Special emphasis for datalines|cards 22136 className: 'emphasis', 22137 begin: /^\s*datalines|cards.*;/, 22138 end: /^\s*;\s*$/ 22139 }, 22140 { // Built-in macro variables take precedence 22141 className: 'built_in', 22142 begin: '%(' + SAS_MACRO_FUN + ')' 22143 }, 22144 { 22145 // User-defined macro functions highlighted after 22146 className: 'name', 22147 begin: /%[a-zA-Z_][a-zA-Z_0-9]*/ 22148 }, 22149 { 22150 className: 'meta', 22151 begin: '[^%](' + SAS_FUN + ')[\(]' 22152 }, 22153 { 22154 className: 'string', 22155 variants: [ 22156 hljs.APOS_STRING_MODE, 22157 hljs.QUOTE_STRING_MODE 22158 ] 22159 }, 22160 hljs.COMMENT('\\*', ';'), 22161 hljs.C_BLOCK_COMMENT_MODE 22162 ] 22163 }; 22164 } 22165 },{name:"scala",create:/* 22166 Language: Scala 22167 Category: functional 22168 Author: Jan Berkel <jan.berkel@gmail.com> 22169 Contributors: Erik Osheim <d_m@plastic-idolatry.com> 22170 */ 22171 22172 function(hljs) { 22173 22174 var ANNOTATION = { className: 'meta', begin: '@[A-Za-z]+' }; 22175 22176 // used in strings for escaping/interpolation/substitution 22177 var SUBST = { 22178 className: 'subst', 22179 variants: [ 22180 {begin: '\\$[A-Za-z0-9_]+'}, 22181 {begin: '\\${', end: '}'} 22182 ] 22183 }; 22184 22185 var STRING = { 22186 className: 'string', 22187 variants: [ 22188 { 22189 begin: '"', end: '"', 22190 illegal: '\\n', 22191 contains: [hljs.BACKSLASH_ESCAPE] 22192 }, 22193 { 22194 begin: '"""', end: '"""', 22195 relevance: 10 22196 }, 22197 { 22198 begin: '[a-z]+"', end: '"', 22199 illegal: '\\n', 22200 contains: [hljs.BACKSLASH_ESCAPE, SUBST] 22201 }, 22202 { 22203 className: 'string', 22204 begin: '[a-z]+"""', end: '"""', 22205 contains: [SUBST], 22206 relevance: 10 22207 } 22208 ] 22209 22210 }; 22211 22212 var SYMBOL = { 22213 className: 'symbol', 22214 begin: '\'\\w[\\w\\d_]*(?!\')' 22215 }; 22216 22217 var TYPE = { 22218 className: 'type', 22219 begin: '\\b[A-Z][A-Za-z0-9_]*', 22220 relevance: 0 22221 }; 22222 22223 var NAME = { 22224 className: 'title', 22225 begin: /[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/, 22226 relevance: 0 22227 }; 22228 22229 var CLASS = { 22230 className: 'class', 22231 beginKeywords: 'class object trait type', 22232 end: /[:={\[\n;]/, 22233 excludeEnd: true, 22234 contains: [ 22235 { 22236 beginKeywords: 'extends with', 22237 relevance: 10 22238 }, 22239 { 22240 begin: /\[/, 22241 end: /\]/, 22242 excludeBegin: true, 22243 excludeEnd: true, 22244 relevance: 0, 22245 contains: [TYPE] 22246 }, 22247 { 22248 className: 'params', 22249 begin: /\(/, 22250 end: /\)/, 22251 excludeBegin: true, 22252 excludeEnd: true, 22253 relevance: 0, 22254 contains: [TYPE] 22255 }, 22256 NAME 22257 ] 22258 }; 22259 22260 var METHOD = { 22261 className: 'function', 22262 beginKeywords: 'def', 22263 end: /[:={\[(\n;]/, 22264 excludeEnd: true, 22265 contains: [NAME] 22266 }; 22267 22268 return { 22269 keywords: { 22270 literal: 'true false null', 22271 keyword: 'type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit' 22272 }, 22273 contains: [ 22274 hljs.C_LINE_COMMENT_MODE, 22275 hljs.C_BLOCK_COMMENT_MODE, 22276 STRING, 22277 SYMBOL, 22278 TYPE, 22279 METHOD, 22280 CLASS, 22281 hljs.C_NUMBER_MODE, 22282 ANNOTATION 22283 ] 22284 }; 22285 } 22286 },{name:"scheme",create:/* 22287 Language: Scheme 22288 Description: Keywords based on http://community.schemewiki.org/?scheme-keywords 22289 Author: JP Verkamp <me@jverkamp.com> 22290 Contributors: Ivan Sagalaev <maniac@softwaremaniacs.org> 22291 Origin: clojure.js 22292 Category: lisp 22293 */ 22294 22295 function(hljs) { 22296 var SCHEME_IDENT_RE = '[^\\(\\)\\[\\]\\{\\}",\'`;#|\\\\\\s]+'; 22297 var SCHEME_SIMPLE_NUMBER_RE = '(\\-|\\+)?\\d+([./]\\d+)?'; 22298 var SCHEME_COMPLEX_NUMBER_RE = SCHEME_SIMPLE_NUMBER_RE + '[+\\-]' + SCHEME_SIMPLE_NUMBER_RE + 'i'; 22299 var BUILTINS = { 22300 'builtin-name': 22301 'case-lambda call/cc class define-class exit-handler field import ' + 22302 'inherit init-field interface let*-values let-values let/ec mixin ' + 22303 'opt-lambda override protect provide public rename require ' + 22304 'require-for-syntax syntax syntax-case syntax-error unit/sig unless ' + 22305 'when with-syntax and begin call-with-current-continuation ' + 22306 'call-with-input-file call-with-output-file case cond define ' + 22307 'define-syntax delay do dynamic-wind else for-each if lambda let let* ' + 22308 'let-syntax letrec letrec-syntax map or syntax-rules \' * + , ,@ - ... / ' + 22309 '; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan ' + 22310 'boolean? caar cadr call-with-input-file call-with-output-file ' + 22311 'call-with-values car cdddar cddddr cdr ceiling char->integer ' + 22312 'char-alphabetic? char-ci<=? char-ci<? char-ci=? char-ci>=? char-ci>? ' + 22313 'char-downcase char-lower-case? char-numeric? char-ready? char-upcase ' + 22314 'char-upper-case? char-whitespace? char<=? char<? char=? char>=? char>? ' + 22315 'char? close-input-port close-output-port complex? cons cos ' + 22316 'current-input-port current-output-port denominator display eof-object? ' + 22317 'eq? equal? eqv? eval even? exact->inexact exact? exp expt floor ' + 22318 'force gcd imag-part inexact->exact inexact? input-port? integer->char ' + 22319 'integer? interaction-environment lcm length list list->string ' + 22320 'list->vector list-ref list-tail list? load log magnitude make-polar ' + 22321 'make-rectangular make-string make-vector max member memq memv min ' + 22322 'modulo negative? newline not null-environment null? number->string ' + 22323 'number? numerator odd? open-input-file open-output-file output-port? ' + 22324 'pair? peek-char port? positive? procedure? quasiquote quote quotient ' + 22325 'rational? rationalize read read-char real-part real? remainder reverse ' + 22326 'round scheme-report-environment set! set-car! set-cdr! sin sqrt string ' + 22327 'string->list string->number string->symbol string-append string-ci<=? ' + 22328 'string-ci<? string-ci=? string-ci>=? string-ci>? string-copy ' + 22329 'string-fill! string-length string-ref string-set! string<=? string<? ' + 22330 'string=? string>=? string>? string? substring symbol->string symbol? ' + 22331 'tan transcript-off transcript-on truncate values vector ' + 22332 'vector->list vector-fill! vector-length vector-ref vector-set! ' + 22333 'with-input-from-file with-output-to-file write write-char zero?' 22334 }; 22335 22336 var SHEBANG = { 22337 className: 'meta', 22338 begin: '^#!', 22339 end: '$' 22340 }; 22341 22342 var LITERAL = { 22343 className: 'literal', 22344 begin: '(#t|#f|#\\\\' + SCHEME_IDENT_RE + '|#\\\\.)' 22345 }; 22346 22347 var NUMBER = { 22348 className: 'number', 22349 variants: [ 22350 { begin: SCHEME_SIMPLE_NUMBER_RE, relevance: 0 }, 22351 { begin: SCHEME_COMPLEX_NUMBER_RE, relevance: 0 }, 22352 { begin: '#b[0-1]+(/[0-1]+)?' }, 22353 { begin: '#o[0-7]+(/[0-7]+)?' }, 22354 { begin: '#x[0-9a-f]+(/[0-9a-f]+)?' } 22355 ] 22356 }; 22357 22358 var STRING = hljs.QUOTE_STRING_MODE; 22359 22360 var REGULAR_EXPRESSION = { 22361 className: 'regexp', 22362 begin: '#[pr]x"', 22363 end: '[^\\\\]"' 22364 }; 22365 22366 var COMMENT_MODES = [ 22367 hljs.COMMENT( 22368 ';', 22369 '$', 22370 { 22371 relevance: 0 22372 } 22373 ), 22374 hljs.COMMENT('#\\|', '\\|#') 22375 ]; 22376 22377 var IDENT = { 22378 begin: SCHEME_IDENT_RE, 22379 relevance: 0 22380 }; 22381 22382 var QUOTED_IDENT = { 22383 className: 'symbol', 22384 begin: '\'' + SCHEME_IDENT_RE 22385 }; 22386 22387 var BODY = { 22388 endsWithParent: true, 22389 relevance: 0 22390 }; 22391 22392 var QUOTED_LIST = { 22393 variants: [ 22394 { begin: /'/ }, 22395 { begin: '`' } 22396 ], 22397 contains: [ 22398 { 22399 begin: '\\(', end: '\\)', 22400 contains: ['self', LITERAL, STRING, NUMBER, IDENT, QUOTED_IDENT] 22401 } 22402 ] 22403 }; 22404 22405 var NAME = { 22406 className: 'name', 22407 begin: SCHEME_IDENT_RE, 22408 lexemes: SCHEME_IDENT_RE, 22409 keywords: BUILTINS 22410 }; 22411 22412 var LAMBDA = { 22413 begin: /lambda/, endsWithParent: true, returnBegin: true, 22414 contains: [ 22415 NAME, 22416 { 22417 begin: /\(/, end: /\)/, endsParent: true, 22418 contains: [IDENT], 22419 } 22420 ] 22421 }; 22422 22423 var LIST = { 22424 variants: [ 22425 { begin: '\\(', end: '\\)' }, 22426 { begin: '\\[', end: '\\]' } 22427 ], 22428 contains: [LAMBDA, NAME, BODY] 22429 }; 22430 22431 BODY.contains = [LITERAL, NUMBER, STRING, IDENT, QUOTED_IDENT, QUOTED_LIST, LIST].concat(COMMENT_MODES); 22432 22433 return { 22434 illegal: /\S/, 22435 contains: [SHEBANG, NUMBER, STRING, QUOTED_IDENT, QUOTED_LIST, LIST].concat(COMMENT_MODES) 22436 }; 22437 } 22438 },{name:"scilab",create:/* 22439 Language: Scilab 22440 Author: Sylvestre Ledru <sylvestre.ledru@scilab-enterprises.com> 22441 Origin: matlab.js 22442 Description: Scilab is a port from Matlab 22443 Category: scientific 22444 */ 22445 22446 function(hljs) { 22447 22448 var COMMON_CONTAINS = [ 22449 hljs.C_NUMBER_MODE, 22450 { 22451 className: 'string', 22452 begin: '\'|\"', end: '\'|\"', 22453 contains: [hljs.BACKSLASH_ESCAPE, {begin: '\'\''}] 22454 } 22455 ]; 22456 22457 return { 22458 aliases: ['sci'], 22459 lexemes: /%?\w+/, 22460 keywords: { 22461 keyword: 'abort break case clear catch continue do elseif else endfunction end for function '+ 22462 'global if pause return resume select try then while', 22463 literal: 22464 '%f %F %t %T %pi %eps %inf %nan %e %i %z %s', 22465 built_in: // Scilab has more than 2000 functions. Just list the most commons 22466 'abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp error '+ 22467 'exec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isempty '+ 22468 'isinfisnan isvector lasterror length load linspace list listfiles log10 log2 log '+ 22469 'max min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand real '+ 22470 'round sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tan '+ 22471 'type typename warning zeros matrix' 22472 }, 22473 illegal: '("|#|/\\*|\\s+/\\w+)', 22474 contains: [ 22475 { 22476 className: 'function', 22477 beginKeywords: 'function', end: '$', 22478 contains: [ 22479 hljs.UNDERSCORE_TITLE_MODE, 22480 { 22481 className: 'params', 22482 begin: '\\(', end: '\\)' 22483 } 22484 ] 22485 }, 22486 { 22487 begin: '[a-zA-Z_][a-zA-Z_0-9]*(\'+[\\.\']*|[\\.\']+)', end: '', 22488 relevance: 0 22489 }, 22490 { 22491 begin: '\\[', end: '\\]\'*[\\.\']*', 22492 relevance: 0, 22493 contains: COMMON_CONTAINS 22494 }, 22495 hljs.COMMENT('//', '$') 22496 ].concat(COMMON_CONTAINS) 22497 }; 22498 } 22499 },{name:"scss",create:/* 22500 Language: SCSS 22501 Author: Kurt Emch <kurt@kurtemch.com> 22502 Category: css 22503 */ 22504 function(hljs) { 22505 var IDENT_RE = '[a-zA-Z-][a-zA-Z0-9_-]*'; 22506 var VARIABLE = { 22507 className: 'variable', 22508 begin: '(\\$' + IDENT_RE + ')\\b' 22509 }; 22510 var HEXCOLOR = { 22511 className: 'number', begin: '#[0-9A-Fa-f]+' 22512 }; 22513 var DEF_INTERNALS = { 22514 className: 'attribute', 22515 begin: '[A-Z\\_\\.\\-]+', end: ':', 22516 excludeEnd: true, 22517 illegal: '[^\\s]', 22518 starts: { 22519 endsWithParent: true, excludeEnd: true, 22520 contains: [ 22521 HEXCOLOR, 22522 hljs.CSS_NUMBER_MODE, 22523 hljs.QUOTE_STRING_MODE, 22524 hljs.APOS_STRING_MODE, 22525 hljs.C_BLOCK_COMMENT_MODE, 22526 { 22527 className: 'meta', begin: '!important' 22528 } 22529 ] 22530 } 22531 }; 22532 return { 22533 case_insensitive: true, 22534 illegal: '[=/|\']', 22535 contains: [ 22536 hljs.C_LINE_COMMENT_MODE, 22537 hljs.C_BLOCK_COMMENT_MODE, 22538 { 22539 className: 'selector-id', begin: '\\#[A-Za-z0-9_-]+', 22540 relevance: 0 22541 }, 22542 { 22543 className: 'selector-class', begin: '\\.[A-Za-z0-9_-]+', 22544 relevance: 0 22545 }, 22546 { 22547 className: 'selector-attr', begin: '\\[', end: '\\]', 22548 illegal: '$' 22549 }, 22550 { 22551 className: 'selector-tag', // begin: IDENT_RE, end: '[,|\\s]' 22552 begin: '\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b', 22553 relevance: 0 22554 }, 22555 { 22556 begin: ':(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)' 22557 }, 22558 { 22559 begin: '::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)' 22560 }, 22561 VARIABLE, 22562 { 22563 className: 'attribute', 22564 begin: '\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b', 22565 illegal: '[^\\s]' 22566 }, 22567 { 22568 begin: '\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b' 22569 }, 22570 { 22571 begin: ':', end: ';', 22572 contains: [ 22573 VARIABLE, 22574 HEXCOLOR, 22575 hljs.CSS_NUMBER_MODE, 22576 hljs.QUOTE_STRING_MODE, 22577 hljs.APOS_STRING_MODE, 22578 { 22579 className: 'meta', begin: '!important' 22580 } 22581 ] 22582 }, 22583 { 22584 begin: '@', end: '[{;]', 22585 keywords: 'mixin include extend for if else each while charset import debug media page content font-face namespace warn', 22586 contains: [ 22587 VARIABLE, 22588 hljs.QUOTE_STRING_MODE, 22589 hljs.APOS_STRING_MODE, 22590 HEXCOLOR, 22591 hljs.CSS_NUMBER_MODE, 22592 { 22593 begin: '\\s[A-Za-z0-9_.-]+', 22594 relevance: 0 22595 } 22596 ] 22597 } 22598 ] 22599 }; 22600 } 22601 },{name:"shell",create:/* 22602 Language: Shell Session 22603 Requires: bash.js 22604 Author: TSUYUSATO Kitsune <make.just.on@gmail.com> 22605 Category: common 22606 */ 22607 22608 function(hljs) { 22609 return { 22610 aliases: ['console'], 22611 contains: [ 22612 { 22613 className: 'meta', 22614 begin: '^\\s{0,3}[\\w\\d\\[\\]()@-]*[>%$#]', 22615 starts: { 22616 end: '$', subLanguage: 'bash' 22617 } 22618 } 22619 ] 22620 } 22621 } 22622 },{name:"smali",create:/* 22623 Language: Smali 22624 Author: Dennis Titze <dennis.titze@gmail.com> 22625 Description: Basic Smali highlighting 22626 */ 22627 22628 function(hljs) { 22629 var smali_instr_low_prio = ['add', 'and', 'cmp', 'cmpg', 'cmpl', 'const', 'div', 'double', 'float', 'goto', 'if', 'int', 'long', 'move', 'mul', 'neg', 'new', 'nop', 'not', 'or', 'rem', 'return', 'shl', 'shr', 'sput', 'sub', 'throw', 'ushr', 'xor']; 22630 var smali_instr_high_prio = ['aget', 'aput', 'array', 'check', 'execute', 'fill', 'filled', 'goto/16', 'goto/32', 'iget', 'instance', 'invoke', 'iput', 'monitor', 'packed', 'sget', 'sparse']; 22631 var smali_keywords = ['transient', 'constructor', 'abstract', 'final', 'synthetic', 'public', 'private', 'protected', 'static', 'bridge', 'system']; 22632 return { 22633 aliases: ['smali'], 22634 contains: [ 22635 { 22636 className: 'string', 22637 begin: '"', end: '"', 22638 relevance: 0 22639 }, 22640 hljs.COMMENT( 22641 '#', 22642 '$', 22643 { 22644 relevance: 0 22645 } 22646 ), 22647 { 22648 className: 'keyword', 22649 variants: [ 22650 {begin: '\\s*\\.end\\s[a-zA-Z0-9]*'}, 22651 {begin: '^[ ]*\\.[a-zA-Z]*', relevance: 0}, 22652 {begin: '\\s:[a-zA-Z_0-9]*', relevance: 0}, 22653 {begin: '\\s(' + smali_keywords.join('|') + ')'} 22654 ] 22655 }, 22656 { 22657 className: 'built_in', 22658 variants : [ 22659 { 22660 begin: '\\s('+smali_instr_low_prio.join('|')+')\\s' 22661 }, 22662 { 22663 begin: '\\s('+smali_instr_low_prio.join('|')+')((\\-|/)[a-zA-Z0-9]+)+\\s', 22664 relevance: 10 22665 }, 22666 { 22667 begin: '\\s('+smali_instr_high_prio.join('|')+')((\\-|/)[a-zA-Z0-9]+)*\\s', 22668 relevance: 10 22669 }, 22670 ] 22671 }, 22672 { 22673 className: 'class', 22674 begin: 'L[^\(;:\n]*;', 22675 relevance: 0 22676 }, 22677 { 22678 begin: '[vp][0-9]+', 22679 } 22680 ] 22681 }; 22682 } 22683 },{name:"smalltalk",create:/* 22684 Language: Smalltalk 22685 Author: Vladimir Gubarkov <xonixx@gmail.com> 22686 */ 22687 22688 function(hljs) { 22689 var VAR_IDENT_RE = '[a-z][a-zA-Z0-9_]*'; 22690 var CHAR = { 22691 className: 'string', 22692 begin: '\\$.{1}' 22693 }; 22694 var SYMBOL = { 22695 className: 'symbol', 22696 begin: '#' + hljs.UNDERSCORE_IDENT_RE 22697 }; 22698 return { 22699 aliases: ['st'], 22700 keywords: 'self super nil true false thisContext', // only 6 22701 contains: [ 22702 hljs.COMMENT('"', '"'), 22703 hljs.APOS_STRING_MODE, 22704 { 22705 className: 'type', 22706 begin: '\\b[A-Z][A-Za-z0-9_]*', 22707 relevance: 0 22708 }, 22709 { 22710 begin: VAR_IDENT_RE + ':', 22711 relevance: 0 22712 }, 22713 hljs.C_NUMBER_MODE, 22714 SYMBOL, 22715 CHAR, 22716 { 22717 // This looks more complicated than needed to avoid combinatorial 22718 // explosion under V8. It effectively means `| var1 var2 ... |` with 22719 // whitespace adjacent to `|` being optional. 22720 begin: '\\|[ ]*' + VAR_IDENT_RE + '([ ]+' + VAR_IDENT_RE + ')*[ ]*\\|', 22721 returnBegin: true, end: /\|/, 22722 illegal: /\S/, 22723 contains: [{begin: '(\\|[ ]*)?' + VAR_IDENT_RE}] 22724 }, 22725 { 22726 begin: '\\#\\(', end: '\\)', 22727 contains: [ 22728 hljs.APOS_STRING_MODE, 22729 CHAR, 22730 hljs.C_NUMBER_MODE, 22731 SYMBOL 22732 ] 22733 } 22734 ] 22735 }; 22736 } 22737 },{name:"sml",create:/* 22738 Language: SML 22739 Author: Edwin Dalorzo <edwin@dalorzo.org> 22740 Description: SML language definition. 22741 Origin: ocaml.js 22742 Category: functional 22743 */ 22744 function(hljs) { 22745 return { 22746 aliases: ['ml'], 22747 keywords: { 22748 keyword: 22749 /* according to Definition of Standard ML 97 */ 22750 'abstype and andalso as case datatype do else end eqtype ' + 22751 'exception fn fun functor handle if in include infix infixr ' + 22752 'let local nonfix of op open orelse raise rec sharing sig ' + 22753 'signature struct structure then type val with withtype where while', 22754 built_in: 22755 /* built-in types according to basis library */ 22756 'array bool char exn int list option order real ref string substring vector unit word', 22757 literal: 22758 'true false NONE SOME LESS EQUAL GREATER nil' 22759 }, 22760 illegal: /\/\/|>>/, 22761 lexemes: '[a-z_]\\w*!?', 22762 contains: [ 22763 { 22764 className: 'literal', 22765 begin: /\[(\|\|)?\]|\(\)/, 22766 relevance: 0 22767 }, 22768 hljs.COMMENT( 22769 '\\(\\*', 22770 '\\*\\)', 22771 { 22772 contains: ['self'] 22773 } 22774 ), 22775 { /* type variable */ 22776 className: 'symbol', 22777 begin: '\'[A-Za-z_](?!\')[\\w\']*' 22778 /* the grammar is ambiguous on how 'a'b should be interpreted but not the compiler */ 22779 }, 22780 { /* polymorphic variant */ 22781 className: 'type', 22782 begin: '`[A-Z][\\w\']*' 22783 }, 22784 { /* module or constructor */ 22785 className: 'type', 22786 begin: '\\b[A-Z][\\w\']*', 22787 relevance: 0 22788 }, 22789 { /* don't color identifiers, but safely catch all identifiers with '*/ 22790 begin: '[a-z_]\\w*\'[\\w\']*' 22791 }, 22792 hljs.inherit(hljs.APOS_STRING_MODE, {className: 'string', relevance: 0}), 22793 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 22794 { 22795 className: 'number', 22796 begin: 22797 '\\b(0[xX][a-fA-F0-9_]+[Lln]?|' + 22798 '0[oO][0-7_]+[Lln]?|' + 22799 '0[bB][01_]+[Lln]?|' + 22800 '[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)', 22801 relevance: 0 22802 }, 22803 { 22804 begin: /[-=]>/ // relevance booster 22805 } 22806 ] 22807 }; 22808 } 22809 },{name:"sqf",create:/* 22810 Language: SQF 22811 Author: Søren Enevoldsen <senevoldsen90@gmail.com> 22812 Contributors: Marvin Saignat <contact@zgmrvn.com>, Dedmen Miller <dedmen@dedmen.de> 22813 Description: Scripting language for the Arma game series 22814 Requires: cpp.js 22815 */ 22816 22817 function(hljs) { 22818 var CPP = hljs.getLanguage('cpp').exports; 22819 22820 // In SQF, a variable start with _ 22821 var VARIABLE = { 22822 className: 'variable', 22823 begin: /\b_+[a-zA-Z_]\w*/ 22824 }; 22825 22826 // In SQF, a function should fit myTag_fnc_myFunction pattern 22827 // https://community.bistudio.com/wiki/Functions_Library_(Arma_3)#Adding_a_Function 22828 var FUNCTION = { 22829 className: 'title', 22830 begin: /[a-zA-Z][a-zA-Z0-9]+_fnc_\w*/ 22831 }; 22832 22833 // In SQF strings, quotes matching the start are escaped by adding a consecutive. 22834 // Example of single escaped quotes: " "" " and ' '' '. 22835 var STRINGS = { 22836 className: 'string', 22837 variants: [ 22838 { 22839 begin: '"', 22840 end: '"', 22841 contains: [{begin: '""', relevance: 0}] 22842 }, 22843 { 22844 begin: '\'', 22845 end: '\'', 22846 contains: [{begin: '\'\'', relevance: 0}] 22847 } 22848 ] 22849 }; 22850 22851 return { 22852 aliases: ['sqf'], 22853 case_insensitive: true, 22854 keywords: { 22855 keyword: 22856 'case catch default do else exit exitWith for forEach from if ' + 22857 'private switch then throw to try waitUntil while with', 22858 built_in: 22859 'abs accTime acos action actionIDs actionKeys actionKeysImages actionKeysNames ' + 22860 'actionKeysNamesArray actionName actionParams activateAddons activatedAddons activateKey ' + 22861 'add3DENConnection add3DENEventHandler add3DENLayer addAction addBackpack addBackpackCargo ' + 22862 'addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea ' + 22863 'addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler ' + 22864 'addForce addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo ' + 22865 'addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats ' + 22866 'addMagazine addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal ' + 22867 'addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler ' + 22868 'addMPEventHandler addMusicEventHandler addOwnedMine addPlayerScores addPrimaryWeaponItem ' + 22869 'addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem ' + 22870 'addSwitchableUnit addTeamMember addToRemainsCollector addTorque addUniform addVehicle addVest ' + 22871 'addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponItem ' + 22872 'addWeaponPool addWeaponTurret admin agent agents AGLToASL aimedAtTarget aimPos airDensityRTD ' + 22873 'airplaneThrottle airportSide AISFinishHeal alive all3DENEntities allAirports allControls ' + 22874 'allCurators allCutLayers allDead allDeadMen allDisplays allGroups allMapMarkers allMines ' + 22875 'allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage ' + 22876 'allowDammage allowFileOperations allowFleeing allowGetIn allowSprint allPlayers allSimpleObjects ' + 22877 'allSites allTurrets allUnits allUnitsUAV allVariables ammo ammoOnPylon and animate animateBay ' + 22878 'animateDoor animatePylon animateSource animationNames animationPhase animationSourcePhase ' + 22879 'animationState append apply armoryPoints arrayIntersect asin ASLToAGL ASLToATL assert ' + 22880 'assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret ' + 22881 'assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems ' + 22882 'assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam ' + 22883 'assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject ' + 22884 'attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines ' + 22885 'backpackSpaceFor behaviour benchmark binocular boundingBox boundingBoxReal boundingCenter ' + 22886 'breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode ' + 22887 'call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams ' + 22888 'camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView ' + 22889 'campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive ' + 22890 'camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget ' + 22891 'camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos ' + 22892 'camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest ' + 22893 'cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canSuspend ' + 22894 'canTriggerDynamicSimulation canUnloadInCombat canVehicleCargo captive captiveNum cbChecked ' + 22895 'cbSetChecked ceil channelEnabled cheatsEnabled checkAIFeature checkVisibility className ' + 22896 'clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons ' + 22897 'clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal ' + 22898 'clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool ' + 22899 'clientOwner closeDialog closeDisplay closeOverlay collapseObjectTree collect3DENHistory ' + 22900 'collectiveRTD combatMode commandArtilleryFire commandChat commander commandFire commandFollow ' + 22901 'commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop ' + 22902 'commandSuppressiveFire commandTarget commandWatch comment commitOverlay compile compileFinal ' + 22903 'completedFSM composeText configClasses configFile configHierarchy configName configProperties ' + 22904 'configSourceAddonList configSourceMod configSourceModList confirmSensorTarget ' + 22905 'connectTerminalToUAV controlsGroupCtrl copyFromClipboard copyToClipboard copyWaypoints cos count ' + 22906 'countEnemy countFriendly countSide countType countUnknown create3DENComposition create3DENEntity ' + 22907 'createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject ' + 22908 'createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker ' + 22909 'createMarkerLocal createMenu createMine createMissionDisplay createMPCampaignDisplay ' + 22910 'createSimpleObject createSimpleTask createSite createSoundSource createTask createTeam ' + 22911 'createTrigger createUnit createVehicle createVehicleCrew createVehicleLocal crew ctAddHeader ' + 22912 'ctAddRow ctClear ctCurSel ctData ctFindHeaderRows ctFindRowHeader ctHeaderControls ctHeaderCount ' + 22913 'ctRemoveHeaders ctRemoveRows ctrlActivate ctrlAddEventHandler ctrlAngle ctrlAutoScrollDelay ' + 22914 'ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ' + 22915 'ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ' + 22916 'ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ' + 22917 'ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ' + 22918 'ctrlParent ctrlParentControlsGroup ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ' + 22919 'ctrlScale ctrlSetActiveColor ctrlSetAngle ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ' + 22920 'ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ' + 22921 'ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ' + 22922 'ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ' + 22923 'ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ' + 22924 'ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontHeightSecondary ' + 22925 'ctrlSetFontP ctrlSetFontPB ctrlSetFontSecondary ctrlSetForegroundColor ctrlSetModel ' + 22926 'ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPixelPrecision ctrlSetPosition ctrlSetScale ' + 22927 'ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ' + 22928 'ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ' + 22929 'ctrlTextWidth ctrlType ctrlVisible ctRowControls ctRowCount ctSetCurSel ctSetData ' + 22930 'ctSetHeaderTemplate ctSetRowTemplate ctSetValue ctValue curatorAddons curatorCamera ' + 22931 'curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea ' + 22932 'curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected ' + 22933 'curatorWaypointCost current3DENOperation currentChannel currentCommand currentMagazine ' + 22934 'currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle ' + 22935 'currentNamespace currentTask currentTasks currentThrowable currentVisionMode currentWaypoint ' + 22936 'currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorObject cursorTarget ' + 22937 'customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime ' + 22938 'deActivateKey debriefingText debugFSM debugLog deg delete3DENEntities deleteAt deleteCenter ' + 22939 'deleteCollection deleteEditorObject deleteGroup deleteGroupWhenEmpty deleteIdentity ' + 22940 'deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus ' + 22941 'deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines ' + 22942 'diag_activeMissionFSMs diag_activeScripts diag_activeSQFScripts diag_activeSQSScripts ' + 22943 'diag_captureFrame diag_captureFrameToFile diag_captureSlowFrame diag_codePerformance ' + 22944 'diag_drawMode diag_enable diag_enabled diag_fps diag_fpsMin diag_frameNo diag_lightNewLoad ' + 22945 'diag_list diag_log diag_logSlowFrame diag_mergeConfigFile diag_recordTurretLimits ' + 22946 'diag_setLightNew diag_tickTime diag_toggle dialog diarySubjectExists didJIP didJIPOwner ' + 22947 'difficulty difficultyEnabled difficultyEnabledRTD difficultyOption direction directSay disableAI ' + 22948 'disableCollisionWith disableConversation disableDebriefingStats disableMapIndicators ' + 22949 'disableNVGEquipment disableRemoteSensors disableSerialization disableTIEquipment ' + 22950 'disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayParent ' + 22951 'displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam ' + 22952 'distance distance2D distanceSqr distributionRegion do3DENAction doArtilleryFire doFire doFollow ' + 22953 'doFSM doGetOut doMove doorPhase doStop doSuppressiveFire doTarget doWatch drawArrow drawEllipse ' + 22954 'drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawPolygon drawRectangle ' + 22955 'drawTriangle driver drop dynamicSimulationDistance dynamicSimulationDistanceCoef ' + 22956 'dynamicSimulationEnabled dynamicSimulationSystemEnabled echo edit3DENMissionAttributes editObject ' + 22957 'editorSetEventHandler effectiveCommander emptyPositions enableAI enableAIFeature ' + 22958 'enableAimPrecision enableAttack enableAudioFeature enableAutoStartUpRTD enableAutoTrimRTD ' + 22959 'enableCamShake enableCaustics enableChannel enableCollisionWith enableCopilot ' + 22960 'enableDebriefingStats enableDiagLegend enableDynamicSimulation enableDynamicSimulationSystem ' + 22961 'enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights ' + 22962 'enableInfoPanelComponent enableIRLasers enableMimics enablePersonTurret enableRadio enableReload ' + 22963 'enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation ' + 22964 'enableSimulationGlobal enableStamina enableTeamSwitch enableTraffic enableUAVConnectability ' + 22965 'enableUAVWaypoints enableVehicleCargo enableVehicleSensor enableWeaponDisassembly ' + 22966 'endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities ' + 22967 'environmentEnabled estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack ' + 22968 'everyContainer exec execEditorScript execFSM execVM exp expectedDestination exportJIPMessages ' + 22969 'eyeDirection eyePos face faction fadeMusic fadeRadio fadeSound fadeSpeech failMission ' + 22970 'fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition ' + 22971 'findEmptyPositionReady findIf findNearestEnemy finishMissionInit finite fire fireAtTarget ' + 22972 'firstBackpack flag flagAnimationPhase flagOwner flagSide flagTexture fleeing floor flyInHeight ' + 22973 'flyInHeightASL fog fogForecast fogParams forceAddUniform forcedMap forceEnd forceFlagTexture ' + 22974 'forceFollowRoad forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange ' + 22975 'forEachMember forEachMemberAgent forEachMemberTeam forgetTarget format formation ' + 22976 'formationDirection formationLeader formationMembers formationPosition formationTask formatText ' + 22977 'formLeader freeLook fromEditor fuel fullCrew gearIDCAmmoCount gearSlotAmmoCount gearSlotData ' + 22978 'get3DENActionState get3DENAttribute get3DENCamera get3DENConnections get3DENEntity ' + 22979 'get3DENEntityID get3DENGrid get3DENIconsVisible get3DENLayerEntities get3DENLinesVisible ' + 22980 'get3DENMissionAttribute get3DENMouseOver get3DENSelected getAimingCoef getAllEnvSoundControllers ' + 22981 'getAllHitPointsDamage getAllOwnedMines getAllSoundControllers getAmmoCargo getAnimAimPrecision ' + 22982 'getAnimSpeedCoef getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA ' + 22983 'getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining ' + 22984 'getBurningValue getCameraViewDirection getCargoIndex getCenterOfMass getClientState ' + 22985 'getClientStateNumber getCompatiblePylonMagazines getConnectedUAV getContainerMaxLoad ' + 22986 'getCursorObjectParams getCustomAimCoef getDammage getDescription getDir getDirVisual ' + 22987 'getDLCAssetsUsage getDLCAssetsUsageByName getDLCs getEditorCamera getEditorMode ' + 22988 'getEditorObjectScope getElevationOffset getEnvSoundController getFatigue getForcedFlagTexture ' + 22989 'getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom ' + 22990 'getHit getHitIndex getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos ' + 22991 'getMarkerSize getMarkerType getMass getMissionConfig getMissionConfigValue getMissionDLCs ' + 22992 'getMissionLayerEntities getModelInfo getMousePosition getMusicPlayedTime getNumber ' + 22993 'getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy ' + 22994 'getObjectTextures getObjectType getObjectViewDistance getOxygenRemaining getPersonUsedDLCs ' + 22995 'getPilotCameraDirection getPilotCameraPosition getPilotCameraRotation getPilotCameraTarget ' + 22996 'getPlateNumber getPlayerChannel getPlayerScores getPlayerUID getPos getPosASL getPosASLVisual ' + 22997 'getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getPylonMagazines getRelDir ' + 22998 'getRelPos getRemoteSensorsDisabled getRepairCargo getResolution getShadowDistance getShotParents ' + 22999 'getSlingLoad getSoundController getSoundControllerResult getSpeed getStamina getStatValue ' + 23000 'getSuppression getTerrainGrid getTerrainHeightASL getText getTotalDLCUsageTime getUnitLoadout ' + 23001 'getUnitTrait getUserMFDText getUserMFDvalue getVariable getVehicleCargo getWeaponCargo ' + 23002 'getWeaponSway getWingsOrientationRTD getWingsPositionRTD getWPPos glanceAt globalChat globalRadio ' + 23003 'goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupId ' + 23004 'groupOwner groupRadio groupSelectedUnits groupSelectUnit gunner gusts halt handgunItems ' + 23005 'handgunMagazine handgunWeapon handsHit hasInterface hasPilotCamera hasWeapon hcAllGroups ' + 23006 'hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup ' + 23007 'hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hideSelection hint hintC ' + 23008 'hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity image importAllGroups ' + 23009 'importance in inArea inAreaArray incapacitatedState inflame inflamed infoPanel ' + 23010 'infoPanelComponentEnabled infoPanelComponents infoPanels inGameUISetEventHandler inheritsFrom ' + 23011 'initAmbientLife inPolygon inputAction inRangeOfArtillery insertEditorObject intersect is3DEN ' + 23012 'is3DENMultiplayer isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest ' + 23013 'isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDamageAllowed isDedicated ' + 23014 'isDLCAvailable isEngineOn isEqualTo isEqualType isEqualTypeAll isEqualTypeAny isEqualTypeArray ' + 23015 'isEqualTypeParams isFilePatchingEnabled isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader ' + 23016 'isGroupDeletedWhenEmpty isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn ' + 23017 'isKeyActive isKindOf isLaserOn isLightOn isLocalized isManualFire isMarkedForCollection ' + 23018 'isMultiplayer isMultiplayerSolo isNil isNull isNumber isObjectHidden isObjectRTD isOnRoad ' + 23019 'isPipEnabled isPlayer isRealTime isRemoteExecuted isRemoteExecutedJIP isServer isShowing3DIcons ' + 23020 'isSimpleObject isSprintAllowed isStaminaEnabled isSteamMission isStreamFriendlyUIEnabled isText ' + 23021 'isTouchingGround isTurnedOut isTutHintsEnabled isUAVConnectable isUAVConnected isUIContext ' + 23022 'isUniformAllowed isVehicleCargo isVehicleRadarOn isVehicleSensorEnabled isWalking ' + 23023 'isWeaponDeployed isWeaponRested itemCargo items itemsWithMagazines join joinAs joinAsSilent ' + 23024 'joinSilent joinString kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact ' + 23025 'kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language ' + 23026 'laserTarget lbAdd lbClear lbColor lbColorRight lbCurSel lbData lbDelete lbIsSelected lbPicture ' + 23027 'lbPictureRight lbSelection lbSetColor lbSetColorRight lbSetCurSel lbSetData lbSetPicture ' + 23028 'lbSetPictureColor lbSetPictureColorDisabled lbSetPictureColorSelected lbSetPictureRight ' + 23029 'lbSetPictureRightColor lbSetPictureRightColorDisabled lbSetPictureRightColorSelected ' + 23030 'lbSetSelectColor lbSetSelectColorRight lbSetSelected lbSetText lbSetTextRight lbSetTooltip ' + 23031 'lbSetValue lbSize lbSort lbSortByValue lbText lbTextRight lbValue leader leaderboardDeInit ' + 23032 'leaderboardGetRows leaderboardInit leaderboardRequestRowsFriends leaderboardsRequestUploadScore ' + 23033 'leaderboardsRequestUploadScoreKeepBest leaderboardState leaveVehicle libraryCredits ' + 23034 'libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed ' + 23035 'linearConversion lineIntersects lineIntersectsObjs lineIntersectsSurfaces lineIntersectsWith ' + 23036 'linkItem list listObjects listRemoteTargets listVehicleSensors ln lnbAddArray lnbAddColumn ' + 23037 'lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow ' + 23038 'lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData ' + 23039 'lnbSetPicture lnbSetText lnbSetValue lnbSize lnbSort lnbSortByValue lnbText lnbValue load loadAbs ' + 23040 'loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform ' + 23041 'loadVest local localize locationPosition lock lockCameraTo lockCargo lockDriver locked ' + 23042 'lockedCargo lockedDriver lockedTurret lockIdentity lockTurret lockWP log logEntities logNetwork ' + 23043 'logNetworkTerminate lookAt lookAtPos magazineCargo magazines magazinesAllTurrets magazinesAmmo ' + 23044 'magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack ' + 23045 'magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd ' + 23046 'mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam ' + 23047 'markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText ' + 23048 'markerType max members menuAction menuAdd menuChecked menuClear menuCollapse menuData menuDelete ' + 23049 'menuEnable menuEnabled menuExpand menuHover menuPicture menuSetAction menuSetCheck menuSetData ' + 23050 'menuSetPicture menuSetValue menuShortcut menuShortcutText menuSize menuSort menuText menuURL ' + 23051 'menuValue min mineActive mineDetectedBy missionConfigFile missionDifficulty missionName ' + 23052 'missionNamespace missionStart missionVersion mod modelToWorld modelToWorldVisual ' + 23053 'modelToWorldVisualWorld modelToWorldWorld modParams moonIntensity moonPhase morale move ' + 23054 'move3DENCamera moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret ' + 23055 'moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name nameSound ' + 23056 'nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing ' + 23057 'nearestObject nearestObjects nearestTerrainObjects nearObjects nearObjectsReady nearRoads ' + 23058 'nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex ' + 23059 'nextWeatherChange nMenuItems not numberOfEnginesRTD numberToDate objectCurators objectFromNetId ' + 23060 'objectParent objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch ' + 23061 'onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter ' + 23062 'onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected ' + 23063 'onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch ' + 23064 'openCuratorInterface openDLCPage openMap openSteamApp openYoutubeVideo or orderGetIn overcast ' + 23065 'overcastForecast owner param params parseNumber parseSimpleArray parseText parsingNamespace ' + 23066 'particlesQuality pickWeaponPool pitch pixelGrid pixelGridBase pixelGridNoUIScale pixelH pixelW ' + 23067 'playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide ' + 23068 'playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission ' + 23069 'playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ' + 23070 'ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ' + 23071 'ppEffectEnabled ppEffectForceInNVG precision preloadCamera preloadObject preloadSound ' + 23072 'preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon ' + 23073 'primaryWeaponItems primaryWeaponMagazine priority processDiaryLink productVersion profileName ' + 23074 'profileNamespace profileNameSteam progressLoadingScreen progressPosition progressSetPosition ' + 23075 'publicVariable publicVariableClient publicVariableServer pushBack pushBackUnique putWeaponPool ' + 23076 'queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate ' + 23077 'radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random ' + 23078 'rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl ' + 23079 'remoteExec remoteExecCall remoteExecutedOwner remove3DENConnection remove3DENEventHandler ' + 23080 'remove3DENLayer removeAction removeAll3DENEventHandlers removeAllActions removeAllAssignedItems ' + 23081 'removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas ' + 23082 'removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems ' + 23083 'removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers ' + 23084 'removeAllMusicEventHandlers removeAllOwnedMines removeAllPrimaryWeaponItems removeAllWeapons ' + 23085 'removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea ' + 23086 'removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks ' + 23087 'removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem ' + 23088 'removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest ' + 23089 'removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret ' + 23090 'removeMagazineTurret removeMenuItem removeMissionEventHandler removeMPEventHandler ' + 23091 'removeMusicEventHandler removeOwnedMine removePrimaryWeaponItem removeSecondaryWeaponItem ' + 23092 'removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon ' + 23093 'removeWeaponAttachmentCargo removeWeaponCargo removeWeaponGlobal removeWeaponTurret ' + 23094 'reportRemoteTarget requiredVersion resetCamShake resetSubgroupDirection resize resources ' + 23095 'respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadAt ' + 23096 'roadsConnectedTo roleDescription ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ' + 23097 'ropeAttachTo ropeCreate ropeCut ropeDestroy ropeDetach ropeEndPosition ropeLength ropes ' + 23098 'ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW ' + 23099 'safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY save3DENInventory saveGame saveIdentity ' + 23100 'saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D ' + 23101 'scopeName score scoreSide screenshot screenToWorld scriptDone scriptName scudState ' + 23102 'secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces ' + 23103 'selectDiarySubject selectedEditorObjects selectEditorObject selectionNames selectionPosition ' + 23104 'selectLeader selectMax selectMin selectNoPlayer selectPlayer selectRandom selectRandomWeighted ' + 23105 'selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult ' + 23106 'sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverName serverTime ' + 23107 'set set3DENAttribute set3DENAttributes set3DENGrid set3DENIconsVisible set3DENLayer ' + 23108 'set3DENLinesVisible set3DENLogicType set3DENMissionAttribute set3DENMissionAttributes ' + 23109 'set3DENModelsVisible set3DENObjectType set3DENSelected setAccTime setActualCollectiveRTD ' + 23110 'setAirplaneThrottle setAirportSide setAmmo setAmmoCargo setAmmoOnPylon setAnimSpeedCoef ' + 23111 'setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour ' + 23112 'setBleedingRemaining setBrakesRTD setCameraInterest setCamShakeDefParams setCamShakeParams ' + 23113 'setCamUseTI setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation ' + 23114 'setConvoySeparation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType ' + 23115 'setCuratorWaypointCost setCurrentChannel setCurrentTask setCurrentWaypoint setCustomAimCoef ' + 23116 'setCustomWeightRTD setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination ' + 23117 'setDetailMapBlendPars setDir setDirection setDrawIcon setDriveOnPath setDropInterval ' + 23118 'setDynamicSimulationDistance setDynamicSimulationDistanceCoef setEditorMode setEditorObjectScope ' + 23119 'setEffectCondition setEngineRPMRTD setFace setFaceAnimation setFatigue setFeatureType ' + 23120 'setFlagAnimationPhase setFlagOwner setFlagSide setFlagTexture setFog setFormation ' + 23121 'setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo ' + 23122 'setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId ' + 23123 'setGroupIdGlobal setGroupOwner setGusts setHideBehind setHit setHitIndex setHitPointDamage ' + 23124 'setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setInfoPanel setLeader ' + 23125 'setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight ' + 23126 'setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare ' + 23127 'setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush ' + 23128 'setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal ' + 23129 'setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize ' + 23130 'setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass ' + 23131 'setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound ' + 23132 'setObjectArguments setObjectMaterial setObjectMaterialGlobal setObjectProxy setObjectTexture ' + 23133 'setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining ' + 23134 'setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom ' + 23135 'setPilotCameraDirection setPilotCameraRotation setPilotCameraTarget setPilotLight setPiPEffect ' + 23136 'setPitch setPlateNumber setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW ' + 23137 'setPosATL setPosition setPosWorld setPylonLoadOut setPylonsPriority setRadioMsg setRain ' + 23138 'setRainbow setRandomLip setRank setRectangular setRepairCargo setRotorBrakeRTD setShadowDistance ' + 23139 'setShotParents setSide setSimpleTaskAlwaysVisible setSimpleTaskCustomData ' + 23140 'setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimpleTaskType ' + 23141 'setSimulWeatherLayers setSize setSkill setSlingLoad setSoundEffect setSpeaker setSpeech ' + 23142 'setSpeedMode setStamina setStaminaScheme setStatValue setSuppression setSystemOfUnits ' + 23143 'setTargetAge setTaskMarkerOffset setTaskResult setTaskState setTerrainGrid setText ' + 23144 'setTimeMultiplier setTitleEffect setTrafficDensity setTrafficDistance setTrafficGap ' + 23145 'setTrafficSpeed setTriggerActivation setTriggerArea setTriggerStatements setTriggerText ' + 23146 'setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitLoadout setUnitPos ' + 23147 'setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnitTrait setUnloadInCombat ' + 23148 'setUserActionText setUserMFDText setUserMFDvalue setVariable setVectorDir setVectorDirAndUp ' + 23149 'setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleCargo setVehicleId ' + 23150 'setVehicleLock setVehiclePosition setVehicleRadar setVehicleReceiveRemoteTargets ' + 23151 'setVehicleReportOwnPosition setVehicleReportRemoteTargets setVehicleTIPars setVehicleVarName ' + 23152 'setVelocity setVelocityModelSpace setVelocityTransformation setViewDistance ' + 23153 'setVisibleIfTreeCollapsed setWantedRPMRTD setWaves setWaypointBehaviour setWaypointCombatMode ' + 23154 'setWaypointCompletionRadius setWaypointDescription setWaypointForceBehaviour setWaypointFormation ' + 23155 'setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName ' + 23156 'setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout ' + 23157 'setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce ' + 23158 'setWindStr setWingForceScaleRTD setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu ' + 23159 'showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer ' + 23160 'shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownHUD shownMap ' + 23161 'shownPad shownRadio shownScoretable shownUAVFeed shownWarrant shownWatch showPad showRadio ' + 23162 'showScoretable showSubtitles showUAVFeed showWarrant showWatch showWaypoint showWaypoints side ' + 23163 'sideChat sideEnemy sideFriendly sideRadio simpleTasks simulationEnabled simulCloudDensity ' + 23164 'simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime ' + 23165 'sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed ' + 23166 'slingLoadAssistantShown soldierMagazines someAmmo sort soundVolume spawn speaker speed speedMode ' + 23167 'splitString sqrt squadParams stance startLoadingScreen step stop stopEngineRTD stopped str ' + 23168 'sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth ' + 23169 'switchableUnits switchAction switchCamera switchGesture switchLight switchMove ' + 23170 'synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd ' + 23171 'synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint systemChat systemOfUnits tan ' + 23172 'targetKnowledge targets targetsAggregate targetsQuery taskAlwaysVisible taskChildren ' + 23173 'taskCompleted taskCustomData taskDescription taskDestination taskHint taskMarkerOffset taskParent ' + 23174 'taskResult taskState taskType teamMember teamName teams teamSwitch teamSwitchEnabled teamType ' + 23175 'terminate terrainIntersect terrainIntersectASL terrainIntersectAtASL text textLog textLogFormat ' + 23176 'tg time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText toArray toFixed toLower ' + 23177 'toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle ' + 23178 'triggerAttachObject triggerAttachVehicle triggerDynamicSimulation triggerStatements triggerText ' + 23179 'triggerTimeout triggerTimeoutCurrent triggerType turretLocal turretOwner turretUnit tvAdd tvClear ' + 23180 'tvCollapse tvCollapseAll tvCount tvCurSel tvData tvDelete tvExpand tvExpandAll tvPicture ' + 23181 'tvSetColor tvSetCurSel tvSetData tvSetPicture tvSetPictureColor tvSetPictureColorDisabled ' + 23182 'tvSetPictureColorSelected tvSetPictureRight tvSetPictureRightColor tvSetPictureRightColorDisabled ' + 23183 'tvSetPictureRightColorSelected tvSetText tvSetTooltip tvSetValue tvSort tvSortByValue tvText ' + 23184 'tvTooltip tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator ' + 23185 'unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems ' + 23186 'uniformMagazines unitAddons unitAimPosition unitAimPositionVisual unitBackpack unitIsUAV unitPos ' + 23187 'unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement ' + 23188 'unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAISteeringComponent ' + 23189 'useAudioTimeForMoves userInputDisabled vectorAdd vectorCos vectorCrossProduct vectorDiff ' + 23190 'vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo ' + 23191 'vectorMagnitude vectorMagnitudeSqr vectorModelToWorld vectorModelToWorldVisual vectorMultiply ' + 23192 'vectorNormalized vectorUp vectorUpVisual vectorWorldToModel vectorWorldToModelVisual vehicle ' + 23193 'vehicleCargoEnabled vehicleChat vehicleRadio vehicleReceiveRemoteTargets vehicleReportOwnPosition ' + 23194 'vehicleReportRemoteTargets vehicles vehicleVarName velocity velocityModelSpace verifySignature ' + 23195 'vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap ' + 23196 'visiblePosition visiblePositionASL visibleScoretable visibleWatch waves waypointAttachedObject ' + 23197 'waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour ' + 23198 'waypointCombatMode waypointCompletionRadius waypointDescription waypointForceBehaviour ' + 23199 'waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName ' + 23200 'waypointPosition waypoints waypointScript waypointsEnabledUAV waypointShow waypointSpeed ' + 23201 'waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible ' + 23202 'weaponAccessories weaponAccessoriesCargo weaponCargo weaponDirection weaponInertia weaponLowered ' + 23203 'weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD WFSideText wind ', 23204 literal: 23205 'blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak ' + 23206 'locationNull nil objNull opfor pi resistance scriptNull sideAmbientLife sideEmpty sideLogic ' + 23207 'sideUnknown taskNull teamMemberNull true west', 23208 }, 23209 contains: [ 23210 hljs.C_LINE_COMMENT_MODE, 23211 hljs.C_BLOCK_COMMENT_MODE, 23212 hljs.NUMBER_MODE, 23213 VARIABLE, 23214 FUNCTION, 23215 STRINGS, 23216 CPP.preprocessor 23217 ], 23218 illegal: /#|^\$ / 23219 }; 23220 } 23221 },{name:"sql",create:/* 23222 Language: SQL 23223 Contributors: Nikolay Lisienko <info@neor.ru>, Heiko August <post@auge8472.de>, Travis Odom <travis.a.odom@gmail.com>, Vadimtro <vadimtro@yahoo.com>, Benjamin Auder <benjamin.auder@gmail.com> 23224 Category: common 23225 */ 23226 23227 function(hljs) { 23228 var COMMENT_MODE = hljs.COMMENT('--', '$'); 23229 return { 23230 case_insensitive: true, 23231 illegal: /[<>{}*]/, 23232 contains: [ 23233 { 23234 beginKeywords: 23235 'begin end start commit rollback savepoint lock alter create drop rename call ' + 23236 'delete do handler insert load replace select truncate update set show pragma grant ' + 23237 'merge describe use explain help declare prepare execute deallocate release ' + 23238 'unlock purge reset change stop analyze cache flush optimize repair kill ' + 23239 'install uninstall checksum restore check backup revoke comment values with', 23240 end: /;/, endsWithParent: true, 23241 lexemes: /[\w\.]+/, 23242 keywords: { 23243 keyword: 23244 'as abort abs absolute acc acce accep accept access accessed accessible account acos action activate add ' + 23245 'addtime admin administer advanced advise aes_decrypt aes_encrypt after agent aggregate ali alia alias ' + 23246 'all allocate allow alter always analyze ancillary and anti any anydata anydataset anyschema anytype apply ' + 23247 'archive archived archivelog are as asc ascii asin assembly assertion associate asynchronous at atan ' + 23248 'atn2 attr attri attrib attribu attribut attribute attributes audit authenticated authentication authid ' + 23249 'authors auto autoallocate autodblink autoextend automatic availability avg backup badfile basicfile ' + 23250 'before begin beginning benchmark between bfile bfile_base big bigfile bin binary_double binary_float ' + 23251 'binlog bit_and bit_count bit_length bit_or bit_xor bitmap blob_base block blocksize body both bound ' + 23252 'bucket buffer_cache buffer_pool build bulk by byte byteordermark bytes cache caching call calling cancel ' + 23253 'capacity cascade cascaded case cast catalog category ceil ceiling chain change changed char_base ' + 23254 'char_length character_length characters characterset charindex charset charsetform charsetid check ' + 23255 'checksum checksum_agg child choose chr chunk class cleanup clear client clob clob_base clone close ' + 23256 'cluster_id cluster_probability cluster_set clustering coalesce coercibility col collate collation ' + 23257 'collect colu colum column column_value columns columns_updated comment commit compact compatibility ' + 23258 'compiled complete composite_limit compound compress compute concat concat_ws concurrent confirm conn ' + 23259 'connec connect connect_by_iscycle connect_by_isleaf connect_by_root connect_time connection ' + 23260 'consider consistent constant constraint constraints constructor container content contents context ' + 23261 'contributors controlfile conv convert convert_tz corr corr_k corr_s corresponding corruption cos cost ' + 23262 'count count_big counted covar_pop covar_samp cpu_per_call cpu_per_session crc32 create creation ' + 23263 'critical cross cube cume_dist curdate current current_date current_time current_timestamp current_user ' + 23264 'cursor curtime customdatum cycle data database databases datafile datafiles datalength date_add ' + 23265 'date_cache date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts ' + 23266 'day day_to_second dayname dayofmonth dayofweek dayofyear days db_role_change dbtimezone ddl deallocate ' + 23267 'declare decode decompose decrement decrypt deduplicate def defa defau defaul default defaults ' + 23268 'deferred defi defin define degrees delayed delegate delete delete_all delimited demand dense_rank ' + 23269 'depth dequeue des_decrypt des_encrypt des_key_file desc descr descri describ describe descriptor ' + 23270 'deterministic diagnostics difference dimension direct_load directory disable disable_all ' + 23271 'disallow disassociate discardfile disconnect diskgroup distinct distinctrow distribute distributed div ' + 23272 'do document domain dotnet double downgrade drop dumpfile duplicate duration each edition editionable ' + 23273 'editions element ellipsis else elsif elt empty enable enable_all enclosed encode encoding encrypt ' + 23274 'end end-exec endian enforced engine engines enqueue enterprise entityescaping eomonth error errors ' + 23275 'escaped evalname evaluate event eventdata events except exception exceptions exchange exclude excluding ' + 23276 'execu execut execute exempt exists exit exp expire explain explode export export_set extended extent external ' + 23277 'external_1 external_2 externally extract failed failed_login_attempts failover failure far fast ' + 23278 'feature_set feature_value fetch field fields file file_name_convert filesystem_like_logging final ' + 23279 'finish first first_value fixed flash_cache flashback floor flush following follows for forall force foreign ' + 23280 'form forma format found found_rows freelist freelists freepools fresh from from_base64 from_days ' + 23281 'ftp full function general generated get get_format get_lock getdate getutcdate global global_name ' + 23282 'globally go goto grant grants greatest group group_concat group_id grouping grouping_id groups ' + 23283 'gtid_subtract guarantee guard handler hash hashkeys having hea head headi headin heading heap help hex ' + 23284 'hierarchy high high_priority hosts hour hours http id ident_current ident_incr ident_seed identified ' + 23285 'identity idle_time if ifnull ignore iif ilike ilm immediate import in include including increment ' + 23286 'index indexes indexing indextype indicator indices inet6_aton inet6_ntoa inet_aton inet_ntoa infile ' + 23287 'initial initialized initially initrans inmemory inner innodb input insert install instance instantiable ' + 23288 'instr interface interleaved intersect into invalidate invisible is is_free_lock is_ipv4 is_ipv4_compat ' + 23289 'is_not is_not_null is_used_lock isdate isnull isolation iterate java join json json_exists ' + 23290 'keep keep_duplicates key keys kill language large last last_day last_insert_id last_value lateral lax lcase ' + 23291 'lead leading least leaves left len lenght length less level levels library like like2 like4 likec limit ' + 23292 'lines link list listagg little ln load load_file lob lobs local localtime localtimestamp locate ' + 23293 'locator lock locked log log10 log2 logfile logfiles logging logical logical_reads_per_call ' + 23294 'logoff logon logs long loop low low_priority lower lpad lrtrim ltrim main make_set makedate maketime ' + 23295 'managed management manual map mapping mask master master_pos_wait match matched materialized max ' + 23296 'maxextents maximize maxinstances maxlen maxlogfiles maxloghistory maxlogmembers maxsize maxtrans ' + 23297 'md5 measures median medium member memcompress memory merge microsecond mid migration min minextents ' + 23298 'minimum mining minus minute minutes minvalue missing mod mode model modification modify module monitoring month ' + 23299 'months mount move movement multiset mutex name name_const names nan national native natural nav nchar ' + 23300 'nclob nested never new newline next nextval no no_write_to_binlog noarchivelog noaudit nobadfile ' + 23301 'nocheck nocompress nocopy nocycle nodelay nodiscardfile noentityescaping noguarantee nokeep nologfile ' + 23302 'nomapping nomaxvalue nominimize nominvalue nomonitoring none noneditionable nonschema noorder ' + 23303 'nopr nopro noprom nopromp noprompt norely noresetlogs noreverse normal norowdependencies noschemacheck ' + 23304 'noswitch not nothing notice notnull notrim novalidate now nowait nth_value nullif nulls num numb numbe ' + 23305 'nvarchar nvarchar2 object ocicoll ocidate ocidatetime ociduration ociinterval ociloblocator ocinumber ' + 23306 'ociref ocirefcursor ocirowid ocistring ocitype oct octet_length of off offline offset oid oidindex old ' + 23307 'on online only opaque open operations operator optimal optimize option optionally or oracle oracle_date ' + 23308 'oradata ord ordaudio orddicom orddoc order ordimage ordinality ordvideo organization orlany orlvary ' + 23309 'out outer outfile outline output over overflow overriding package pad parallel parallel_enable ' + 23310 'parameters parent parse partial partition partitions pascal passing password password_grace_time ' + 23311 'password_lock_time password_reuse_max password_reuse_time password_verify_function patch path patindex ' + 23312 'pctincrease pctthreshold pctused pctversion percent percent_rank percentile_cont percentile_disc ' + 23313 'performance period period_add period_diff permanent physical pi pipe pipelined pivot pluggable plugin ' + 23314 'policy position post_transaction pow power pragma prebuilt precedes preceding precision prediction ' + 23315 'prediction_cost prediction_details prediction_probability prediction_set prepare present preserve ' + 23316 'prior priority private private_sga privileges procedural procedure procedure_analyze processlist ' + 23317 'profiles project prompt protection public publishingservername purge quarter query quick quiesce quota ' + 23318 'quotename radians raise rand range rank raw read reads readsize rebuild record records ' + 23319 'recover recovery recursive recycle redo reduced ref reference referenced references referencing refresh ' + 23320 'regexp_like register regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy ' + 23321 'reject rekey relational relative relaylog release release_lock relies_on relocate rely rem remainder rename ' + 23322 'repair repeat replace replicate replication required reset resetlogs resize resource respect restore ' + 23323 'restricted result result_cache resumable resume retention return returning returns reuse reverse revoke ' + 23324 'right rlike role roles rollback rolling rollup round row row_count rowdependencies rowid rownum rows ' + 23325 'rtrim rules safe salt sample save savepoint sb1 sb2 sb4 scan schema schemacheck scn scope scroll ' + 23326 'sdo_georaster sdo_topo_geometry search sec_to_time second seconds section securefile security seed segment select ' + 23327 'self semi sequence sequential serializable server servererror session session_user sessions_per_user set ' + 23328 'sets settings sha sha1 sha2 share shared shared_pool short show shrink shutdown si_averagecolor ' + 23329 'si_colorhistogram si_featurelist si_positionalcolor si_stillimage si_texture siblings sid sign sin ' + 23330 'size size_t sizes skip slave sleep smalldatetimefromparts smallfile snapshot some soname sort soundex ' + 23331 'source space sparse spfile split sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows ' + 23332 'sql_small_result sql_variant_property sqlcode sqldata sqlerror sqlname sqlstate sqrt square standalone ' + 23333 'standby start starting startup statement static statistics stats_binomial_test stats_crosstab ' + 23334 'stats_ks_test stats_mode stats_mw_test stats_one_way_anova stats_t_test_ stats_t_test_indep ' + 23335 'stats_t_test_one stats_t_test_paired stats_wsr_test status std stddev stddev_pop stddev_samp stdev ' + 23336 'stop storage store stored str str_to_date straight_join strcmp strict string struct stuff style subdate ' + 23337 'subpartition subpartitions substitutable substr substring subtime subtring_index subtype success sum ' + 23338 'suspend switch switchoffset switchover sync synchronous synonym sys sys_xmlagg sysasm sysaux sysdate ' + 23339 'sysdatetimeoffset sysdba sysoper system system_user sysutcdatetime table tables tablespace tablesample tan tdo ' + 23340 'template temporary terminated tertiary_weights test than then thread through tier ties time time_format ' + 23341 'time_zone timediff timefromparts timeout timestamp timestampadd timestampdiff timezone_abbr ' + 23342 'timezone_minute timezone_region to to_base64 to_date to_days to_seconds todatetimeoffset trace tracking ' + 23343 'transaction transactional translate translation treat trigger trigger_nestlevel triggers trim truncate ' + 23344 'try_cast try_convert try_parse type ub1 ub2 ub4 ucase unarchived unbounded uncompress ' + 23345 'under undo unhex unicode uniform uninstall union unique unix_timestamp unknown unlimited unlock unnest unpivot ' + 23346 'unrecoverable unsafe unsigned until untrusted unusable unused update updated upgrade upped upper upsert ' + 23347 'url urowid usable usage use use_stored_outlines user user_data user_resources users using utc_date ' + 23348 'utc_timestamp uuid uuid_short validate validate_password_strength validation valist value values var ' + 23349 'var_samp varcharc vari varia variab variabl variable variables variance varp varraw varrawc varray ' + 23350 'verify version versions view virtual visible void wait wallet warning warnings week weekday weekofyear ' + 23351 'wellformed when whene whenev wheneve whenever where while whitespace window with within without work wrapped ' + 23352 'xdb xml xmlagg xmlattributes xmlcast xmlcolattval xmlelement xmlexists xmlforest xmlindex xmlnamespaces ' + 23353 'xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltype xor year year_to_month years yearweek', 23354 literal: 23355 'true false null unknown', 23356 built_in: 23357 'array bigint binary bit blob bool boolean char character date dec decimal float int int8 integer interval number ' + 23358 'numeric real record serial serial8 smallint text time timestamp tinyint varchar varying void' 23359 }, 23360 contains: [ 23361 { 23362 className: 'string', 23363 begin: '\'', end: '\'', 23364 contains: [hljs.BACKSLASH_ESCAPE, {begin: '\'\''}] 23365 }, 23366 { 23367 className: 'string', 23368 begin: '"', end: '"', 23369 contains: [hljs.BACKSLASH_ESCAPE, {begin: '""'}] 23370 }, 23371 { 23372 className: 'string', 23373 begin: '`', end: '`', 23374 contains: [hljs.BACKSLASH_ESCAPE] 23375 }, 23376 hljs.C_NUMBER_MODE, 23377 hljs.C_BLOCK_COMMENT_MODE, 23378 COMMENT_MODE, 23379 hljs.HASH_COMMENT_MODE 23380 ] 23381 }, 23382 hljs.C_BLOCK_COMMENT_MODE, 23383 COMMENT_MODE, 23384 hljs.HASH_COMMENT_MODE 23385 ] 23386 }; 23387 } 23388 },{name:"stan",create:/* 23389 Language: Stan 23390 Author: Brendan Rocks <rocks.brendan@gmail.com> 23391 Category: scientific 23392 Description: The Stan probabilistic programming language (http://mc-stan.org/). 23393 */ 23394 23395 function(hljs) { 23396 return { 23397 contains: [ 23398 hljs.HASH_COMMENT_MODE, 23399 hljs.C_LINE_COMMENT_MODE, 23400 hljs.C_BLOCK_COMMENT_MODE, 23401 { 23402 begin: hljs.UNDERSCORE_IDENT_RE, 23403 lexemes: hljs.UNDERSCORE_IDENT_RE, 23404 keywords: { 23405 // Stan's keywords 23406 name: 23407 'for in while repeat until if then else', 23408 // Stan's probablity distributions (less beta and gamma, as commonly 23409 // used for parameter names). So far, _log and _rng variants are not 23410 // included 23411 symbol: 23412 'bernoulli bernoulli_logit binomial binomial_logit ' + 23413 'beta_binomial hypergeometric categorical categorical_logit ' + 23414 'ordered_logistic neg_binomial neg_binomial_2 ' + 23415 'neg_binomial_2_log poisson poisson_log multinomial normal ' + 23416 'exp_mod_normal skew_normal student_t cauchy double_exponential ' + 23417 'logistic gumbel lognormal chi_square inv_chi_square ' + 23418 'scaled_inv_chi_square exponential inv_gamma weibull frechet ' + 23419 'rayleigh wiener pareto pareto_type_2 von_mises uniform ' + 23420 'multi_normal multi_normal_prec multi_normal_cholesky multi_gp ' + 23421 'multi_gp_cholesky multi_student_t gaussian_dlm_obs dirichlet ' + 23422 'lkj_corr lkj_corr_cholesky wishart inv_wishart', 23423 // Stan's data types 23424 'selector-tag': 23425 'int real vector simplex unit_vector ordered positive_ordered ' + 23426 'row_vector matrix cholesky_factor_corr cholesky_factor_cov ' + 23427 'corr_matrix cov_matrix', 23428 // Stan's model blocks 23429 title: 23430 'functions model data parameters quantities transformed ' + 23431 'generated', 23432 literal: 23433 'true false' 23434 }, 23435 relevance: 0 23436 }, 23437 // The below is all taken from the R language definition 23438 { 23439 // hex value 23440 className: 'number', 23441 begin: "0[xX][0-9a-fA-F]+[Li]?\\b", 23442 relevance: 0 23443 }, 23444 { 23445 // hex value 23446 className: 'number', 23447 begin: "0[xX][0-9a-fA-F]+[Li]?\\b", 23448 relevance: 0 23449 }, 23450 { 23451 // explicit integer 23452 className: 'number', 23453 begin: "\\d+(?:[eE][+\\-]?\\d*)?L\\b", 23454 relevance: 0 23455 }, 23456 { 23457 // number with trailing decimal 23458 className: 'number', 23459 begin: "\\d+\\.(?!\\d)(?:i\\b)?", 23460 relevance: 0 23461 }, 23462 { 23463 // number 23464 className: 'number', 23465 begin: "\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b", 23466 relevance: 0 23467 }, 23468 { 23469 // number with leading decimal 23470 className: 'number', 23471 begin: "\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b", 23472 relevance: 0 23473 } 23474 ] 23475 }; 23476 } 23477 },{name:"stata",create:/* 23478 Language: Stata 23479 Author: Brian Quistorff <bquistorff@gmail.com> 23480 Contributors: Drew McDonald <drewmcdo@gmail.com> 23481 Description: Syntax highlighting for Stata code. This is a fork and modification of Drew McDonald's file (https://github.com/drewmcdonald/stata-highlighting). I have also included a list of builtin commands from https://bugs.kde.org/show_bug.cgi?id=135646. 23482 Category: scientific 23483 */ 23484 23485 function(hljs) { 23486 return { 23487 aliases: ['do', 'ado'], 23488 case_insensitive: true, 23489 keywords: 'if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey bias binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 bubble bubbleplot ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d|0 datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e|0 ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error esize est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 forest forestplot form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate funnel funnelplot g|0 gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h|0 hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l|0 la lab labbe labbeplot labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m|0 ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize menl meqparse mer merg merge meta mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n|0 nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trimfill trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u|0 unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5', 23490 contains: [ 23491 { 23492 className: 'symbol', 23493 begin: /`[a-zA-Z0-9_]+'/ 23494 }, 23495 { 23496 className: 'variable', 23497 begin: /\$\{?[a-zA-Z0-9_]+\}?/ 23498 }, 23499 { 23500 className: 'string', 23501 variants: [ 23502 {begin: '`"[^\r\n]*?"\''}, 23503 {begin: '"[^\r\n"]*"'} 23504 ] 23505 }, 23506 23507 { 23508 className: 'built_in', 23509 variants: [ 23510 { 23511 begin: '\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)' 23512 } 23513 ] 23514 }, 23515 23516 hljs.COMMENT('^[ \t]*\\*.*$', false), 23517 hljs.C_LINE_COMMENT_MODE, 23518 hljs.C_BLOCK_COMMENT_MODE 23519 ] 23520 }; 23521 } 23522 },{name:"step21",create:/* 23523 Language: STEP Part 21 23524 Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com> 23525 Description: Syntax highlighter for STEP Part 21 files (ISO 10303-21). 23526 */ 23527 23528 function(hljs) { 23529 var STEP21_IDENT_RE = '[A-Z_][A-Z0-9_.]*'; 23530 var STEP21_KEYWORDS = { 23531 keyword: 'HEADER ENDSEC DATA' 23532 }; 23533 var STEP21_START = { 23534 className: 'meta', 23535 begin: 'ISO-10303-21;', 23536 relevance: 10 23537 }; 23538 var STEP21_CLOSE = { 23539 className: 'meta', 23540 begin: 'END-ISO-10303-21;', 23541 relevance: 10 23542 }; 23543 23544 return { 23545 aliases: ['p21', 'step', 'stp'], 23546 case_insensitive: true, // STEP 21 is case insensitive in theory, in practice all non-comments are capitalized. 23547 lexemes: STEP21_IDENT_RE, 23548 keywords: STEP21_KEYWORDS, 23549 contains: [ 23550 STEP21_START, 23551 STEP21_CLOSE, 23552 hljs.C_LINE_COMMENT_MODE, 23553 hljs.C_BLOCK_COMMENT_MODE, 23554 hljs.COMMENT('/\\*\\*!', '\\*/'), 23555 hljs.C_NUMBER_MODE, 23556 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}), 23557 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}), 23558 { 23559 className: 'string', 23560 begin: "'", end: "'" 23561 }, 23562 { 23563 className: 'symbol', 23564 variants: [ 23565 { 23566 begin: '#', end: '\\d+', 23567 illegal: '\\W' 23568 } 23569 ] 23570 } 23571 ] 23572 }; 23573 } 23574 },{name:"stylus",create:/* 23575 Language: Stylus 23576 Author: Bryant Williams <b.n.williams@gmail.com> 23577 Description: Stylus (https://github.com/LearnBoost/stylus/) 23578 Category: css 23579 */ 23580 23581 function(hljs) { 23582 23583 var VARIABLE = { 23584 className: 'variable', 23585 begin: '\\$' + hljs.IDENT_RE 23586 }; 23587 23588 var HEX_COLOR = { 23589 className: 'number', 23590 begin: '#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})' 23591 }; 23592 23593 var AT_KEYWORDS = [ 23594 'charset', 23595 'css', 23596 'debug', 23597 'extend', 23598 'font-face', 23599 'for', 23600 'import', 23601 'include', 23602 'media', 23603 'mixin', 23604 'page', 23605 'warn', 23606 'while' 23607 ]; 23608 23609 var PSEUDO_SELECTORS = [ 23610 'after', 23611 'before', 23612 'first-letter', 23613 'first-line', 23614 'active', 23615 'first-child', 23616 'focus', 23617 'hover', 23618 'lang', 23619 'link', 23620 'visited' 23621 ]; 23622 23623 var TAGS = [ 23624 'a', 23625 'abbr', 23626 'address', 23627 'article', 23628 'aside', 23629 'audio', 23630 'b', 23631 'blockquote', 23632 'body', 23633 'button', 23634 'canvas', 23635 'caption', 23636 'cite', 23637 'code', 23638 'dd', 23639 'del', 23640 'details', 23641 'dfn', 23642 'div', 23643 'dl', 23644 'dt', 23645 'em', 23646 'fieldset', 23647 'figcaption', 23648 'figure', 23649 'footer', 23650 'form', 23651 'h1', 23652 'h2', 23653 'h3', 23654 'h4', 23655 'h5', 23656 'h6', 23657 'header', 23658 'hgroup', 23659 'html', 23660 'i', 23661 'iframe', 23662 'img', 23663 'input', 23664 'ins', 23665 'kbd', 23666 'label', 23667 'legend', 23668 'li', 23669 'mark', 23670 'menu', 23671 'nav', 23672 'object', 23673 'ol', 23674 'p', 23675 'q', 23676 'quote', 23677 'samp', 23678 'section', 23679 'span', 23680 'strong', 23681 'summary', 23682 'sup', 23683 'table', 23684 'tbody', 23685 'td', 23686 'textarea', 23687 'tfoot', 23688 'th', 23689 'thead', 23690 'time', 23691 'tr', 23692 'ul', 23693 'var', 23694 'video' 23695 ]; 23696 23697 var TAG_END = '[\\.\\s\\n\\[\\:,]'; 23698 23699 var ATTRIBUTES = [ 23700 'align-content', 23701 'align-items', 23702 'align-self', 23703 'animation', 23704 'animation-delay', 23705 'animation-direction', 23706 'animation-duration', 23707 'animation-fill-mode', 23708 'animation-iteration-count', 23709 'animation-name', 23710 'animation-play-state', 23711 'animation-timing-function', 23712 'auto', 23713 'backface-visibility', 23714 'background', 23715 'background-attachment', 23716 'background-clip', 23717 'background-color', 23718 'background-image', 23719 'background-origin', 23720 'background-position', 23721 'background-repeat', 23722 'background-size', 23723 'border', 23724 'border-bottom', 23725 'border-bottom-color', 23726 'border-bottom-left-radius', 23727 'border-bottom-right-radius', 23728 'border-bottom-style', 23729 'border-bottom-width', 23730 'border-collapse', 23731 'border-color', 23732 'border-image', 23733 'border-image-outset', 23734 'border-image-repeat', 23735 'border-image-slice', 23736 'border-image-source', 23737 'border-image-width', 23738 'border-left', 23739 'border-left-color', 23740 'border-left-style', 23741 'border-left-width', 23742 'border-radius', 23743 'border-right', 23744 'border-right-color', 23745 'border-right-style', 23746 'border-right-width', 23747 'border-spacing', 23748 'border-style', 23749 'border-top', 23750 'border-top-color', 23751 'border-top-left-radius', 23752 'border-top-right-radius', 23753 'border-top-style', 23754 'border-top-width', 23755 'border-width', 23756 'bottom', 23757 'box-decoration-break', 23758 'box-shadow', 23759 'box-sizing', 23760 'break-after', 23761 'break-before', 23762 'break-inside', 23763 'caption-side', 23764 'clear', 23765 'clip', 23766 'clip-path', 23767 'color', 23768 'column-count', 23769 'column-fill', 23770 'column-gap', 23771 'column-rule', 23772 'column-rule-color', 23773 'column-rule-style', 23774 'column-rule-width', 23775 'column-span', 23776 'column-width', 23777 'columns', 23778 'content', 23779 'counter-increment', 23780 'counter-reset', 23781 'cursor', 23782 'direction', 23783 'display', 23784 'empty-cells', 23785 'filter', 23786 'flex', 23787 'flex-basis', 23788 'flex-direction', 23789 'flex-flow', 23790 'flex-grow', 23791 'flex-shrink', 23792 'flex-wrap', 23793 'float', 23794 'font', 23795 'font-family', 23796 'font-feature-settings', 23797 'font-kerning', 23798 'font-language-override', 23799 'font-size', 23800 'font-size-adjust', 23801 'font-stretch', 23802 'font-style', 23803 'font-variant', 23804 'font-variant-ligatures', 23805 'font-weight', 23806 'height', 23807 'hyphens', 23808 'icon', 23809 'image-orientation', 23810 'image-rendering', 23811 'image-resolution', 23812 'ime-mode', 23813 'inherit', 23814 'initial', 23815 'justify-content', 23816 'left', 23817 'letter-spacing', 23818 'line-height', 23819 'list-style', 23820 'list-style-image', 23821 'list-style-position', 23822 'list-style-type', 23823 'margin', 23824 'margin-bottom', 23825 'margin-left', 23826 'margin-right', 23827 'margin-top', 23828 'marks', 23829 'mask', 23830 'max-height', 23831 'max-width', 23832 'min-height', 23833 'min-width', 23834 'nav-down', 23835 'nav-index', 23836 'nav-left', 23837 'nav-right', 23838 'nav-up', 23839 'none', 23840 'normal', 23841 'object-fit', 23842 'object-position', 23843 'opacity', 23844 'order', 23845 'orphans', 23846 'outline', 23847 'outline-color', 23848 'outline-offset', 23849 'outline-style', 23850 'outline-width', 23851 'overflow', 23852 'overflow-wrap', 23853 'overflow-x', 23854 'overflow-y', 23855 'padding', 23856 'padding-bottom', 23857 'padding-left', 23858 'padding-right', 23859 'padding-top', 23860 'page-break-after', 23861 'page-break-before', 23862 'page-break-inside', 23863 'perspective', 23864 'perspective-origin', 23865 'pointer-events', 23866 'position', 23867 'quotes', 23868 'resize', 23869 'right', 23870 'tab-size', 23871 'table-layout', 23872 'text-align', 23873 'text-align-last', 23874 'text-decoration', 23875 'text-decoration-color', 23876 'text-decoration-line', 23877 'text-decoration-style', 23878 'text-indent', 23879 'text-overflow', 23880 'text-rendering', 23881 'text-shadow', 23882 'text-transform', 23883 'text-underline-position', 23884 'top', 23885 'transform', 23886 'transform-origin', 23887 'transform-style', 23888 'transition', 23889 'transition-delay', 23890 'transition-duration', 23891 'transition-property', 23892 'transition-timing-function', 23893 'unicode-bidi', 23894 'vertical-align', 23895 'visibility', 23896 'white-space', 23897 'widows', 23898 'width', 23899 'word-break', 23900 'word-spacing', 23901 'word-wrap', 23902 'z-index' 23903 ]; 23904 23905 // illegals 23906 var ILLEGAL = [ 23907 '\\?', 23908 '(\\bReturn\\b)', // monkey 23909 '(\\bEnd\\b)', // monkey 23910 '(\\bend\\b)', // vbscript 23911 '(\\bdef\\b)', // gradle 23912 ';', // a whole lot of languages 23913 '#\\s', // markdown 23914 '\\*\\s', // markdown 23915 '===\\s', // markdown 23916 '\\|', 23917 '%', // prolog 23918 ]; 23919 23920 return { 23921 aliases: ['styl'], 23922 case_insensitive: false, 23923 keywords: 'if else for in', 23924 illegal: '(' + ILLEGAL.join('|') + ')', 23925 contains: [ 23926 23927 // strings 23928 hljs.QUOTE_STRING_MODE, 23929 hljs.APOS_STRING_MODE, 23930 23931 // comments 23932 hljs.C_LINE_COMMENT_MODE, 23933 hljs.C_BLOCK_COMMENT_MODE, 23934 23935 // hex colors 23936 HEX_COLOR, 23937 23938 // class tag 23939 { 23940 begin: '\\.[a-zA-Z][a-zA-Z0-9_-]*' + TAG_END, 23941 returnBegin: true, 23942 contains: [ 23943 {className: 'selector-class', begin: '\\.[a-zA-Z][a-zA-Z0-9_-]*'} 23944 ] 23945 }, 23946 23947 // id tag 23948 { 23949 begin: '\\#[a-zA-Z][a-zA-Z0-9_-]*' + TAG_END, 23950 returnBegin: true, 23951 contains: [ 23952 {className: 'selector-id', begin: '\\#[a-zA-Z][a-zA-Z0-9_-]*'} 23953 ] 23954 }, 23955 23956 // tags 23957 { 23958 begin: '\\b(' + TAGS.join('|') + ')' + TAG_END, 23959 returnBegin: true, 23960 contains: [ 23961 {className: 'selector-tag', begin: '\\b[a-zA-Z][a-zA-Z0-9_-]*'} 23962 ] 23963 }, 23964 23965 // psuedo selectors 23966 { 23967 begin: '&?:?:\\b(' + PSEUDO_SELECTORS.join('|') + ')' + TAG_END 23968 }, 23969 23970 // @ keywords 23971 { 23972 begin: '\@(' + AT_KEYWORDS.join('|') + ')\\b' 23973 }, 23974 23975 // variables 23976 VARIABLE, 23977 23978 // dimension 23979 hljs.CSS_NUMBER_MODE, 23980 23981 // number 23982 hljs.NUMBER_MODE, 23983 23984 // functions 23985 // - only from beginning of line + whitespace 23986 { 23987 className: 'function', 23988 begin: '^[a-zA-Z][a-zA-Z0-9_\-]*\\(.*\\)', 23989 illegal: '[\\n]', 23990 returnBegin: true, 23991 contains: [ 23992 {className: 'title', begin: '\\b[a-zA-Z][a-zA-Z0-9_\-]*'}, 23993 { 23994 className: 'params', 23995 begin: /\(/, 23996 end: /\)/, 23997 contains: [ 23998 HEX_COLOR, 23999 VARIABLE, 24000 hljs.APOS_STRING_MODE, 24001 hljs.CSS_NUMBER_MODE, 24002 hljs.NUMBER_MODE, 24003 hljs.QUOTE_STRING_MODE 24004 ] 24005 } 24006 ] 24007 }, 24008 24009 // attributes 24010 // - only from beginning of line + whitespace 24011 // - must have whitespace after it 24012 { 24013 className: 'attribute', 24014 begin: '\\b(' + ATTRIBUTES.reverse().join('|') + ')\\b', 24015 starts: { 24016 // value container 24017 end: /;|$/, 24018 contains: [ 24019 HEX_COLOR, 24020 VARIABLE, 24021 hljs.APOS_STRING_MODE, 24022 hljs.QUOTE_STRING_MODE, 24023 hljs.CSS_NUMBER_MODE, 24024 hljs.NUMBER_MODE, 24025 hljs.C_BLOCK_COMMENT_MODE 24026 ], 24027 illegal: /\./, 24028 relevance: 0 24029 } 24030 } 24031 ] 24032 }; 24033 } 24034 },{name:"subunit",create:/* 24035 Language: SubUnit 24036 Author: Sergey Bronnikov <sergeyb@bronevichok.ru> 24037 Website: https://bronevichok.ru/ 24038 */ 24039 24040 function(hljs) { 24041 var DETAILS = { 24042 className: 'string', 24043 begin: '\\[\n(multipart)?', end: '\\]\n' 24044 }; 24045 var TIME = { 24046 className: 'string', 24047 begin: '\\d{4}-\\d{2}-\\d{2}(\\s+)\\d{2}:\\d{2}:\\d{2}\.\\d+Z' 24048 }; 24049 var PROGRESSVALUE = { 24050 className: 'string', 24051 begin: '(\\+|-)\\d+' 24052 }; 24053 var KEYWORDS = { 24054 className: 'keyword', 24055 relevance: 10, 24056 variants: [ 24057 { begin: '^(test|testing|success|successful|failure|error|skip|xfail|uxsuccess)(:?)\\s+(test)?' }, 24058 { begin: '^progress(:?)(\\s+)?(pop|push)?' }, 24059 { begin: '^tags:' }, 24060 { begin: '^time:' } 24061 ], 24062 }; 24063 return { 24064 case_insensitive: true, 24065 contains: [ 24066 DETAILS, 24067 TIME, 24068 PROGRESSVALUE, 24069 KEYWORDS 24070 ] 24071 }; 24072 } 24073 },{name:"swift",create:/* 24074 Language: Swift 24075 Author: Chris Eidhof <chris@eidhof.nl> 24076 Contributors: Nate Cook <natecook@gmail.com>, Alexander Lichter <manniL@gmx.net> 24077 Category: system 24078 */ 24079 24080 24081 function(hljs) { 24082 var SWIFT_KEYWORDS = { 24083 keyword: '#available #colorLiteral #column #else #elseif #endif #file ' + 24084 '#fileLiteral #function #if #imageLiteral #line #selector #sourceLocation ' + 24085 '_ __COLUMN__ __FILE__ __FUNCTION__ __LINE__ Any as as! as? associatedtype ' + 24086 'associativity break case catch class continue convenience default defer deinit didSet do ' + 24087 'dynamic dynamicType else enum extension fallthrough false fileprivate final for func ' + 24088 'get guard if import in indirect infix init inout internal is lazy left let ' + 24089 'mutating nil none nonmutating open operator optional override postfix precedence ' + 24090 'prefix private protocol Protocol public repeat required rethrows return ' + 24091 'right self Self set static struct subscript super switch throw throws true ' + 24092 'try try! try? Type typealias unowned var weak where while willSet', 24093 literal: 'true false nil', 24094 built_in: 'abs advance alignof alignofValue anyGenerator assert assertionFailure ' + 24095 'bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC ' + 24096 'bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros ' + 24097 'debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords ' + 24098 'enumerate equal fatalError filter find getBridgedObjectiveCType getVaList ' + 24099 'indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC ' + 24100 'isUniquelyReferenced isUniquelyReferencedNonObjC join lazy lexicographicalCompare ' + 24101 'map max maxElement min minElement numericCast overlaps partition posix ' + 24102 'precondition preconditionFailure print println quickSort readLine reduce reflect ' + 24103 'reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split ' + 24104 'startsWith stride strideof strideofValue swap toString transcode ' + 24105 'underestimateCount unsafeAddressOf unsafeBitCast unsafeDowncast unsafeUnwrap ' + 24106 'unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer ' + 24107 'withUnsafePointerToObject withUnsafeMutablePointer withUnsafeMutablePointers ' + 24108 'withUnsafePointer withUnsafePointers withVaList zip' 24109 }; 24110 24111 var TYPE = { 24112 className: 'type', 24113 begin: '\\b[A-Z][\\w\u00C0-\u02B8\']*', 24114 relevance: 0 24115 }; 24116 // slightly more special to swift 24117 var OPTIONAL_USING_TYPE = { 24118 className: 'type', 24119 begin: '\\b[A-Z][\\w\u00C0-\u02B8\']*[!?]' 24120 } 24121 var BLOCK_COMMENT = hljs.COMMENT( 24122 '/\\*', 24123 '\\*/', 24124 { 24125 contains: ['self'] 24126 } 24127 ); 24128 var SUBST = { 24129 className: 'subst', 24130 begin: /\\\(/, end: '\\)', 24131 keywords: SWIFT_KEYWORDS, 24132 contains: [] // assigned later 24133 }; 24134 var STRING = { 24135 className: 'string', 24136 contains: [hljs.BACKSLASH_ESCAPE, SUBST], 24137 variants: [ 24138 {begin: /"""/, end: /"""/}, 24139 {begin: /"/, end: /"/}, 24140 ] 24141 }; 24142 var NUMBERS = { 24143 className: 'number', 24144 begin: '\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b', 24145 relevance: 0 24146 }; 24147 SUBST.contains = [NUMBERS]; 24148 24149 return { 24150 keywords: SWIFT_KEYWORDS, 24151 contains: [ 24152 STRING, 24153 hljs.C_LINE_COMMENT_MODE, 24154 BLOCK_COMMENT, 24155 OPTIONAL_USING_TYPE, 24156 TYPE, 24157 NUMBERS, 24158 { 24159 className: 'function', 24160 beginKeywords: 'func', end: '{', excludeEnd: true, 24161 contains: [ 24162 hljs.inherit(hljs.TITLE_MODE, { 24163 begin: /[A-Za-z$_][0-9A-Za-z$_]*/ 24164 }), 24165 { 24166 begin: /</, end: />/ 24167 }, 24168 { 24169 className: 'params', 24170 begin: /\(/, end: /\)/, endsParent: true, 24171 keywords: SWIFT_KEYWORDS, 24172 contains: [ 24173 'self', 24174 NUMBERS, 24175 STRING, 24176 hljs.C_BLOCK_COMMENT_MODE, 24177 {begin: ':'} // relevance booster 24178 ], 24179 illegal: /["']/ 24180 } 24181 ], 24182 illegal: /\[|%/ 24183 }, 24184 { 24185 className: 'class', 24186 beginKeywords: 'struct protocol class extension enum', 24187 keywords: SWIFT_KEYWORDS, 24188 end: '\\{', 24189 excludeEnd: true, 24190 contains: [ 24191 hljs.inherit(hljs.TITLE_MODE, {begin: /[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}) 24192 ] 24193 }, 24194 { 24195 className: 'meta', // @attributes 24196 begin: '(@discardableResult|@warn_unused_result|@exported|@lazy|@noescape|' + 24197 '@NSCopying|@NSManaged|@objc|@objcMembers|@convention|@required|' + 24198 '@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|' + 24199 '@infix|@prefix|@postfix|@autoclosure|@testable|@available|' + 24200 '@nonobjc|@NSApplicationMain|@UIApplicationMain)' 24201 24202 }, 24203 { 24204 beginKeywords: 'import', end: /$/, 24205 contains: [hljs.C_LINE_COMMENT_MODE, BLOCK_COMMENT] 24206 } 24207 ] 24208 }; 24209 } 24210 },{name:"taggerscript",create:/* 24211 Language: Tagger Script 24212 Author: Philipp Wolfer <ph.wolfer@gmail.com> 24213 Description: Syntax Highlighting for the Tagger Script as used by MusicBrainz Picard. 24214 */ 24215 function(hljs) { 24216 24217 var COMMENT = { 24218 className: 'comment', 24219 begin: /\$noop\(/, 24220 end: /\)/, 24221 contains: [{ 24222 begin: /\(/, 24223 end: /\)/, 24224 contains: ['self', { 24225 begin: /\\./ 24226 }] 24227 }], 24228 relevance: 10 24229 }; 24230 24231 var FUNCTION = { 24232 className: 'keyword', 24233 begin: /\$(?!noop)[a-zA-Z][_a-zA-Z0-9]*/, 24234 end: /\(/, 24235 excludeEnd: true 24236 }; 24237 24238 var VARIABLE = { 24239 className: 'variable', 24240 begin: /%[_a-zA-Z0-9:]*/, 24241 end: '%' 24242 }; 24243 24244 var ESCAPE_SEQUENCE = { 24245 className: 'symbol', 24246 begin: /\\./ 24247 }; 24248 24249 return { 24250 contains: [ 24251 COMMENT, 24252 FUNCTION, 24253 VARIABLE, 24254 ESCAPE_SEQUENCE 24255 ] 24256 }; 24257 } 24258 },{name:"tap",create:/* 24259 Language: Test Anything Protocol 24260 Requires: yaml.js 24261 Author: Sergey Bronnikov <sergeyb@bronevichok.ru> 24262 Website: https://bronevichok.ru/ 24263 */ 24264 24265 function(hljs) { 24266 return { 24267 case_insensitive: true, 24268 contains: [ 24269 hljs.HASH_COMMENT_MODE, 24270 // version of format and total amount of testcases 24271 { 24272 className: 'meta', 24273 variants: [ 24274 { begin: '^TAP version (\\d+)$' }, 24275 { begin: '^1\\.\\.(\\d+)$' } 24276 ], 24277 }, 24278 // YAML block 24279 { 24280 begin: '(\s+)?---$', end: '\\.\\.\\.$', 24281 subLanguage: 'yaml', 24282 relevance: 0 24283 }, 24284 // testcase number 24285 { 24286 className: 'number', 24287 begin: ' (\\d+) ' 24288 }, 24289 // testcase status and description 24290 { 24291 className: 'symbol', 24292 variants: [ 24293 { begin: '^ok' }, 24294 { begin: '^not ok' } 24295 ], 24296 }, 24297 ] 24298 }; 24299 } 24300 },{name:"tcl",create:/* 24301 Language: Tcl 24302 Author: Radek Liska <radekliska@gmail.com> 24303 */ 24304 24305 function(hljs) { 24306 return { 24307 aliases: ['tk'], 24308 keywords: 'after append apply array auto_execok auto_import auto_load auto_mkindex ' + 24309 'auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock ' + 24310 'close concat continue dde dict encoding eof error eval exec exit expr fblocked ' + 24311 'fconfigure fcopy file fileevent filename flush for foreach format gets glob global ' + 24312 'history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list ' + 24313 'llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 '+ 24314 'mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex '+ 24315 'platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename '+ 24316 'return safe scan seek set socket source split string subst switch tcl_endOfWord '+ 24317 'tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter '+ 24318 'tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update '+ 24319 'uplevel upvar variable vwait while', 24320 contains: [ 24321 hljs.COMMENT(';[ \\t]*#', '$'), 24322 hljs.COMMENT('^[ \\t]*#', '$'), 24323 { 24324 beginKeywords: 'proc', 24325 end: '[\\{]', 24326 excludeEnd: true, 24327 contains: [ 24328 { 24329 className: 'title', 24330 begin: '[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*', 24331 end: '[ \\t\\n\\r]', 24332 endsWithParent: true, 24333 excludeEnd: true 24334 } 24335 ] 24336 }, 24337 { 24338 excludeEnd: true, 24339 variants: [ 24340 { 24341 begin: '\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)', 24342 end: '[^a-zA-Z0-9_\\}\\$]' 24343 }, 24344 { 24345 begin: '\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*', 24346 end: '(\\))?[^a-zA-Z0-9_\\}\\$]' 24347 } 24348 ] 24349 }, 24350 { 24351 className: 'string', 24352 contains: [hljs.BACKSLASH_ESCAPE], 24353 variants: [ 24354 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}) 24355 ] 24356 }, 24357 { 24358 className: 'number', 24359 variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE] 24360 } 24361 ] 24362 } 24363 } 24364 },{name:"tex",create:/* 24365 Language: TeX 24366 Author: Vladimir Moskva <vladmos@gmail.com> 24367 Website: http://fulc.ru/ 24368 Category: markup 24369 */ 24370 24371 function(hljs) { 24372 var COMMAND = { 24373 className: 'tag', 24374 begin: /\\/, 24375 relevance: 0, 24376 contains: [ 24377 { 24378 className: 'name', 24379 variants: [ 24380 {begin: /[a-zA-Z\u0430-\u044f\u0410-\u042f]+[*]?/}, 24381 {begin: /[^a-zA-Z\u0430-\u044f\u0410-\u042f0-9]/} 24382 ], 24383 starts: { 24384 endsWithParent: true, 24385 relevance: 0, 24386 contains: [ 24387 { 24388 className: 'string', // because it looks like attributes in HTML tags 24389 variants: [ 24390 {begin: /\[/, end: /\]/}, 24391 {begin: /\{/, end: /\}/} 24392 ] 24393 }, 24394 { 24395 begin: /\s*=\s*/, endsWithParent: true, 24396 relevance: 0, 24397 contains: [ 24398 { 24399 className: 'number', 24400 begin: /-?\d*\.?\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?/ 24401 } 24402 ] 24403 } 24404 ] 24405 } 24406 } 24407 ] 24408 }; 24409 24410 return { 24411 contains: [ 24412 COMMAND, 24413 { 24414 className: 'formula', 24415 contains: [COMMAND], 24416 relevance: 0, 24417 variants: [ 24418 {begin: /\$\$/, end: /\$\$/}, 24419 {begin: /\$/, end: /\$/} 24420 ] 24421 }, 24422 hljs.COMMENT( 24423 '%', 24424 '$', 24425 { 24426 relevance: 0 24427 } 24428 ) 24429 ] 24430 }; 24431 } 24432 },{name:"thrift",create:/* 24433 Language: Thrift 24434 Author: Oleg Efimov <efimovov@gmail.com> 24435 Description: Thrift message definition format 24436 Category: protocols 24437 */ 24438 24439 function(hljs) { 24440 var BUILT_IN_TYPES = 'bool byte i16 i32 i64 double string binary'; 24441 return { 24442 keywords: { 24443 keyword: 24444 'namespace const typedef struct enum service exception void oneway set list map required optional', 24445 built_in: 24446 BUILT_IN_TYPES, 24447 literal: 24448 'true false' 24449 }, 24450 contains: [ 24451 hljs.QUOTE_STRING_MODE, 24452 hljs.NUMBER_MODE, 24453 hljs.C_LINE_COMMENT_MODE, 24454 hljs.C_BLOCK_COMMENT_MODE, 24455 { 24456 className: 'class', 24457 beginKeywords: 'struct enum service exception', end: /\{/, 24458 illegal: /\n/, 24459 contains: [ 24460 hljs.inherit(hljs.TITLE_MODE, { 24461 starts: {endsWithParent: true, excludeEnd: true} // hack: eating everything after the first title 24462 }) 24463 ] 24464 }, 24465 { 24466 begin: '\\b(set|list|map)\\s*<', end: '>', 24467 keywords: BUILT_IN_TYPES, 24468 contains: ['self'] 24469 } 24470 ] 24471 }; 24472 } 24473 },{name:"tp",create:/* 24474 Language: TP 24475 Author: Jay Strybis <jay.strybis@gmail.com> 24476 Description: FANUC TP programming language (TPP). 24477 */ 24478 24479 24480 function(hljs) { 24481 var TPID = { 24482 className: 'number', 24483 begin: '[1-9][0-9]*', /* no leading zeros */ 24484 relevance: 0 24485 }; 24486 var TPLABEL = { 24487 className: 'symbol', 24488 begin: ':[^\\]]+' 24489 }; 24490 var TPDATA = { 24491 className: 'built_in', 24492 begin: '(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|' + 24493 'TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[', end: '\\]', 24494 contains: [ 24495 'self', 24496 TPID, 24497 TPLABEL 24498 ] 24499 }; 24500 var TPIO = { 24501 className: 'built_in', 24502 begin: '(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[', end: '\\]', 24503 contains: [ 24504 'self', 24505 TPID, 24506 hljs.QUOTE_STRING_MODE, /* for pos section at bottom */ 24507 TPLABEL 24508 ] 24509 }; 24510 24511 return { 24512 keywords: { 24513 keyword: 24514 'ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB ' + 24515 'DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC ' + 24516 'IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE ' + 24517 'PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET ' + 24518 'Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN ' + 24519 'SUBSTR FINDSTR VOFFSET PROG ATTR MN POS', 24520 literal: 24521 'ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET' 24522 }, 24523 contains: [ 24524 TPDATA, 24525 TPIO, 24526 { 24527 className: 'keyword', 24528 begin: '/(PROG|ATTR|MN|POS|END)\\b' 24529 }, 24530 { 24531 /* this is for cases like ,CALL */ 24532 className: 'keyword', 24533 begin: '(CALL|RUN|POINT_LOGIC|LBL)\\b' 24534 }, 24535 { 24536 /* this is for cases like CNT100 where the default lexemes do not 24537 * separate the keyword and the number */ 24538 className: 'keyword', 24539 begin: '\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)' 24540 }, 24541 { 24542 /* to catch numbers that do not have a word boundary on the left */ 24543 className: 'number', 24544 begin: '\\d+(sec|msec|mm/sec|cm/min|inch/min|deg/sec|mm|in|cm)?\\b', 24545 relevance: 0 24546 }, 24547 hljs.COMMENT('//', '[;$]'), 24548 hljs.COMMENT('!', '[;$]'), 24549 hljs.COMMENT('--eg:', '$'), 24550 hljs.QUOTE_STRING_MODE, 24551 { 24552 className: 'string', 24553 begin: '\'', end: '\'' 24554 }, 24555 hljs.C_NUMBER_MODE, 24556 { 24557 className: 'variable', 24558 begin: '\\$[A-Za-z0-9_]+' 24559 } 24560 ] 24561 }; 24562 } 24563 },{name:"twig",create:/* 24564 Language: Twig 24565 Requires: xml.js 24566 Author: Luke Holder <lukemh@gmail.com> 24567 Description: Twig is a templating language for PHP 24568 Category: template 24569 */ 24570 24571 function(hljs) { 24572 var PARAMS = { 24573 className: 'params', 24574 begin: '\\(', end: '\\)' 24575 }; 24576 24577 var FUNCTION_NAMES = 'attribute block constant cycle date dump include ' + 24578 'max min parent random range source template_from_string'; 24579 24580 var FUNCTIONS = { 24581 beginKeywords: FUNCTION_NAMES, 24582 keywords: {name: FUNCTION_NAMES}, 24583 relevance: 0, 24584 contains: [ 24585 PARAMS 24586 ] 24587 }; 24588 24589 var FILTER = { 24590 begin: /\|[A-Za-z_]+:?/, 24591 keywords: 24592 'abs batch capitalize convert_encoding date date_modify default ' + 24593 'escape first format join json_encode keys last length lower ' + 24594 'merge nl2br number_format raw replace reverse round slice sort split ' + 24595 'striptags title trim upper url_encode', 24596 contains: [ 24597 FUNCTIONS 24598 ] 24599 }; 24600 24601 var TAGS = 'autoescape block do embed extends filter flush for ' + 24602 'if import include macro sandbox set spaceless use verbatim'; 24603 24604 TAGS = TAGS + ' ' + TAGS.split(' ').map(function(t){return 'end' + t}).join(' '); 24605 24606 return { 24607 aliases: ['craftcms'], 24608 case_insensitive: true, 24609 subLanguage: 'xml', 24610 contains: [ 24611 hljs.COMMENT(/\{#/, /#}/), 24612 { 24613 className: 'template-tag', 24614 begin: /\{%/, end: /%}/, 24615 contains: [ 24616 { 24617 className: 'name', 24618 begin: /\w+/, 24619 keywords: TAGS, 24620 starts: { 24621 endsWithParent: true, 24622 contains: [FILTER, FUNCTIONS], 24623 relevance: 0 24624 } 24625 } 24626 ] 24627 }, 24628 { 24629 className: 'template-variable', 24630 begin: /\{\{/, end: /}}/, 24631 contains: ['self', FILTER, FUNCTIONS] 24632 } 24633 ] 24634 }; 24635 } 24636 },{name:"typescript",create:/* 24637 Language: TypeScript 24638 Author: Panu Horsmalahti <panu.horsmalahti@iki.fi> 24639 Contributors: Ike Ku <dempfi@yahoo.com> 24640 Description: TypeScript is a strict superset of JavaScript 24641 Category: scripting 24642 */ 24643 24644 function(hljs) { 24645 var JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*'; 24646 var KEYWORDS = { 24647 keyword: 24648 'in if for while finally var new function do return void else break catch ' + 24649 'instanceof with throw case default try this switch continue typeof delete ' + 24650 'let yield const class public private protected get set super ' + 24651 'static implements enum export import declare type namespace abstract ' + 24652 'as from extends async await', 24653 literal: 24654 'true false null undefined NaN Infinity', 24655 built_in: 24656 'eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent ' + 24657 'encodeURI encodeURIComponent escape unescape Object Function Boolean Error ' + 24658 'EvalError InternalError RangeError ReferenceError StopIteration SyntaxError ' + 24659 'TypeError URIError Number Math Date String RegExp Array Float32Array ' + 24660 'Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array ' + 24661 'Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require ' + 24662 'module console window document any number boolean string void Promise' 24663 }; 24664 24665 var DECORATOR = { 24666 className: 'meta', 24667 begin: '@' + JS_IDENT_RE, 24668 }; 24669 24670 var ARGS = 24671 { 24672 begin: '\\(', 24673 end: /\)/, 24674 keywords: KEYWORDS, 24675 contains: [ 24676 'self', 24677 hljs.QUOTE_STRING_MODE, 24678 hljs.APOS_STRING_MODE, 24679 hljs.NUMBER_MODE 24680 ] 24681 }; 24682 24683 var PARAMS = { 24684 className: 'params', 24685 begin: /\(/, end: /\)/, 24686 excludeBegin: true, 24687 excludeEnd: true, 24688 keywords: KEYWORDS, 24689 contains: [ 24690 hljs.C_LINE_COMMENT_MODE, 24691 hljs.C_BLOCK_COMMENT_MODE, 24692 DECORATOR, 24693 ARGS 24694 ] 24695 }; 24696 var NUMBER = { 24697 className: 'number', 24698 variants: [ 24699 { begin: '\\b(0[bB][01]+)' }, 24700 { begin: '\\b(0[oO][0-7]+)' }, 24701 { begin: hljs.C_NUMBER_RE } 24702 ], 24703 relevance: 0 24704 }; 24705 var SUBST = { 24706 className: 'subst', 24707 begin: '\\$\\{', end: '\\}', 24708 keywords: KEYWORDS, 24709 contains: [] // defined later 24710 }; 24711 var HTML_TEMPLATE = { 24712 begin: 'html`', end: '', 24713 starts: { 24714 end: '`', returnEnd: false, 24715 contains: [ 24716 hljs.BACKSLASH_ESCAPE, 24717 SUBST 24718 ], 24719 subLanguage: 'xml', 24720 } 24721 }; 24722 var CSS_TEMPLATE = { 24723 begin: 'css`', end: '', 24724 starts: { 24725 end: '`', returnEnd: false, 24726 contains: [ 24727 hljs.BACKSLASH_ESCAPE, 24728 SUBST 24729 ], 24730 subLanguage: 'css', 24731 } 24732 }; 24733 var TEMPLATE_STRING = { 24734 className: 'string', 24735 begin: '`', end: '`', 24736 contains: [ 24737 hljs.BACKSLASH_ESCAPE, 24738 SUBST 24739 ] 24740 }; 24741 SUBST.contains = [ 24742 hljs.APOS_STRING_MODE, 24743 hljs.QUOTE_STRING_MODE, 24744 HTML_TEMPLATE, 24745 CSS_TEMPLATE, 24746 TEMPLATE_STRING, 24747 NUMBER, 24748 hljs.REGEXP_MODE 24749 ]; 24750 24751 24752 24753 return { 24754 aliases: ['ts'], 24755 keywords: KEYWORDS, 24756 contains: [ 24757 { 24758 className: 'meta', 24759 begin: /^\s*['"]use strict['"]/ 24760 }, 24761 hljs.APOS_STRING_MODE, 24762 hljs.QUOTE_STRING_MODE, 24763 HTML_TEMPLATE, 24764 CSS_TEMPLATE, 24765 TEMPLATE_STRING, 24766 hljs.C_LINE_COMMENT_MODE, 24767 hljs.C_BLOCK_COMMENT_MODE, 24768 NUMBER, 24769 { // "value" container 24770 begin: '(' + hljs.RE_STARTERS_RE + '|\\b(case|return|throw)\\b)\\s*', 24771 keywords: 'return throw case', 24772 contains: [ 24773 hljs.C_LINE_COMMENT_MODE, 24774 hljs.C_BLOCK_COMMENT_MODE, 24775 hljs.REGEXP_MODE, 24776 { 24777 className: 'function', 24778 begin: '(\\(.*?\\)|' + hljs.IDENT_RE + ')\\s*=>', returnBegin: true, 24779 end: '\\s*=>', 24780 contains: [ 24781 { 24782 className: 'params', 24783 variants: [ 24784 { 24785 begin: hljs.IDENT_RE 24786 }, 24787 { 24788 begin: /\(\s*\)/, 24789 }, 24790 { 24791 begin: /\(/, end: /\)/, 24792 excludeBegin: true, excludeEnd: true, 24793 keywords: KEYWORDS, 24794 contains: [ 24795 'self', 24796 hljs.C_LINE_COMMENT_MODE, 24797 hljs.C_BLOCK_COMMENT_MODE 24798 ] 24799 } 24800 ] 24801 } 24802 ] 24803 } 24804 ], 24805 relevance: 0 24806 }, 24807 { 24808 className: 'function', 24809 begin: 'function', end: /[\{;]/, excludeEnd: true, 24810 keywords: KEYWORDS, 24811 contains: [ 24812 'self', 24813 hljs.inherit(hljs.TITLE_MODE, { begin: JS_IDENT_RE }), 24814 PARAMS 24815 ], 24816 illegal: /%/, 24817 relevance: 0 // () => {} is more typical in TypeScript 24818 }, 24819 { 24820 beginKeywords: 'constructor', end: /\{/, excludeEnd: true, 24821 contains: [ 24822 'self', 24823 PARAMS 24824 ] 24825 }, 24826 { // prevent references like module.id from being higlighted as module definitions 24827 begin: /module\./, 24828 keywords: { built_in: 'module' }, 24829 relevance: 0 24830 }, 24831 { 24832 beginKeywords: 'module', end: /\{/, excludeEnd: true 24833 }, 24834 { 24835 beginKeywords: 'interface', end: /\{/, excludeEnd: true, 24836 keywords: 'interface extends' 24837 }, 24838 { 24839 begin: /\$[(.]/ // relevance booster for a pattern common to JS libs: `$(something)` and `$.something` 24840 }, 24841 { 24842 begin: '\\.' + hljs.IDENT_RE, relevance: 0 // hack: prevents detection of keywords after dots 24843 }, 24844 DECORATOR, 24845 ARGS 24846 ] 24847 }; 24848 } 24849 },{name:"vala",create:/* 24850 Language: Vala 24851 Author: Antono Vasiljev <antono.vasiljev@gmail.com> 24852 Description: Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C. 24853 */ 24854 24855 function(hljs) { 24856 return { 24857 keywords: { 24858 keyword: 24859 // Value types 24860 'char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 ' + 24861 'uint16 uint32 uint64 float double bool struct enum string void ' + 24862 // Reference types 24863 'weak unowned owned ' + 24864 // Modifiers 24865 'async signal static abstract interface override virtual delegate ' + 24866 // Control Structures 24867 'if while do for foreach else switch case break default return try catch ' + 24868 // Visibility 24869 'public private protected internal ' + 24870 // Other 24871 'using new this get set const stdout stdin stderr var', 24872 built_in: 24873 'DBus GLib CCode Gee Object Gtk Posix', 24874 literal: 24875 'false true null' 24876 }, 24877 contains: [ 24878 { 24879 className: 'class', 24880 beginKeywords: 'class interface namespace', end: '{', excludeEnd: true, 24881 illegal: '[^,:\\n\\s\\.]', 24882 contains: [ 24883 hljs.UNDERSCORE_TITLE_MODE 24884 ] 24885 }, 24886 hljs.C_LINE_COMMENT_MODE, 24887 hljs.C_BLOCK_COMMENT_MODE, 24888 { 24889 className: 'string', 24890 begin: '"""', end: '"""', 24891 relevance: 5 24892 }, 24893 hljs.APOS_STRING_MODE, 24894 hljs.QUOTE_STRING_MODE, 24895 hljs.C_NUMBER_MODE, 24896 { 24897 className: 'meta', 24898 begin: '^#', end: '$', 24899 relevance: 2 24900 } 24901 ] 24902 }; 24903 } 24904 },{name:"vbnet",create:/* 24905 Language: VB.NET 24906 Author: Poren Chiang <ren.chiang@gmail.com> 24907 */ 24908 24909 function(hljs) { 24910 return { 24911 aliases: ['vb'], 24912 case_insensitive: true, 24913 keywords: { 24914 keyword: 24915 'addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval ' + /* a-b */ 24916 'call case catch class compare const continue custom declare default delegate dim distinct do ' + /* c-d */ 24917 'each equals else elseif end enum erase error event exit explicit finally for friend from function ' + /* e-f */ 24918 'get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue ' + /* g-i */ 24919 'join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass ' + /* j-m */ 24920 'namespace narrowing new next not notinheritable notoverridable ' + /* n */ 24921 'of off on operator option optional or order orelse overloads overridable overrides ' + /* o */ 24922 'paramarray partial preserve private property protected public ' + /* p */ 24923 'raiseevent readonly redim rem removehandler resume return ' + /* r */ 24924 'select set shadows shared skip static step stop structure strict sub synclock ' + /* s */ 24925 'take text then throw to try unicode until using when where while widening with withevents writeonly xor', /* t-x */ 24926 built_in: 24927 'boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype ' + /* b-c */ 24928 'date decimal directcast double gettype getxmlnamespace iif integer long object ' + /* d-o */ 24929 'sbyte short single string trycast typeof uinteger ulong ushort', /* s-u */ 24930 literal: 24931 'true false nothing' 24932 }, 24933 illegal: '//|{|}|endif|gosub|variant|wend|^\\$ ', /* reserved deprecated keywords */ 24934 contains: [ 24935 hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [{begin: '""'}]}), 24936 hljs.COMMENT( 24937 '\'', 24938 '$', 24939 { 24940 returnBegin: true, 24941 contains: [ 24942 { 24943 className: 'doctag', 24944 begin: '\'\'\'|<!--|-->', 24945 contains: [hljs.PHRASAL_WORDS_MODE] 24946 }, 24947 { 24948 className: 'doctag', 24949 begin: '</?', end: '>', 24950 contains: [hljs.PHRASAL_WORDS_MODE] 24951 } 24952 ] 24953 } 24954 ), 24955 hljs.C_NUMBER_MODE, 24956 { 24957 className: 'meta', 24958 begin: '#', end: '$', 24959 keywords: {'meta-keyword': 'if else elseif end region externalsource'} 24960 } 24961 ] 24962 }; 24963 } 24964 },{name:"vbscript-html",create:/* 24965 Language: VBScript in HTML 24966 Requires: xml.js, vbscript.js 24967 Author: Ivan Sagalaev <maniac@softwaremaniacs.org> 24968 Description: "Bridge" language defining fragments of VBScript in HTML within <% .. %> 24969 Category: scripting 24970 */ 24971 24972 function(hljs) { 24973 return { 24974 subLanguage: 'xml', 24975 contains: [ 24976 { 24977 begin: '<%', end: '%>', 24978 subLanguage: 'vbscript' 24979 } 24980 ] 24981 }; 24982 } 24983 },{name:"vbscript",create:/* 24984 Language: VBScript 24985 Author: Nikita Ledyaev <lenikita@yandex.ru> 24986 Contributors: Michal Gabrukiewicz <mgabru@gmail.com> 24987 Category: scripting 24988 */ 24989 24990 function(hljs) { 24991 return { 24992 aliases: ['vbs'], 24993 case_insensitive: true, 24994 keywords: { 24995 keyword: 24996 'call class const dim do loop erase execute executeglobal exit for each next function ' + 24997 'if then else on error option explicit new private property let get public randomize ' + 24998 'redim rem select case set stop sub while wend with end to elseif is or xor and not ' + 24999 'class_initialize class_terminate default preserve in me byval byref step resume goto', 25000 built_in: 25001 'lcase month vartype instrrev ubound setlocale getobject rgb getref string ' + 25002 'weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency ' + 25003 'conversions csng timevalue second year space abs clng timeserial fixs len asc ' + 25004 'isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate ' + 25005 'instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex ' + 25006 'chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim ' + 25007 'strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion ' + 25008 'scriptengine split scriptengineminorversion cint sin datepart ltrim sqr ' + 25009 'scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw ' + 25010 'chrw regexp server response request cstr err', 25011 literal: 25012 'true false null nothing empty' 25013 }, 25014 illegal: '//', 25015 contains: [ 25016 hljs.inherit(hljs.QUOTE_STRING_MODE, {contains: [{begin: '""'}]}), 25017 hljs.COMMENT( 25018 /'/, 25019 /$/, 25020 { 25021 relevance: 0 25022 } 25023 ), 25024 hljs.C_NUMBER_MODE 25025 ] 25026 }; 25027 } 25028 },{name:"verilog",create:/* 25029 Language: Verilog 25030 Author: Jon Evans <jon@craftyjon.com> 25031 Contributors: Boone Severson <boone.severson@gmail.com> 25032 Description: Verilog is a hardware description language used in electronic design automation to describe digital and mixed-signal systems. This highlighter supports Verilog and SystemVerilog through IEEE 1800-2012. 25033 */ 25034 25035 function(hljs) { 25036 var SV_KEYWORDS = { 25037 keyword: 25038 'accept_on alias always always_comb always_ff always_latch and assert assign ' + 25039 'assume automatic before begin bind bins binsof bit break buf|0 bufif0 bufif1 ' + 25040 'byte case casex casez cell chandle checker class clocking cmos config const ' + 25041 'constraint context continue cover covergroup coverpoint cross deassign default ' + 25042 'defparam design disable dist do edge else end endcase endchecker endclass ' + 25043 'endclocking endconfig endfunction endgenerate endgroup endinterface endmodule ' + 25044 'endpackage endprimitive endprogram endproperty endspecify endsequence endtable ' + 25045 'endtask enum event eventually expect export extends extern final first_match for ' + 25046 'force foreach forever fork forkjoin function generate|5 genvar global highz0 highz1 ' + 25047 'if iff ifnone ignore_bins illegal_bins implements implies import incdir include ' + 25048 'initial inout input inside instance int integer interconnect interface intersect ' + 25049 'join join_any join_none large let liblist library local localparam logic longint ' + 25050 'macromodule matches medium modport module nand negedge nettype new nexttime nmos ' + 25051 'nor noshowcancelled not notif0 notif1 or output package packed parameter pmos ' + 25052 'posedge primitive priority program property protected pull0 pull1 pulldown pullup ' + 25053 'pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos ' + 25054 'real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran ' + 25055 'rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared ' + 25056 'sequence shortint shortreal showcancelled signed small soft solve specify specparam ' + 25057 'static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on ' + 25058 'sync_reject_on table tagged task this throughout time timeprecision timeunit tran ' + 25059 'tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 ' + 25060 'unsigned until until_with untyped use uwire var vectored virtual void wait wait_order ' + 25061 'wand weak weak0 weak1 while wildcard wire with within wor xnor xor', 25062 literal: 25063 'null', 25064 built_in: 25065 '$finish $stop $exit $fatal $error $warning $info $realtime $time $printtimescale ' + 25066 '$bitstoreal $bitstoshortreal $itor $signed $cast $bits $stime $timeformat ' + 25067 '$realtobits $shortrealtobits $rtoi $unsigned $asserton $assertkill $assertpasson ' + 25068 '$assertfailon $assertnonvacuouson $assertoff $assertcontrol $assertpassoff ' + 25069 '$assertfailoff $assertvacuousoff $isunbounded $sampled $fell $changed $past_gclk ' + 25070 '$fell_gclk $changed_gclk $rising_gclk $steady_gclk $coverage_control ' + 25071 '$coverage_get $coverage_save $set_coverage_db_name $rose $stable $past ' + 25072 '$rose_gclk $stable_gclk $future_gclk $falling_gclk $changing_gclk $display ' + 25073 '$coverage_get_max $coverage_merge $get_coverage $load_coverage_db $typename ' + 25074 '$unpacked_dimensions $left $low $increment $clog2 $ln $log10 $exp $sqrt $pow ' + 25075 '$floor $ceil $sin $cos $tan $countbits $onehot $isunknown $fatal $warning ' + 25076 '$dimensions $right $high $size $asin $acos $atan $atan2 $hypot $sinh $cosh ' + 25077 '$tanh $asinh $acosh $atanh $countones $onehot0 $error $info $random ' + 25078 '$dist_chi_square $dist_erlang $dist_exponential $dist_normal $dist_poisson ' + 25079 '$dist_t $dist_uniform $q_initialize $q_remove $q_exam $async$and$array ' + 25080 '$async$nand$array $async$or$array $async$nor$array $sync$and$array ' + 25081 '$sync$nand$array $sync$or$array $sync$nor$array $q_add $q_full $psprintf ' + 25082 '$async$and$plane $async$nand$plane $async$or$plane $async$nor$plane ' + 25083 '$sync$and$plane $sync$nand$plane $sync$or$plane $sync$nor$plane $system ' + 25084 '$display $displayb $displayh $displayo $strobe $strobeb $strobeh $strobeo ' + 25085 '$write $readmemb $readmemh $writememh $value$plusargs ' + 25086 '$dumpvars $dumpon $dumplimit $dumpports $dumpportson $dumpportslimit ' + 25087 '$writeb $writeh $writeo $monitor $monitorb $monitorh $monitoro $writememb ' + 25088 '$dumpfile $dumpoff $dumpall $dumpflush $dumpportsoff $dumpportsall ' + 25089 '$dumpportsflush $fclose $fdisplay $fdisplayb $fdisplayh $fdisplayo ' + 25090 '$fstrobe $fstrobeb $fstrobeh $fstrobeo $swrite $swriteb $swriteh ' + 25091 '$swriteo $fscanf $fread $fseek $fflush $feof $fopen $fwrite $fwriteb ' + 25092 '$fwriteh $fwriteo $fmonitor $fmonitorb $fmonitorh $fmonitoro $sformat ' + 25093 '$sformatf $fgetc $ungetc $fgets $sscanf $rewind $ftell $ferror' 25094 }; 25095 return { 25096 aliases: ['v', 'sv', 'svh'], 25097 case_insensitive: false, 25098 keywords: SV_KEYWORDS, lexemes: /[\w\$]+/, 25099 contains: [ 25100 hljs.C_BLOCK_COMMENT_MODE, 25101 hljs.C_LINE_COMMENT_MODE, 25102 hljs.QUOTE_STRING_MODE, 25103 { 25104 className: 'number', 25105 contains: [hljs.BACKSLASH_ESCAPE], 25106 variants: [ 25107 {begin: '\\b((\\d+\'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)'}, 25108 {begin: '\\B((\'(b|h|o|d|B|H|O|D))[0-9xzXZa-fA-F_]+)'}, 25109 {begin: '\\b([0-9_])+', relevance: 0} 25110 ] 25111 }, 25112 /* parameters to instances */ 25113 { 25114 className: 'variable', 25115 variants: [ 25116 {begin: '#\\((?!parameter).+\\)'}, 25117 {begin: '\\.\\w+', relevance: 0}, 25118 ] 25119 }, 25120 { 25121 className: 'meta', 25122 begin: '`', end: '$', 25123 keywords: {'meta-keyword': 'define __FILE__ ' + 25124 '__LINE__ begin_keywords celldefine default_nettype define ' + 25125 'else elsif end_keywords endcelldefine endif ifdef ifndef ' + 25126 'include line nounconnected_drive pragma resetall timescale ' + 25127 'unconnected_drive undef undefineall'}, 25128 relevance: 0 25129 } 25130 ] 25131 }; // return 25132 } 25133 },{name:"vhdl",create:/* 25134 Language: VHDL 25135 Author: Igor Kalnitsky <igor@kalnitsky.org> 25136 Contributors: Daniel C.K. Kho <daniel.kho@tauhop.com>, Guillaume Savaton <guillaume.savaton@eseo.fr> 25137 Description: VHDL is a hardware description language used in electronic design automation to describe digital and mixed-signal systems. 25138 */ 25139 25140 function(hljs) { 25141 // Regular expression for VHDL numeric literals. 25142 25143 // Decimal literal: 25144 var INTEGER_RE = '\\d(_|\\d)*'; 25145 var EXPONENT_RE = '[eE][-+]?' + INTEGER_RE; 25146 var DECIMAL_LITERAL_RE = INTEGER_RE + '(\\.' + INTEGER_RE + ')?' + '(' + EXPONENT_RE + ')?'; 25147 // Based literal: 25148 var BASED_INTEGER_RE = '\\w+'; 25149 var BASED_LITERAL_RE = INTEGER_RE + '#' + BASED_INTEGER_RE + '(\\.' + BASED_INTEGER_RE + ')?' + '#' + '(' + EXPONENT_RE + ')?'; 25150 25151 var NUMBER_RE = '\\b(' + BASED_LITERAL_RE + '|' + DECIMAL_LITERAL_RE + ')'; 25152 25153 return { 25154 case_insensitive: true, 25155 keywords: { 25156 keyword: 25157 'abs access after alias all and architecture array assert assume assume_guarantee attribute ' + 25158 'begin block body buffer bus case component configuration constant context cover disconnect ' + 25159 'downto default else elsif end entity exit fairness file for force function generate ' + 25160 'generic group guarded if impure in inertial inout is label library linkage literal ' + 25161 'loop map mod nand new next nor not null of on open or others out package parameter port ' + 25162 'postponed procedure process property protected pure range record register reject ' + 25163 'release rem report restrict restrict_guarantee return rol ror select sequence ' + 25164 'severity shared signal sla sll sra srl strong subtype then to transport type ' + 25165 'unaffected units until use variable view vmode vprop vunit wait when while with xnor xor', 25166 built_in: 25167 'boolean bit character ' + 25168 'integer time delay_length natural positive ' + 25169 'string bit_vector file_open_kind file_open_status ' + 25170 'std_logic std_logic_vector unsigned signed boolean_vector integer_vector ' + 25171 'std_ulogic std_ulogic_vector unresolved_unsigned u_unsigned unresolved_signed u_signed ' + 25172 'real_vector time_vector', 25173 literal: 25174 'false true note warning error failure ' + // severity_level 25175 'line text side width' // textio 25176 }, 25177 illegal: '{', 25178 contains: [ 25179 hljs.C_BLOCK_COMMENT_MODE, // VHDL-2008 block commenting. 25180 hljs.COMMENT('--', '$'), 25181 hljs.QUOTE_STRING_MODE, 25182 { 25183 className: 'number', 25184 begin: NUMBER_RE, 25185 relevance: 0 25186 }, 25187 { 25188 className: 'string', 25189 begin: '\'(U|X|0|1|Z|W|L|H|-)\'', 25190 contains: [hljs.BACKSLASH_ESCAPE] 25191 }, 25192 { 25193 className: 'symbol', 25194 begin: '\'[A-Za-z](_?[A-Za-z0-9])*', 25195 contains: [hljs.BACKSLASH_ESCAPE] 25196 } 25197 ] 25198 }; 25199 } 25200 },{name:"vim",create:/* 25201 Language: Vim Script 25202 Author: Jun Yang <yangjvn@126.com> 25203 Description: full keyword and built-in from http://vimdoc.sourceforge.net/htmldoc/ 25204 Category: scripting 25205 */ 25206 25207 function(hljs) { 25208 return { 25209 lexemes: /[!#@\w]+/, 25210 keywords: { 25211 keyword: 25212 // express version except: ! & * < = > !! # @ @@ 25213 'N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope '+ 25214 'cp cpf cq cr cs cst cu cuna cunme cw delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu go gr grepa gu gv ha helpf helpg helpt hi hid his ia iabc if ij il im imapc '+ 25215 'ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 '+ 25216 'profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf quita qa rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor '+ 25217 'so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew '+ 25218 'tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ '+ 25219 // full version 25220 'Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload '+ 25221 'bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap '+ 25222 'cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor '+ 25223 'endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap '+ 25224 'imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview '+ 25225 'lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap '+ 25226 'nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext '+ 25227 'ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding '+ 25228 'scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace '+ 25229 'startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious '+'trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew '+ 25230 'vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank', 25231 built_in: //built in func 25232 'synIDtrans atan2 range matcharg did_filetype asin feedkeys xor argv ' + 25233 'complete_check add getwinposx getqflist getwinposy screencol ' + 25234 'clearmatches empty extend getcmdpos mzeval garbagecollect setreg ' + 25235 'ceil sqrt diff_hlID inputsecret get getfperm getpid filewritable ' + 25236 'shiftwidth max sinh isdirectory synID system inputrestore winline ' + 25237 'atan visualmode inputlist tabpagewinnr round getregtype mapcheck ' + 25238 'hasmapto histdel argidx findfile sha256 exists toupper getcmdline ' + 25239 'taglist string getmatches bufnr strftime winwidth bufexists ' + 25240 'strtrans tabpagebuflist setcmdpos remote_read printf setloclist ' + 25241 'getpos getline bufwinnr float2nr len getcmdtype diff_filler luaeval ' + 25242 'resolve libcallnr foldclosedend reverse filter has_key bufname ' + 25243 'str2float strlen setline getcharmod setbufvar index searchpos ' + 25244 'shellescape undofile foldclosed setqflist buflisted strchars str2nr ' + 25245 'virtcol floor remove undotree remote_expr winheight gettabwinvar ' + 25246 'reltime cursor tabpagenr finddir localtime acos getloclist search ' + 25247 'tanh matchend rename gettabvar strdisplaywidth type abs py3eval ' + 25248 'setwinvar tolower wildmenumode log10 spellsuggest bufloaded ' + 25249 'synconcealed nextnonblank server2client complete settabwinvar ' + 25250 'executable input wincol setmatches getftype hlID inputsave ' + 25251 'searchpair or screenrow line settabvar histadd deepcopy strpart ' + 25252 'remote_peek and eval getftime submatch screenchar winsaveview ' + 25253 'matchadd mkdir screenattr getfontname libcall reltimestr getfsize ' + 25254 'winnr invert pow getbufline byte2line soundfold repeat fnameescape ' + 25255 'tagfiles sin strwidth spellbadword trunc maparg log lispindent ' + 25256 'hostname setpos globpath remote_foreground getchar synIDattr ' + 25257 'fnamemodify cscope_connection stridx winbufnr indent min ' + 25258 'complete_add nr2char searchpairpos inputdialog values matchlist ' + 25259 'items hlexists strridx browsedir expand fmod pathshorten line2byte ' + 25260 'argc count getwinvar glob foldtextresult getreg foreground cosh ' + 25261 'matchdelete has char2nr simplify histget searchdecl iconv ' + 25262 'winrestcmd pumvisible writefile foldlevel haslocaldir keys cos ' + 25263 'matchstr foldtext histnr tan tempname getcwd byteidx getbufvar ' + 25264 'islocked escape eventhandler remote_send serverlist winrestview ' + 25265 'synstack pyeval prevnonblank readfile cindent filereadable changenr ' + 25266 'exp' 25267 }, 25268 illegal: /;/, 25269 contains: [ 25270 hljs.NUMBER_MODE, 25271 { 25272 className: 'string', 25273 begin: '\'', end: '\'', 25274 illegal: '\\n' 25275 }, 25276 25277 /* 25278 A double quote can start either a string or a line comment. Strings are 25279 ended before the end of a line by another double quote and can contain 25280 escaped double-quotes and post-escaped line breaks. 25281 25282 Also, any double quote at the beginning of a line is a comment but we 25283 don't handle that properly at the moment: any double quote inside will 25284 turn them into a string. Handling it properly will require a smarter 25285 parser. 25286 */ 25287 { 25288 className: 'string', 25289 begin: /"(\\"|\n\\|[^"\n])*"/ 25290 }, 25291 hljs.COMMENT('"', '$'), 25292 25293 { 25294 className: 'variable', 25295 begin: /[bwtglsav]:[\w\d_]*/ 25296 }, 25297 { 25298 className: 'function', 25299 beginKeywords: 'function function!', end: '$', 25300 relevance: 0, 25301 contains: [ 25302 hljs.TITLE_MODE, 25303 { 25304 className: 'params', 25305 begin: '\\(', end: '\\)' 25306 } 25307 ] 25308 }, 25309 { 25310 className: 'symbol', 25311 begin: /<[\w-]+>/ 25312 } 25313 ] 25314 }; 25315 } 25316 },{name:"x86asm",create:/* 25317 Language: Intel x86 Assembly 25318 Author: innocenat <innocenat@gmail.com> 25319 Description: x86 assembly language using Intel's mnemonic and NASM syntax 25320 Category: assembler 25321 */ 25322 25323 function(hljs) { 25324 return { 25325 case_insensitive: true, 25326 lexemes: '[.%]?' + hljs.IDENT_RE, 25327 keywords: { 25328 keyword: 25329 'lock rep repe repz repne repnz xaquire xrelease bnd nobnd ' + 25330 'aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63', 25331 built_in: 25332 // Instruction pointer 25333 'ip eip rip ' + 25334 // 8-bit registers 25335 'al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ' + 25336 // 16-bit registers 25337 'ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w ' + 25338 // 32-bit registers 25339 'eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d ' + 25340 // 64-bit registers 25341 'rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 ' + 25342 // Segment registers 25343 'cs ds es fs gs ss ' + 25344 // Floating point stack registers 25345 'st st0 st1 st2 st3 st4 st5 st6 st7 ' + 25346 // MMX Registers 25347 'mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 ' + 25348 // SSE registers 25349 'xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 ' + 25350 'xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ' + 25351 // AVX registers 25352 'ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ' + 25353 'ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 ' + 25354 // AVX-512F registers 25355 'zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 ' + 25356 'zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 ' + 25357 // AVX-512F mask registers 25358 'k0 k1 k2 k3 k4 k5 k6 k7 ' + 25359 // Bound (MPX) register 25360 'bnd0 bnd1 bnd2 bnd3 ' + 25361 // Special register 25362 'cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 ' + 25363 // NASM altreg package 25364 'r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b ' + 25365 'r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d ' + 25366 'r0h r1h r2h r3h ' + 25367 'r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l ' + 25368 25369 'db dw dd dq dt ddq do dy dz ' + 25370 'resb resw resd resq rest resdq reso resy resz ' + 25371 'incbin equ times ' + 25372 'byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr', 25373 25374 meta: 25375 '%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif ' + 25376 '%if %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep ' + 25377 '%endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment ' + 25378 '.nolist ' + 25379 '__FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ ' + 25380 '__UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend ' + 25381 'align alignb sectalign daz nodaz up down zero default option assume public ' + 25382 25383 'bits use16 use32 use64 default section segment absolute extern global common cpu float ' + 25384 '__utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ ' + 25385 '__float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ ' + 25386 '__Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e ' + 25387 'float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__' 25388 }, 25389 contains: [ 25390 hljs.COMMENT( 25391 ';', 25392 '$', 25393 { 25394 relevance: 0 25395 } 25396 ), 25397 { 25398 className: 'number', 25399 variants: [ 25400 // Float number and x87 BCD 25401 { 25402 begin: '\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|' + 25403 '(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b', 25404 relevance: 0 25405 }, 25406 25407 // Hex number in $ 25408 { begin: '\\$[0-9][0-9A-Fa-f]*', relevance: 0 }, 25409 25410 // Number in H,D,T,Q,O,B,Y suffix 25411 { begin: '\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[Hh]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b' }, 25412 25413 // Number in X,D,T,Q,O,B,Y prefix 25414 { begin: '\\b(?:0[Xx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b'} 25415 ] 25416 }, 25417 // Double quote string 25418 hljs.QUOTE_STRING_MODE, 25419 { 25420 className: 'string', 25421 variants: [ 25422 // Single-quoted string 25423 { begin: '\'', end: '[^\\\\]\'' }, 25424 // Backquoted string 25425 { begin: '`', end: '[^\\\\]`' } 25426 ], 25427 relevance: 0 25428 }, 25429 { 25430 className: 'symbol', 25431 variants: [ 25432 // Global label and local label 25433 { begin: '^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)' }, 25434 // Macro-local label 25435 { begin: '^\\s*%%[A-Za-z0-9_$#@~.?]*:' } 25436 ], 25437 relevance: 0 25438 }, 25439 // Macro parameter 25440 { 25441 className: 'subst', 25442 begin: '%[0-9]+', 25443 relevance: 0 25444 }, 25445 // Macro parameter 25446 { 25447 className: 'subst', 25448 begin: '%!\S+', 25449 relevance: 0 25450 }, 25451 { 25452 className: 'meta', 25453 begin: /^\s*\.[\w_-]+/ 25454 } 25455 ] 25456 }; 25457 } 25458 },{name:"xl",create:/* 25459 Language: XL 25460 Author: Christophe de Dinechin <christophe@taodyne.com> 25461 Description: An extensible programming language, based on parse tree rewriting (http://xlr.sf.net) 25462 */ 25463 25464 function(hljs) { 25465 var BUILTIN_MODULES = 25466 'ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo ' + 25467 'StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts'; 25468 25469 var XL_KEYWORDS = { 25470 keyword: 25471 'if then else do while until for loop import with is as where when by data constant ' + 25472 'integer real text name boolean symbol infix prefix postfix block tree', 25473 literal: 25474 'true false nil', 25475 built_in: 25476 'in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin ' + 25477 'acos atan exp expm1 log log2 log10 log1p pi at text_length text_range ' + 25478 'text_find text_replace contains page slide basic_slide title_slide ' + 25479 'title subtitle fade_in fade_out fade_at clear_color color line_color ' + 25480 'line_width texture_wrap texture_transform texture scale_?x scale_?y ' + 25481 'scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y ' + 25482 'rotate_?z? rectangle circle ellipse sphere path line_to move_to ' + 25483 'quad_to curve_to theme background contents locally time mouse_?x ' + 25484 'mouse_?y mouse_buttons ' + 25485 BUILTIN_MODULES 25486 }; 25487 25488 var DOUBLE_QUOTE_TEXT = { 25489 className: 'string', 25490 begin: '"', end: '"', illegal: '\\n' 25491 }; 25492 var SINGLE_QUOTE_TEXT = { 25493 className: 'string', 25494 begin: '\'', end: '\'', illegal: '\\n' 25495 }; 25496 var LONG_TEXT = { 25497 className: 'string', 25498 begin: '<<', end: '>>' 25499 }; 25500 var BASED_NUMBER = { 25501 className: 'number', 25502 begin: '[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?' 25503 }; 25504 var IMPORT = { 25505 beginKeywords: 'import', end: '$', 25506 keywords: XL_KEYWORDS, 25507 contains: [DOUBLE_QUOTE_TEXT] 25508 }; 25509 var FUNCTION_DEFINITION = { 25510 className: 'function', 25511 begin: /[a-z][^\n]*->/, returnBegin: true, end: /->/, 25512 contains: [ 25513 hljs.inherit(hljs.TITLE_MODE, {starts: { 25514 endsWithParent: true, 25515 keywords: XL_KEYWORDS 25516 }}) 25517 ] 25518 }; 25519 return { 25520 aliases: ['tao'], 25521 lexemes: /[a-zA-Z][a-zA-Z0-9_?]*/, 25522 keywords: XL_KEYWORDS, 25523 contains: [ 25524 hljs.C_LINE_COMMENT_MODE, 25525 hljs.C_BLOCK_COMMENT_MODE, 25526 DOUBLE_QUOTE_TEXT, 25527 SINGLE_QUOTE_TEXT, 25528 LONG_TEXT, 25529 FUNCTION_DEFINITION, 25530 IMPORT, 25531 BASED_NUMBER, 25532 hljs.NUMBER_MODE 25533 ] 25534 }; 25535 } 25536 },{name:"xml",create:/* 25537 Language: HTML, XML 25538 Category: common 25539 */ 25540 25541 function(hljs) { 25542 var XML_IDENT_RE = '[A-Za-z0-9\\._:-]+'; 25543 var TAG_INTERNALS = { 25544 endsWithParent: true, 25545 illegal: /</, 25546 relevance: 0, 25547 contains: [ 25548 { 25549 className: 'attr', 25550 begin: XML_IDENT_RE, 25551 relevance: 0 25552 }, 25553 { 25554 begin: /=\s*/, 25555 relevance: 0, 25556 contains: [ 25557 { 25558 className: 'string', 25559 endsParent: true, 25560 variants: [ 25561 {begin: /"/, end: /"/}, 25562 {begin: /'/, end: /'/}, 25563 {begin: /[^\s"'=<>`]+/} 25564 ] 25565 } 25566 ] 25567 } 25568 ] 25569 }; 25570 return { 25571 aliases: ['html', 'xhtml', 'rss', 'atom', 'xjb', 'xsd', 'xsl', 'plist', 'wsf'], 25572 case_insensitive: true, 25573 contains: [ 25574 { 25575 className: 'meta', 25576 begin: '<!DOCTYPE', end: '>', 25577 relevance: 10, 25578 contains: [{begin: '\\[', end: '\\]'}] 25579 }, 25580 hljs.COMMENT( 25581 '<!--', 25582 '-->', 25583 { 25584 relevance: 10 25585 } 25586 ), 25587 { 25588 begin: '<\\!\\[CDATA\\[', end: '\\]\\]>', 25589 relevance: 10 25590 }, 25591 { 25592 className: 'meta', 25593 begin: /<\?xml/, end: /\?>/, relevance: 10 25594 }, 25595 { 25596 begin: /<\?(php)?/, end: /\?>/, 25597 subLanguage: 'php', 25598 contains: [ 25599 // We don't want the php closing tag ?> to close the PHP block when 25600 // inside any of the following blocks: 25601 {begin: '/\\*', end: '\\*/', skip: true}, 25602 {begin: 'b"', end: '"', skip: true}, 25603 {begin: 'b\'', end: '\'', skip: true}, 25604 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null, className: null, contains: null, skip: true}), 25605 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null, className: null, contains: null, skip: true}) 25606 ] 25607 }, 25608 { 25609 className: 'tag', 25610 /* 25611 The lookahead pattern (?=...) ensures that 'begin' only matches 25612 '<style' as a single word, followed by a whitespace or an 25613 ending braket. The '$' is needed for the lexeme to be recognized 25614 by hljs.subMode() that tests lexemes outside the stream. 25615 */ 25616 begin: '<style(?=\\s|>|$)', end: '>', 25617 keywords: {name: 'style'}, 25618 contains: [TAG_INTERNALS], 25619 starts: { 25620 end: '</style>', returnEnd: true, 25621 subLanguage: ['css', 'xml'] 25622 } 25623 }, 25624 { 25625 className: 'tag', 25626 // See the comment in the <style tag about the lookahead pattern 25627 begin: '<script(?=\\s|>|$)', end: '>', 25628 keywords: {name: 'script'}, 25629 contains: [TAG_INTERNALS], 25630 starts: { 25631 end: '\<\/script\>', returnEnd: true, 25632 subLanguage: ['actionscript', 'javascript', 'handlebars', 'xml', 'vbscript'] 25633 } 25634 }, 25635 { 25636 className: 'tag', 25637 begin: '</?', end: '/?>', 25638 contains: [ 25639 { 25640 className: 'name', begin: /[^\/><\s]+/, relevance: 0 25641 }, 25642 TAG_INTERNALS 25643 ] 25644 } 25645 ] 25646 }; 25647 } 25648 },{name:"xquery",create:/* 25649 Language: XQuery 25650 Author: Dirk Kirsten <dk@basex.org> 25651 Contributor: Duncan Paterson 25652 Description: Supports XQuery 3.1 including XQuery Update 3, so also XPath (as it is a superset) 25653 Refactored to process xml constructor syntax and function-bodies. Added missing data-types, xpath operands, inbuilt functions, and query prologs 25654 Category: functional 25655 */ 25656 25657 function(hljs) { 25658 // see https://www.w3.org/TR/xquery/#id-terminal-delimitation 25659 var KEYWORDS = 'module schema namespace boundary-space preserve no-preserve strip default collation base-uri ordering context decimal-format decimal-separator copy-namespaces empty-sequence except exponent-separator external grouping-separator inherit no-inherit lax minus-sign per-mille percent schema-attribute schema-element strict unordered zero-digit ' + 25660 'declare import option function validate variable ' + 25661 'for at in let where order group by return if then else ' + 25662 'tumbling sliding window start when only end previous next stable ' + 25663 'ascending descending allowing empty greatest least some every satisfies switch case typeswitch try catch ' + 25664 'and or to union intersect instance of treat as castable cast map array ' + 25665 'delete insert into replace value rename copy modify update'; 25666 25667 // Node Types (sorted by inheritance) 25668 // atomic types (sorted by inheritance) 25669 var TYPE = 'item document-node node attribute document element comment namespace namespace-node processing-instruction text construction ' + 25670 'xs:anyAtomicType xs:untypedAtomic xs:duration xs:time xs:decimal xs:float xs:double xs:gYearMonth xs:gYear xs:gMonthDay xs:gMonth xs:gDay xs:boolean xs:base64Binary xs:hexBinary xs:anyURI xs:QName xs:NOTATION xs:dateTime xs:dateTimeStamp xs:date xs:string xs:normalizedString xs:token xs:language xs:NMTOKEN xs:Name xs:NCName xs:ID xs:IDREF xs:ENTITY xs:integer xs:nonPositiveInteger xs:negativeInteger xs:long xs:int xs:short xs:byte xs:nonNegativeInteger xs:unisignedLong xs:unsignedInt xs:unsignedShort xs:unsignedByte xs:positiveInteger xs:yearMonthDuration xs:dayTimeDuration'; 25671 25672 var LITERAL = 'eq ne lt le gt ge is ' + 25673 'self:: child:: descendant:: descendant-or-self:: attribute:: following:: following-sibling:: parent:: ancestor:: ancestor-or-self:: preceding:: preceding-sibling:: ' + 25674 'NaN'; 25675 25676 // functions (TODO: find regex for op: without breaking build) 25677 var BUILT_IN = { 25678 className: 'built_in', 25679 variants: [{ 25680 begin: /\barray\:/, 25681 end: /(?:append|filter|flatten|fold\-(?:left|right)|for-each(?:\-pair)?|get|head|insert\-before|join|put|remove|reverse|size|sort|subarray|tail)\b/ 25682 }, { 25683 begin: /\bmap\:/, 25684 end: /(?:contains|entry|find|for\-each|get|keys|merge|put|remove|size)\b/ 25685 }, { 25686 begin: /\bmath\:/, 25687 end: /(?:a(?:cos|sin|tan[2]?)|cos|exp(?:10)?|log(?:10)?|pi|pow|sin|sqrt|tan)\b/ 25688 }, { 25689 begin: /\bop\:/, 25690 end: /\(/, 25691 excludeEnd: true 25692 }, { 25693 begin: /\bfn\:/, 25694 end: /\(/, 25695 excludeEnd: true 25696 }, 25697 // do not highlight inbuilt strings as variable or xml element names 25698 { 25699 begin: /[^<\/\$\:'"-]\b(?:abs|accumulator\-(?:after|before)|adjust\-(?:date(?:Time)?|time)\-to\-timezone|analyze\-string|apply|available\-(?:environment\-variables|system\-properties)|avg|base\-uri|boolean|ceiling|codepoints?\-(?:equal|to\-string)|collation\-key|collection|compare|concat|contains(?:\-token)?|copy\-of|count|current(?:\-)?(?:date(?:Time)?|time|group(?:ing\-key)?|output\-uri|merge\-(?:group|key))?data|dateTime|days?\-from\-(?:date(?:Time)?|duration)|deep\-equal|default\-(?:collation|language)|distinct\-values|document(?:\-uri)?|doc(?:\-available)?|element\-(?:available|with\-id)|empty|encode\-for\-uri|ends\-with|environment\-variable|error|escape\-html\-uri|exactly\-one|exists|false|filter|floor|fold\-(?:left|right)|for\-each(?:\-pair)?|format\-(?:date(?:Time)?|time|integer|number)|function\-(?:arity|available|lookup|name)|generate\-id|has\-children|head|hours\-from\-(?:dateTime|duration|time)|id(?:ref)?|implicit\-timezone|in\-scope\-prefixes|index\-of|innermost|insert\-before|iri\-to\-uri|json\-(?:doc|to\-xml)|key|lang|last|load\-xquery\-module|local\-name(?:\-from\-QName)?|(?:lower|upper)\-case|matches|max|minutes\-from\-(?:dateTime|duration|time)|min|months?\-from\-(?:date(?:Time)?|duration)|name(?:space\-uri\-?(?:for\-prefix|from\-QName)?)?|nilled|node\-name|normalize\-(?:space|unicode)|not|number|one\-or\-more|outermost|parse\-(?:ietf\-date|json)|path|position|(?:prefix\-from\-)?QName|random\-number\-generator|regex\-group|remove|replace|resolve\-(?:QName|uri)|reverse|root|round(?:\-half\-to\-even)?|seconds\-from\-(?:dateTime|duration|time)|snapshot|sort|starts\-with|static\-base\-uri|stream\-available|string\-?(?:join|length|to\-codepoints)?|subsequence|substring\-?(?:after|before)?|sum|system\-property|tail|timezone\-from\-(?:date(?:Time)?|time)|tokenize|trace|trans(?:form|late)|true|type\-available|unordered|unparsed\-(?:entity|text)?\-?(?:public\-id|uri|available|lines)?|uri\-collection|xml\-to\-json|years?\-from\-(?:date(?:Time)?|duration)|zero\-or\-one)\b/, 25700 }, { 25701 begin: /\blocal\:/, 25702 end: /\(/, 25703 excludeEnd: true 25704 }, { 25705 begin: /\bzip\:/, 25706 end: /(?:zip\-file|(?:xml|html|text|binary)\-entry| (?:update\-)?entries)\b/ 25707 }, { 25708 begin: /\b(?:util|db|functx|app|xdmp|xmldb)\:/, 25709 end: /\(/, 25710 excludeEnd: true 25711 } 25712 ] 25713 }; 25714 25715 var TITLE = { 25716 className: 'title', 25717 begin: /\bxquery version "[13]\.[01]"\s?(?:encoding ".+")?/, 25718 end: /;/ 25719 }; 25720 25721 var VAR = { 25722 className: 'variable', 25723 begin: /[\$][\w-:]+/ 25724 }; 25725 25726 var NUMBER = { 25727 className: 'number', 25728 begin: '(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b', 25729 relevance: 0 25730 }; 25731 25732 var STRING = { 25733 className: 'string', 25734 variants: [{ 25735 begin: /"/, 25736 end: /"/, 25737 contains: [{ 25738 begin: /""/, 25739 relevance: 0 25740 }] 25741 }, 25742 { 25743 begin: /'/, 25744 end: /'/, 25745 contains: [{ 25746 begin: /''/, 25747 relevance: 0 25748 }] 25749 } 25750 ] 25751 }; 25752 25753 var ANNOTATION = { 25754 className: 'meta', 25755 begin: /%[\w-:]+/ 25756 }; 25757 25758 var COMMENT = { 25759 className: 'comment', 25760 begin: '\\(:', 25761 end: ':\\)', 25762 relevance: 10, 25763 contains: [{ 25764 className: 'doctag', 25765 begin: '@\\w+' 25766 }] 25767 }; 25768 25769 // see https://www.w3.org/TR/xquery/#id-computedConstructors 25770 // mocha: computed_inbuilt 25771 // see https://www.regexpal.com/?fam=99749 25772 var COMPUTED = { 25773 beginKeywords: 'element attribute comment document processing-instruction', 25774 end: '{', 25775 excludeEnd: true 25776 }; 25777 25778 // mocha: direct_method 25779 var DIRECT = { 25780 begin: /<([\w\._:\-]+)((\s*.*)=('|").*('|"))?>/, 25781 end: /(\/[\w\._:\-]+>)/, 25782 subLanguage: 'xml', 25783 contains: [{ 25784 begin: '{', 25785 end: '}', 25786 subLanguage: 'xquery' 25787 }, 'self'] 25788 }; 25789 25790 25791 var CONTAINS = [ 25792 VAR, 25793 BUILT_IN, 25794 STRING, 25795 NUMBER, 25796 COMMENT, 25797 ANNOTATION, 25798 TITLE, 25799 COMPUTED, 25800 DIRECT 25801 ]; 25802 25803 25804 25805 var METHOD = { 25806 begin: '{', 25807 end: '}', 25808 contains: CONTAINS 25809 }; 25810 25811 25812 25813 return { 25814 aliases: ['xpath', 'xq'], 25815 case_insensitive: false, 25816 lexemes: /[a-zA-Z\$][a-zA-Z0-9_:\-]*/, 25817 illegal: /(proc)|(abstract)|(extends)|(until)|(#)/, 25818 keywords: { 25819 keyword: KEYWORDS, 25820 type: TYPE, 25821 literal: LITERAL 25822 }, 25823 contains: CONTAINS 25824 }; 25825 } 25826 },{name:"yaml",create:/* 25827 Language: YAML 25828 Author: Stefan Wienert <stwienert@gmail.com> 25829 Requires: ruby.js 25830 Description: YAML (Yet Another Markdown Language) 25831 Category: common, config 25832 */ 25833 function(hljs) { 25834 var LITERALS = 'true false yes no null'; 25835 25836 var keyPrefix = '^[ \\-]*'; 25837 var keyName = '[a-zA-Z_][\\w\\-]*'; 25838 var KEY = { 25839 className: 'attr', 25840 variants: [ 25841 { begin: keyPrefix + keyName + ":"}, 25842 { begin: keyPrefix + '"' + keyName + '"' + ":"}, 25843 { begin: keyPrefix + "'" + keyName + "'" + ":"} 25844 ] 25845 }; 25846 25847 var TEMPLATE_VARIABLES = { 25848 className: 'template-variable', 25849 variants: [ 25850 { begin: '\{\{', end: '\}\}' }, // jinja templates Ansible 25851 { begin: '%\{', end: '\}' } // Ruby i18n 25852 ] 25853 }; 25854 var STRING = { 25855 className: 'string', 25856 relevance: 0, 25857 variants: [ 25858 {begin: /'/, end: /'/}, 25859 {begin: /"/, end: /"/}, 25860 {begin: /\S+/} 25861 ], 25862 contains: [ 25863 hljs.BACKSLASH_ESCAPE, 25864 TEMPLATE_VARIABLES 25865 ] 25866 }; 25867 25868 return { 25869 case_insensitive: true, 25870 aliases: ['yml', 'YAML', 'yaml'], 25871 contains: [ 25872 KEY, 25873 { 25874 className: 'meta', 25875 begin: '^---\s*$', 25876 relevance: 10 25877 }, 25878 { // multi line string 25879 className: 'string', 25880 begin: '[\\|>] *$', 25881 returnEnd: true, 25882 contains: STRING.contains, 25883 // very simple termination: next hash key 25884 end: KEY.variants[0].begin 25885 }, 25886 { // Ruby/Rails erb 25887 begin: '<%[%=-]?', end: '[%-]?%>', 25888 subLanguage: 'ruby', 25889 excludeBegin: true, 25890 excludeEnd: true, 25891 relevance: 0 25892 }, 25893 { // local tags 25894 className: 'type', 25895 begin: '!' + hljs.UNDERSCORE_IDENT_RE, 25896 }, 25897 { // data type 25898 className: 'type', 25899 begin: '!!' + hljs.UNDERSCORE_IDENT_RE, 25900 }, 25901 { // fragment id &ref 25902 className: 'meta', 25903 begin: '&' + hljs.UNDERSCORE_IDENT_RE + '$', 25904 }, 25905 { // fragment reference *ref 25906 className: 'meta', 25907 begin: '\\*' + hljs.UNDERSCORE_IDENT_RE + '$' 25908 }, 25909 { // array listing 25910 className: 'bullet', 25911 begin: '^ *-', 25912 relevance: 0 25913 }, 25914 hljs.HASH_COMMENT_MODE, 25915 { 25916 beginKeywords: LITERALS, 25917 keywords: {literal: LITERALS} 25918 }, 25919 hljs.C_NUMBER_MODE, 25920 STRING 25921 ] 25922 }; 25923 } 25924 },{name:"zephir",create:/* 25925 Language: Zephir 25926 Author: Oleg Efimov <efimovov@gmail.com> 25927 */ 25928 25929 function(hljs) { 25930 var STRING = { 25931 className: 'string', 25932 contains: [hljs.BACKSLASH_ESCAPE], 25933 variants: [ 25934 { 25935 begin: 'b"', end: '"' 25936 }, 25937 { 25938 begin: 'b\'', end: '\'' 25939 }, 25940 hljs.inherit(hljs.APOS_STRING_MODE, {illegal: null}), 25941 hljs.inherit(hljs.QUOTE_STRING_MODE, {illegal: null}) 25942 ] 25943 }; 25944 var NUMBER = {variants: [hljs.BINARY_NUMBER_MODE, hljs.C_NUMBER_MODE]}; 25945 return { 25946 aliases: ['zep'], 25947 case_insensitive: true, 25948 keywords: 25949 'and include_once list abstract global private echo interface as static endswitch ' + 25950 'array null if endwhile or const for endforeach self var let while isset public ' + 25951 'protected exit foreach throw elseif include __FILE__ empty require_once do xor ' + 25952 'return parent clone use __CLASS__ __LINE__ else break print eval new ' + 25953 'catch __METHOD__ case exception default die require __FUNCTION__ ' + 25954 'enddeclare final try switch continue endfor endif declare unset true false ' + 25955 'trait goto instanceof insteadof __DIR__ __NAMESPACE__ ' + 25956 'yield finally int uint long ulong char uchar double float bool boolean string' + 25957 'likely unlikely', 25958 contains: [ 25959 hljs.C_LINE_COMMENT_MODE, 25960 hljs.HASH_COMMENT_MODE, 25961 hljs.COMMENT( 25962 '/\\*', 25963 '\\*/', 25964 { 25965 contains: [ 25966 { 25967 className: 'doctag', 25968 begin: '@[A-Za-z]+' 25969 } 25970 ] 25971 } 25972 ), 25973 hljs.COMMENT( 25974 '__halt_compiler.+?;', 25975 false, 25976 { 25977 endsWithParent: true, 25978 keywords: '__halt_compiler', 25979 lexemes: hljs.UNDERSCORE_IDENT_RE 25980 } 25981 ), 25982 { 25983 className: 'string', 25984 begin: '<<<[\'"]?\\w+[\'"]?$', end: '^\\w+;', 25985 contains: [hljs.BACKSLASH_ESCAPE] 25986 }, 25987 { 25988 // swallow composed identifiers to avoid parsing them as keywords 25989 begin: /(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/ 25990 }, 25991 { 25992 className: 'function', 25993 beginKeywords: 'function', end: /[;{]/, excludeEnd: true, 25994 illegal: '\\$|\\[|%', 25995 contains: [ 25996 hljs.UNDERSCORE_TITLE_MODE, 25997 { 25998 className: 'params', 25999 begin: '\\(', end: '\\)', 26000 contains: [ 26001 'self', 26002 hljs.C_BLOCK_COMMENT_MODE, 26003 STRING, 26004 NUMBER 26005 ] 26006 } 26007 ] 26008 }, 26009 { 26010 className: 'class', 26011 beginKeywords: 'class interface', end: '{', excludeEnd: true, 26012 illegal: /[:\(\$"]/, 26013 contains: [ 26014 {beginKeywords: 'extends implements'}, 26015 hljs.UNDERSCORE_TITLE_MODE 26016 ] 26017 }, 26018 { 26019 beginKeywords: 'namespace', end: ';', 26020 illegal: /[\.']/, 26021 contains: [hljs.UNDERSCORE_TITLE_MODE] 26022 }, 26023 { 26024 beginKeywords: 'use', end: ';', 26025 contains: [hljs.UNDERSCORE_TITLE_MODE] 26026 }, 26027 { 26028 begin: '=>' // No markup, just a relevance booster 26029 }, 26030 STRING, 26031 NUMBER 26032 ] 26033 }; 26034 } 26035 }] 26036 ; 26037 26038 for (var i = 0; i < languages.length; ++i) { 26039 hljs.registerLanguage(languages[i].name, languages[i].create); 26040 } 26041 26042 module.exports = { 26043 styles: {"a11y-dark":".hljs-a11y-dark .hljs-comment,.hljs-a11y-dark .hljs-quote{color:#d4d0ab}.hljs-a11y-dark .hljs-variable,.hljs-a11y-dark .hljs-template-variable,.hljs-a11y-dark .hljs-tag,.hljs-a11y-dark .hljs-name,.hljs-a11y-dark .hljs-selector-id,.hljs-a11y-dark .hljs-selector-class,.hljs-a11y-dark .hljs-regexp,.hljs-a11y-dark .hljs-deletion{color:#ffa07a}.hljs-a11y-dark .hljs-number,.hljs-a11y-dark .hljs-built_in,.hljs-a11y-dark .hljs-builtin-name,.hljs-a11y-dark .hljs-literal,.hljs-a11y-dark .hljs-type,.hljs-a11y-dark .hljs-params,.hljs-a11y-dark .hljs-meta,.hljs-a11y-dark .hljs-link{color:#f5ab35}.hljs-a11y-dark .hljs-attribute{color:#ffd700}.hljs-a11y-dark .hljs-string,.hljs-a11y-dark .hljs-symbol,.hljs-a11y-dark .hljs-bullet,.hljs-a11y-dark .hljs-addition{color:#abe338}.hljs-a11y-dark .hljs-title,.hljs-a11y-dark .hljs-section{color:#00e0e0}.hljs-a11y-dark .hljs-keyword,.hljs-a11y-dark .hljs-selector-tag{color:#dcc6e0}.hljs-a11y-dark .hljs{display:block;overflow-x:auto;background:#2b2b2b;color:#f8f8f2;padding:.5em}.hljs-a11y-dark .hljs-emphasis{font-style:italic}.hljs-a11y-dark .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast:active){.hljs-a11y-dark .hljs-addition,.hljs-a11y-dark .hljs-attribute,.hljs-a11y-dark .hljs-built_in,.hljs-a11y-dark .hljs-builtin-name,.hljs-a11y-dark .hljs-bullet,.hljs-a11y-dark .hljs-comment,.hljs-a11y-dark .hljs-link,.hljs-a11y-dark .hljs-literal,.hljs-a11y-dark .hljs-meta,.hljs-a11y-dark .hljs-number,.hljs-a11y-dark .hljs-params,.hljs-a11y-dark .hljs-string,.hljs-a11y-dark .hljs-symbol,.hljs-a11y-dark .hljs-type,.hljs-a11y-dark .hljs-quote{color:highlight}.hljs-a11y-dark .hljs-keyword,.hljs-a11y-dark .hljs-selector-tag{font-weight:bold}}","a11y-light":".hljs-a11y-light .hljs-comment,.hljs-a11y-light .hljs-quote{color:#696969}.hljs-a11y-light .hljs-variable,.hljs-a11y-light .hljs-template-variable,.hljs-a11y-light .hljs-tag,.hljs-a11y-light .hljs-name,.hljs-a11y-light .hljs-selector-id,.hljs-a11y-light .hljs-selector-class,.hljs-a11y-light .hljs-regexp,.hljs-a11y-light .hljs-deletion{color:#d91e18}.hljs-a11y-light .hljs-number,.hljs-a11y-light .hljs-built_in,.hljs-a11y-light .hljs-builtin-name,.hljs-a11y-light .hljs-literal,.hljs-a11y-light .hljs-type,.hljs-a11y-light .hljs-params,.hljs-a11y-light .hljs-meta,.hljs-a11y-light .hljs-link{color:#aa5d00}.hljs-a11y-light .hljs-attribute{color:#aa5d00}.hljs-a11y-light .hljs-string,.hljs-a11y-light .hljs-symbol,.hljs-a11y-light .hljs-bullet,.hljs-a11y-light .hljs-addition{color:#008000}.hljs-a11y-light .hljs-title,.hljs-a11y-light .hljs-section{color:#007faa}.hljs-a11y-light .hljs-keyword,.hljs-a11y-light .hljs-selector-tag{color:#7928a1}.hljs-a11y-light .hljs{display:block;overflow-x:auto;background:#fefefe;color:#545454;padding:.5em}.hljs-a11y-light .hljs-emphasis{font-style:italic}.hljs-a11y-light .hljs-strong{font-weight:bold}@media screen and (-ms-high-contrast:active){.hljs-a11y-light .hljs-addition,.hljs-a11y-light .hljs-attribute,.hljs-a11y-light .hljs-built_in,.hljs-a11y-light .hljs-builtin-name,.hljs-a11y-light .hljs-bullet,.hljs-a11y-light .hljs-comment,.hljs-a11y-light .hljs-link,.hljs-a11y-light .hljs-literal,.hljs-a11y-light .hljs-meta,.hljs-a11y-light .hljs-number,.hljs-a11y-light .hljs-params,.hljs-a11y-light .hljs-string,.hljs-a11y-light .hljs-symbol,.hljs-a11y-light .hljs-type,.hljs-a11y-light .hljs-quote{color:highlight}.hljs-a11y-light .hljs-keyword,.hljs-a11y-light .hljs-selector-tag{font-weight:bold}}","agate":".hljs-agate{/*! * Agate by Taufik Nurrohman <https://github.com/tovic> * ---------------------------------------------------- * * #ade5fc * #a2fca2 * #c6b4f0 * #d36363 * #fcc28c * #fc9b9b * #ffa * #fff * #333 * #62c8f3 * #888 * */}.hljs-agate .hljs{display:block;overflow-x:auto;padding:.5em;background:#333;color:white}.hljs-agate .hljs-name,.hljs-agate .hljs-strong{font-weight:bold}.hljs-agate .hljs-code,.hljs-agate .hljs-emphasis{font-style:italic}.hljs-agate .hljs-tag{color:#62c8f3}.hljs-agate .hljs-variable,.hljs-agate .hljs-template-variable,.hljs-agate .hljs-selector-id,.hljs-agate .hljs-selector-class{color:#ade5fc}.hljs-agate .hljs-string,.hljs-agate .hljs-bullet{color:#a2fca2}.hljs-agate .hljs-type,.hljs-agate .hljs-title,.hljs-agate .hljs-section,.hljs-agate .hljs-attribute,.hljs-agate .hljs-quote,.hljs-agate .hljs-built_in,.hljs-agate .hljs-builtin-name{color:#ffa}.hljs-agate .hljs-number,.hljs-agate .hljs-symbol,.hljs-agate .hljs-bullet{color:#d36363}.hljs-agate .hljs-keyword,.hljs-agate .hljs-selector-tag,.hljs-agate .hljs-literal{color:#fcc28c}.hljs-agate .hljs-comment,.hljs-agate .hljs-deletion,.hljs-agate .hljs-code{color:#888}.hljs-agate .hljs-regexp,.hljs-agate .hljs-link{color:#c6b4f0}.hljs-agate .hljs-meta{color:#fc9b9b}.hljs-agate .hljs-deletion{background-color:#fc9b9b;color:#333}.hljs-agate .hljs-addition{background-color:#a2fca2;color:#333}.hljs-agate .hljs a{color:inherit}.hljs-agate .hljs a:focus,.hljs-agate .hljs a:hover{color:inherit;text-decoration:underline}","an-old-hope":".hljs-an-old-hope .hljs-comment,.hljs-an-old-hope .hljs-quote{color:#B6B18B}.hljs-an-old-hope .hljs-variable,.hljs-an-old-hope .hljs-template-variable,.hljs-an-old-hope .hljs-tag,.hljs-an-old-hope .hljs-name,.hljs-an-old-hope .hljs-selector-id,.hljs-an-old-hope .hljs-selector-class,.hljs-an-old-hope .hljs-regexp,.hljs-an-old-hope .hljs-deletion{color:#EB3C54}.hljs-an-old-hope .hljs-number,.hljs-an-old-hope .hljs-built_in,.hljs-an-old-hope .hljs-builtin-name,.hljs-an-old-hope .hljs-literal,.hljs-an-old-hope .hljs-type,.hljs-an-old-hope .hljs-params,.hljs-an-old-hope .hljs-meta,.hljs-an-old-hope .hljs-link{color:#E7CE56}.hljs-an-old-hope .hljs-attribute{color:#EE7C2B}.hljs-an-old-hope .hljs-string,.hljs-an-old-hope .hljs-symbol,.hljs-an-old-hope .hljs-bullet,.hljs-an-old-hope .hljs-addition{color:#4FB4D7}.hljs-an-old-hope .hljs-title,.hljs-an-old-hope .hljs-section{color:#78BB65}.hljs-an-old-hope .hljs-keyword,.hljs-an-old-hope .hljs-selector-tag{color:#B45EA4}.hljs-an-old-hope .hljs{display:block;overflow-x:auto;background:#1C1D21;color:#c0c5ce;padding:.5em}.hljs-an-old-hope .hljs-emphasis{font-style:italic}.hljs-an-old-hope .hljs-strong{font-weight:bold}","androidstudio":".hljs-androidstudio .hljs{color:#a9b7c6;background:#282b2e;display:block;overflow-x:auto;padding:.5em}.hljs-androidstudio .hljs-number,.hljs-androidstudio .hljs-literal,.hljs-androidstudio .hljs-symbol,.hljs-androidstudio .hljs-bullet{color:#6897BB}.hljs-androidstudio .hljs-keyword,.hljs-androidstudio .hljs-selector-tag,.hljs-androidstudio .hljs-deletion{color:#cc7832}.hljs-androidstudio .hljs-variable,.hljs-androidstudio .hljs-template-variable,.hljs-androidstudio .hljs-link{color:#629755}.hljs-androidstudio .hljs-comment,.hljs-androidstudio .hljs-quote{color:#808080}.hljs-androidstudio .hljs-meta{color:#bbb529}.hljs-androidstudio .hljs-string,.hljs-androidstudio .hljs-attribute,.hljs-androidstudio .hljs-addition{color:#6A8759}.hljs-androidstudio .hljs-section,.hljs-androidstudio .hljs-title,.hljs-androidstudio .hljs-type{color:#ffc66d}.hljs-androidstudio .hljs-name,.hljs-androidstudio .hljs-selector-id,.hljs-androidstudio .hljs-selector-class{color:#e8bf6a}.hljs-androidstudio .hljs-emphasis{font-style:italic}.hljs-androidstudio .hljs-strong{font-weight:bold}","arduino-light":".hljs-arduino-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#FFFFFF}.hljs-arduino-light .hljs,.hljs-arduino-light .hljs-subst{color:#434f54}.hljs-arduino-light .hljs-keyword,.hljs-arduino-light .hljs-attribute,.hljs-arduino-light .hljs-selector-tag,.hljs-arduino-light .hljs-doctag,.hljs-arduino-light .hljs-name{color:#00979D}.hljs-arduino-light .hljs-built_in,.hljs-arduino-light .hljs-literal,.hljs-arduino-light .hljs-bullet,.hljs-arduino-light .hljs-code,.hljs-arduino-light .hljs-addition{color:#D35400}.hljs-arduino-light .hljs-regexp,.hljs-arduino-light .hljs-symbol,.hljs-arduino-light .hljs-variable,.hljs-arduino-light .hljs-template-variable,.hljs-arduino-light .hljs-link,.hljs-arduino-light .hljs-selector-attr,.hljs-arduino-light .hljs-selector-pseudo{color:#00979D}.hljs-arduino-light .hljs-type,.hljs-arduino-light .hljs-string,.hljs-arduino-light .hljs-selector-id,.hljs-arduino-light .hljs-selector-class,.hljs-arduino-light .hljs-quote,.hljs-arduino-light .hljs-template-tag,.hljs-arduino-light .hljs-deletion{color:#005C5F}.hljs-arduino-light .hljs-title,.hljs-arduino-light .hljs-section{color:#880000;font-weight:bold}.hljs-arduino-light .hljs-comment{color:rgba(149,165,166,0.8)}.hljs-arduino-light .hljs-meta-keyword{color:#728E00}.hljs-arduino-light .hljs-meta{color:#728E00;color:#434f54}.hljs-arduino-light .hljs-emphasis{font-style:italic}.hljs-arduino-light .hljs-strong{font-weight:bold}.hljs-arduino-light .hljs-function{color:#728E00}.hljs-arduino-light .hljs-number{color:#8A7B52}","arta":".hljs-arta .hljs{display:block;overflow-x:auto;padding:.5em;background:#222}.hljs-arta .hljs,.hljs-arta .hljs-subst{color:#aaa}.hljs-arta .hljs-section{color:#fff}.hljs-arta .hljs-comment,.hljs-arta .hljs-quote,.hljs-arta .hljs-meta{color:#444}.hljs-arta .hljs-string,.hljs-arta .hljs-symbol,.hljs-arta .hljs-bullet,.hljs-arta .hljs-regexp{color:#ffcc33}.hljs-arta .hljs-number,.hljs-arta .hljs-addition{color:#00cc66}.hljs-arta .hljs-built_in,.hljs-arta .hljs-builtin-name,.hljs-arta .hljs-literal,.hljs-arta .hljs-type,.hljs-arta .hljs-template-variable,.hljs-arta .hljs-attribute,.hljs-arta .hljs-link{color:#32aaee}.hljs-arta .hljs-keyword,.hljs-arta .hljs-selector-tag,.hljs-arta .hljs-name,.hljs-arta .hljs-selector-id,.hljs-arta .hljs-selector-class{color:#6644aa}.hljs-arta .hljs-title,.hljs-arta .hljs-variable,.hljs-arta .hljs-deletion,.hljs-arta .hljs-template-tag{color:#bb1166}.hljs-arta .hljs-section,.hljs-arta .hljs-doctag,.hljs-arta .hljs-strong{font-weight:bold}.hljs-arta .hljs-emphasis{font-style:italic}","ascetic":".hljs-ascetic .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-ascetic .hljs-string,.hljs-ascetic .hljs-variable,.hljs-ascetic .hljs-template-variable,.hljs-ascetic .hljs-symbol,.hljs-ascetic .hljs-bullet,.hljs-ascetic .hljs-section,.hljs-ascetic .hljs-addition,.hljs-ascetic .hljs-attribute,.hljs-ascetic .hljs-link{color:#888}.hljs-ascetic .hljs-comment,.hljs-ascetic .hljs-quote,.hljs-ascetic .hljs-meta,.hljs-ascetic .hljs-deletion{color:#ccc}.hljs-ascetic .hljs-keyword,.hljs-ascetic .hljs-selector-tag,.hljs-ascetic .hljs-section,.hljs-ascetic .hljs-name,.hljs-ascetic .hljs-type,.hljs-ascetic .hljs-strong{font-weight:bold}.hljs-ascetic .hljs-emphasis{font-style:italic}","atelier-cave-dark":".hljs-atelier-cave-dark .hljs-comment,.hljs-atelier-cave-dark .hljs-quote{color:#7e7887}.hljs-atelier-cave-dark .hljs-variable,.hljs-atelier-cave-dark .hljs-template-variable,.hljs-atelier-cave-dark .hljs-attribute,.hljs-atelier-cave-dark .hljs-regexp,.hljs-atelier-cave-dark .hljs-link,.hljs-atelier-cave-dark .hljs-tag,.hljs-atelier-cave-dark .hljs-name,.hljs-atelier-cave-dark .hljs-selector-id,.hljs-atelier-cave-dark .hljs-selector-class{color:#be4678}.hljs-atelier-cave-dark .hljs-number,.hljs-atelier-cave-dark .hljs-meta,.hljs-atelier-cave-dark .hljs-built_in,.hljs-atelier-cave-dark .hljs-builtin-name,.hljs-atelier-cave-dark .hljs-literal,.hljs-atelier-cave-dark .hljs-type,.hljs-atelier-cave-dark .hljs-params{color:#aa573c}.hljs-atelier-cave-dark .hljs-string,.hljs-atelier-cave-dark .hljs-symbol,.hljs-atelier-cave-dark .hljs-bullet{color:#2a9292}.hljs-atelier-cave-dark .hljs-title,.hljs-atelier-cave-dark .hljs-section{color:#576ddb}.hljs-atelier-cave-dark .hljs-keyword,.hljs-atelier-cave-dark .hljs-selector-tag{color:#955ae7}.hljs-atelier-cave-dark .hljs-deletion,.hljs-atelier-cave-dark .hljs-addition{color:#19171c;display:inline-block;width:100%}.hljs-atelier-cave-dark .hljs-deletion{background-color:#be4678}.hljs-atelier-cave-dark .hljs-addition{background-color:#2a9292}.hljs-atelier-cave-dark .hljs{display:block;overflow-x:auto;background:#19171c;color:#8b8792;padding:.5em}.hljs-atelier-cave-dark .hljs-emphasis{font-style:italic}.hljs-atelier-cave-dark .hljs-strong{font-weight:bold}","atelier-cave-light":".hljs-atelier-cave-light .hljs-comment,.hljs-atelier-cave-light .hljs-quote{color:#655f6d}.hljs-atelier-cave-light .hljs-variable,.hljs-atelier-cave-light .hljs-template-variable,.hljs-atelier-cave-light .hljs-attribute,.hljs-atelier-cave-light .hljs-tag,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-regexp,.hljs-atelier-cave-light .hljs-link,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-name,.hljs-atelier-cave-light .hljs-selector-id,.hljs-atelier-cave-light .hljs-selector-class{color:#be4678}.hljs-atelier-cave-light .hljs-number,.hljs-atelier-cave-light .hljs-meta,.hljs-atelier-cave-light .hljs-built_in,.hljs-atelier-cave-light .hljs-builtin-name,.hljs-atelier-cave-light .hljs-literal,.hljs-atelier-cave-light .hljs-type,.hljs-atelier-cave-light .hljs-params{color:#aa573c}.hljs-atelier-cave-light .hljs-string,.hljs-atelier-cave-light .hljs-symbol,.hljs-atelier-cave-light .hljs-bullet{color:#2a9292}.hljs-atelier-cave-light .hljs-title,.hljs-atelier-cave-light .hljs-section{color:#576ddb}.hljs-atelier-cave-light .hljs-keyword,.hljs-atelier-cave-light .hljs-selector-tag{color:#955ae7}.hljs-atelier-cave-light .hljs-deletion,.hljs-atelier-cave-light .hljs-addition{color:#19171c;display:inline-block;width:100%}.hljs-atelier-cave-light .hljs-deletion{background-color:#be4678}.hljs-atelier-cave-light .hljs-addition{background-color:#2a9292}.hljs-atelier-cave-light .hljs{display:block;overflow-x:auto;background:#efecf4;color:#585260;padding:.5em}.hljs-atelier-cave-light .hljs-emphasis{font-style:italic}.hljs-atelier-cave-light .hljs-strong{font-weight:bold}","atelier-dune-dark":".hljs-atelier-dune-dark .hljs-comment,.hljs-atelier-dune-dark .hljs-quote{color:#999580}.hljs-atelier-dune-dark .hljs-variable,.hljs-atelier-dune-dark .hljs-template-variable,.hljs-atelier-dune-dark .hljs-attribute,.hljs-atelier-dune-dark .hljs-tag,.hljs-atelier-dune-dark .hljs-name,.hljs-atelier-dune-dark .hljs-regexp,.hljs-atelier-dune-dark .hljs-link,.hljs-atelier-dune-dark .hljs-name,.hljs-atelier-dune-dark .hljs-selector-id,.hljs-atelier-dune-dark .hljs-selector-class{color:#d73737}.hljs-atelier-dune-dark .hljs-number,.hljs-atelier-dune-dark .hljs-meta,.hljs-atelier-dune-dark .hljs-built_in,.hljs-atelier-dune-dark .hljs-builtin-name,.hljs-atelier-dune-dark .hljs-literal,.hljs-atelier-dune-dark .hljs-type,.hljs-atelier-dune-dark .hljs-params{color:#b65611}.hljs-atelier-dune-dark .hljs-string,.hljs-atelier-dune-dark .hljs-symbol,.hljs-atelier-dune-dark .hljs-bullet{color:#60ac39}.hljs-atelier-dune-dark .hljs-title,.hljs-atelier-dune-dark .hljs-section{color:#6684e1}.hljs-atelier-dune-dark .hljs-keyword,.hljs-atelier-dune-dark .hljs-selector-tag{color:#b854d4}.hljs-atelier-dune-dark .hljs{display:block;overflow-x:auto;background:#20201d;color:#a6a28c;padding:.5em}.hljs-atelier-dune-dark .hljs-emphasis{font-style:italic}.hljs-atelier-dune-dark .hljs-strong{font-weight:bold}","atelier-dune-light":".hljs-atelier-dune-light .hljs-comment,.hljs-atelier-dune-light .hljs-quote{color:#7d7a68}.hljs-atelier-dune-light .hljs-variable,.hljs-atelier-dune-light .hljs-template-variable,.hljs-atelier-dune-light .hljs-attribute,.hljs-atelier-dune-light .hljs-tag,.hljs-atelier-dune-light .hljs-name,.hljs-atelier-dune-light .hljs-regexp,.hljs-atelier-dune-light .hljs-link,.hljs-atelier-dune-light .hljs-name,.hljs-atelier-dune-light .hljs-selector-id,.hljs-atelier-dune-light .hljs-selector-class{color:#d73737}.hljs-atelier-dune-light .hljs-number,.hljs-atelier-dune-light .hljs-meta,.hljs-atelier-dune-light .hljs-built_in,.hljs-atelier-dune-light .hljs-builtin-name,.hljs-atelier-dune-light .hljs-literal,.hljs-atelier-dune-light .hljs-type,.hljs-atelier-dune-light .hljs-params{color:#b65611}.hljs-atelier-dune-light .hljs-string,.hljs-atelier-dune-light .hljs-symbol,.hljs-atelier-dune-light .hljs-bullet{color:#60ac39}.hljs-atelier-dune-light .hljs-title,.hljs-atelier-dune-light .hljs-section{color:#6684e1}.hljs-atelier-dune-light .hljs-keyword,.hljs-atelier-dune-light .hljs-selector-tag{color:#b854d4}.hljs-atelier-dune-light .hljs{display:block;overflow-x:auto;background:#fefbec;color:#6e6b5e;padding:.5em}.hljs-atelier-dune-light .hljs-emphasis{font-style:italic}.hljs-atelier-dune-light .hljs-strong{font-weight:bold}","atelier-estuary-dark":".hljs-atelier-estuary-dark .hljs-comment,.hljs-atelier-estuary-dark .hljs-quote{color:#878573}.hljs-atelier-estuary-dark .hljs-variable,.hljs-atelier-estuary-dark .hljs-template-variable,.hljs-atelier-estuary-dark .hljs-attribute,.hljs-atelier-estuary-dark .hljs-tag,.hljs-atelier-estuary-dark .hljs-name,.hljs-atelier-estuary-dark .hljs-regexp,.hljs-atelier-estuary-dark .hljs-link,.hljs-atelier-estuary-dark .hljs-name,.hljs-atelier-estuary-dark .hljs-selector-id,.hljs-atelier-estuary-dark .hljs-selector-class{color:#ba6236}.hljs-atelier-estuary-dark .hljs-number,.hljs-atelier-estuary-dark .hljs-meta,.hljs-atelier-estuary-dark .hljs-built_in,.hljs-atelier-estuary-dark .hljs-builtin-name,.hljs-atelier-estuary-dark .hljs-literal,.hljs-atelier-estuary-dark .hljs-type,.hljs-atelier-estuary-dark .hljs-params{color:#ae7313}.hljs-atelier-estuary-dark .hljs-string,.hljs-atelier-estuary-dark .hljs-symbol,.hljs-atelier-estuary-dark .hljs-bullet{color:#7d9726}.hljs-atelier-estuary-dark .hljs-title,.hljs-atelier-estuary-dark .hljs-section{color:#36a166}.hljs-atelier-estuary-dark .hljs-keyword,.hljs-atelier-estuary-dark .hljs-selector-tag{color:#5f9182}.hljs-atelier-estuary-dark .hljs-deletion,.hljs-atelier-estuary-dark .hljs-addition{color:#22221b;display:inline-block;width:100%}.hljs-atelier-estuary-dark .hljs-deletion{background-color:#ba6236}.hljs-atelier-estuary-dark .hljs-addition{background-color:#7d9726}.hljs-atelier-estuary-dark .hljs{display:block;overflow-x:auto;background:#22221b;color:#929181;padding:.5em}.hljs-atelier-estuary-dark .hljs-emphasis{font-style:italic}.hljs-atelier-estuary-dark .hljs-strong{font-weight:bold}","atelier-estuary-light":".hljs-atelier-estuary-light .hljs-comment,.hljs-atelier-estuary-light .hljs-quote{color:#6c6b5a}.hljs-atelier-estuary-light .hljs-variable,.hljs-atelier-estuary-light .hljs-template-variable,.hljs-atelier-estuary-light .hljs-attribute,.hljs-atelier-estuary-light .hljs-tag,.hljs-atelier-estuary-light .hljs-name,.hljs-atelier-estuary-light .hljs-regexp,.hljs-atelier-estuary-light .hljs-link,.hljs-atelier-estuary-light .hljs-name,.hljs-atelier-estuary-light .hljs-selector-id,.hljs-atelier-estuary-light .hljs-selector-class{color:#ba6236}.hljs-atelier-estuary-light .hljs-number,.hljs-atelier-estuary-light .hljs-meta,.hljs-atelier-estuary-light .hljs-built_in,.hljs-atelier-estuary-light .hljs-builtin-name,.hljs-atelier-estuary-light .hljs-literal,.hljs-atelier-estuary-light .hljs-type,.hljs-atelier-estuary-light .hljs-params{color:#ae7313}.hljs-atelier-estuary-light .hljs-string,.hljs-atelier-estuary-light .hljs-symbol,.hljs-atelier-estuary-light .hljs-bullet{color:#7d9726}.hljs-atelier-estuary-light .hljs-title,.hljs-atelier-estuary-light .hljs-section{color:#36a166}.hljs-atelier-estuary-light .hljs-keyword,.hljs-atelier-estuary-light .hljs-selector-tag{color:#5f9182}.hljs-atelier-estuary-light .hljs-deletion,.hljs-atelier-estuary-light .hljs-addition{color:#22221b;display:inline-block;width:100%}.hljs-atelier-estuary-light .hljs-deletion{background-color:#ba6236}.hljs-atelier-estuary-light .hljs-addition{background-color:#7d9726}.hljs-atelier-estuary-light .hljs{display:block;overflow-x:auto;background:#f4f3ec;color:#5f5e4e;padding:.5em}.hljs-atelier-estuary-light .hljs-emphasis{font-style:italic}.hljs-atelier-estuary-light .hljs-strong{font-weight:bold}","atelier-forest-dark":".hljs-atelier-forest-dark .hljs-comment,.hljs-atelier-forest-dark .hljs-quote{color:#9c9491}.hljs-atelier-forest-dark .hljs-variable,.hljs-atelier-forest-dark .hljs-template-variable,.hljs-atelier-forest-dark .hljs-attribute,.hljs-atelier-forest-dark .hljs-tag,.hljs-atelier-forest-dark .hljs-name,.hljs-atelier-forest-dark .hljs-regexp,.hljs-atelier-forest-dark .hljs-link,.hljs-atelier-forest-dark .hljs-name,.hljs-atelier-forest-dark .hljs-selector-id,.hljs-atelier-forest-dark .hljs-selector-class{color:#f22c40}.hljs-atelier-forest-dark .hljs-number,.hljs-atelier-forest-dark .hljs-meta,.hljs-atelier-forest-dark .hljs-built_in,.hljs-atelier-forest-dark .hljs-builtin-name,.hljs-atelier-forest-dark .hljs-literal,.hljs-atelier-forest-dark .hljs-type,.hljs-atelier-forest-dark .hljs-params{color:#df5320}.hljs-atelier-forest-dark .hljs-string,.hljs-atelier-forest-dark .hljs-symbol,.hljs-atelier-forest-dark .hljs-bullet{color:#7b9726}.hljs-atelier-forest-dark .hljs-title,.hljs-atelier-forest-dark .hljs-section{color:#407ee7}.hljs-atelier-forest-dark .hljs-keyword,.hljs-atelier-forest-dark .hljs-selector-tag{color:#6666ea}.hljs-atelier-forest-dark .hljs{display:block;overflow-x:auto;background:#1b1918;color:#a8a19f;padding:.5em}.hljs-atelier-forest-dark .hljs-emphasis{font-style:italic}.hljs-atelier-forest-dark .hljs-strong{font-weight:bold}","atelier-forest-light":".hljs-atelier-forest-light .hljs-comment,.hljs-atelier-forest-light .hljs-quote{color:#766e6b}.hljs-atelier-forest-light .hljs-variable,.hljs-atelier-forest-light .hljs-template-variable,.hljs-atelier-forest-light .hljs-attribute,.hljs-atelier-forest-light .hljs-tag,.hljs-atelier-forest-light .hljs-name,.hljs-atelier-forest-light .hljs-regexp,.hljs-atelier-forest-light .hljs-link,.hljs-atelier-forest-light .hljs-name,.hljs-atelier-forest-light .hljs-selector-id,.hljs-atelier-forest-light .hljs-selector-class{color:#f22c40}.hljs-atelier-forest-light .hljs-number,.hljs-atelier-forest-light .hljs-meta,.hljs-atelier-forest-light .hljs-built_in,.hljs-atelier-forest-light .hljs-builtin-name,.hljs-atelier-forest-light .hljs-literal,.hljs-atelier-forest-light .hljs-type,.hljs-atelier-forest-light .hljs-params{color:#df5320}.hljs-atelier-forest-light .hljs-string,.hljs-atelier-forest-light .hljs-symbol,.hljs-atelier-forest-light .hljs-bullet{color:#7b9726}.hljs-atelier-forest-light .hljs-title,.hljs-atelier-forest-light .hljs-section{color:#407ee7}.hljs-atelier-forest-light .hljs-keyword,.hljs-atelier-forest-light .hljs-selector-tag{color:#6666ea}.hljs-atelier-forest-light .hljs{display:block;overflow-x:auto;background:#f1efee;color:#68615e;padding:.5em}.hljs-atelier-forest-light .hljs-emphasis{font-style:italic}.hljs-atelier-forest-light .hljs-strong{font-weight:bold}","atelier-heath-dark":".hljs-atelier-heath-dark .hljs-comment,.hljs-atelier-heath-dark .hljs-quote{color:#9e8f9e}.hljs-atelier-heath-dark .hljs-variable,.hljs-atelier-heath-dark .hljs-template-variable,.hljs-atelier-heath-dark .hljs-attribute,.hljs-atelier-heath-dark .hljs-tag,.hljs-atelier-heath-dark .hljs-name,.hljs-atelier-heath-dark .hljs-regexp,.hljs-atelier-heath-dark .hljs-link,.hljs-atelier-heath-dark .hljs-name,.hljs-atelier-heath-dark .hljs-selector-id,.hljs-atelier-heath-dark .hljs-selector-class{color:#ca402b}.hljs-atelier-heath-dark .hljs-number,.hljs-atelier-heath-dark .hljs-meta,.hljs-atelier-heath-dark .hljs-built_in,.hljs-atelier-heath-dark .hljs-builtin-name,.hljs-atelier-heath-dark .hljs-literal,.hljs-atelier-heath-dark .hljs-type,.hljs-atelier-heath-dark .hljs-params{color:#a65926}.hljs-atelier-heath-dark .hljs-string,.hljs-atelier-heath-dark .hljs-symbol,.hljs-atelier-heath-dark .hljs-bullet{color:#918b3b}.hljs-atelier-heath-dark .hljs-title,.hljs-atelier-heath-dark .hljs-section{color:#516aec}.hljs-atelier-heath-dark .hljs-keyword,.hljs-atelier-heath-dark .hljs-selector-tag{color:#7b59c0}.hljs-atelier-heath-dark .hljs{display:block;overflow-x:auto;background:#1b181b;color:#ab9bab;padding:.5em}.hljs-atelier-heath-dark .hljs-emphasis{font-style:italic}.hljs-atelier-heath-dark .hljs-strong{font-weight:bold}","atelier-heath-light":".hljs-atelier-heath-light .hljs-comment,.hljs-atelier-heath-light .hljs-quote{color:#776977}.hljs-atelier-heath-light .hljs-variable,.hljs-atelier-heath-light .hljs-template-variable,.hljs-atelier-heath-light .hljs-attribute,.hljs-atelier-heath-light .hljs-tag,.hljs-atelier-heath-light .hljs-name,.hljs-atelier-heath-light .hljs-regexp,.hljs-atelier-heath-light .hljs-link,.hljs-atelier-heath-light .hljs-name,.hljs-atelier-heath-light .hljs-selector-id,.hljs-atelier-heath-light .hljs-selector-class{color:#ca402b}.hljs-atelier-heath-light .hljs-number,.hljs-atelier-heath-light .hljs-meta,.hljs-atelier-heath-light .hljs-built_in,.hljs-atelier-heath-light .hljs-builtin-name,.hljs-atelier-heath-light .hljs-literal,.hljs-atelier-heath-light .hljs-type,.hljs-atelier-heath-light .hljs-params{color:#a65926}.hljs-atelier-heath-light .hljs-string,.hljs-atelier-heath-light .hljs-symbol,.hljs-atelier-heath-light .hljs-bullet{color:#918b3b}.hljs-atelier-heath-light .hljs-title,.hljs-atelier-heath-light .hljs-section{color:#516aec}.hljs-atelier-heath-light .hljs-keyword,.hljs-atelier-heath-light .hljs-selector-tag{color:#7b59c0}.hljs-atelier-heath-light .hljs{display:block;overflow-x:auto;background:#f7f3f7;color:#695d69;padding:.5em}.hljs-atelier-heath-light .hljs-emphasis{font-style:italic}.hljs-atelier-heath-light .hljs-strong{font-weight:bold}","atelier-lakeside-dark":".hljs-atelier-lakeside-dark .hljs-comment,.hljs-atelier-lakeside-dark .hljs-quote{color:#7195a8}.hljs-atelier-lakeside-dark .hljs-variable,.hljs-atelier-lakeside-dark .hljs-template-variable,.hljs-atelier-lakeside-dark .hljs-attribute,.hljs-atelier-lakeside-dark .hljs-tag,.hljs-atelier-lakeside-dark .hljs-name,.hljs-atelier-lakeside-dark .hljs-regexp,.hljs-atelier-lakeside-dark .hljs-link,.hljs-atelier-lakeside-dark .hljs-name,.hljs-atelier-lakeside-dark .hljs-selector-id,.hljs-atelier-lakeside-dark .hljs-selector-class{color:#d22d72}.hljs-atelier-lakeside-dark .hljs-number,.hljs-atelier-lakeside-dark .hljs-meta,.hljs-atelier-lakeside-dark .hljs-built_in,.hljs-atelier-lakeside-dark .hljs-builtin-name,.hljs-atelier-lakeside-dark .hljs-literal,.hljs-atelier-lakeside-dark .hljs-type,.hljs-atelier-lakeside-dark .hljs-params{color:#935c25}.hljs-atelier-lakeside-dark .hljs-string,.hljs-atelier-lakeside-dark .hljs-symbol,.hljs-atelier-lakeside-dark .hljs-bullet{color:#568c3b}.hljs-atelier-lakeside-dark .hljs-title,.hljs-atelier-lakeside-dark .hljs-section{color:#257fad}.hljs-atelier-lakeside-dark .hljs-keyword,.hljs-atelier-lakeside-dark .hljs-selector-tag{color:#6b6bb8}.hljs-atelier-lakeside-dark .hljs{display:block;overflow-x:auto;background:#161b1d;color:#7ea2b4;padding:.5em}.hljs-atelier-lakeside-dark .hljs-emphasis{font-style:italic}.hljs-atelier-lakeside-dark .hljs-strong{font-weight:bold}","atelier-lakeside-light":".hljs-atelier-lakeside-light .hljs-comment,.hljs-atelier-lakeside-light .hljs-quote{color:#5a7b8c}.hljs-atelier-lakeside-light .hljs-variable,.hljs-atelier-lakeside-light .hljs-template-variable,.hljs-atelier-lakeside-light .hljs-attribute,.hljs-atelier-lakeside-light .hljs-tag,.hljs-atelier-lakeside-light .hljs-name,.hljs-atelier-lakeside-light .hljs-regexp,.hljs-atelier-lakeside-light .hljs-link,.hljs-atelier-lakeside-light .hljs-name,.hljs-atelier-lakeside-light .hljs-selector-id,.hljs-atelier-lakeside-light .hljs-selector-class{color:#d22d72}.hljs-atelier-lakeside-light .hljs-number,.hljs-atelier-lakeside-light .hljs-meta,.hljs-atelier-lakeside-light .hljs-built_in,.hljs-atelier-lakeside-light .hljs-builtin-name,.hljs-atelier-lakeside-light .hljs-literal,.hljs-atelier-lakeside-light .hljs-type,.hljs-atelier-lakeside-light .hljs-params{color:#935c25}.hljs-atelier-lakeside-light .hljs-string,.hljs-atelier-lakeside-light .hljs-symbol,.hljs-atelier-lakeside-light .hljs-bullet{color:#568c3b}.hljs-atelier-lakeside-light .hljs-title,.hljs-atelier-lakeside-light .hljs-section{color:#257fad}.hljs-atelier-lakeside-light .hljs-keyword,.hljs-atelier-lakeside-light .hljs-selector-tag{color:#6b6bb8}.hljs-atelier-lakeside-light .hljs{display:block;overflow-x:auto;background:#ebf8ff;color:#516d7b;padding:.5em}.hljs-atelier-lakeside-light .hljs-emphasis{font-style:italic}.hljs-atelier-lakeside-light .hljs-strong{font-weight:bold}","atelier-plateau-dark":".hljs-atelier-plateau-dark .hljs-comment,.hljs-atelier-plateau-dark .hljs-quote{color:#7e7777}.hljs-atelier-plateau-dark .hljs-variable,.hljs-atelier-plateau-dark .hljs-template-variable,.hljs-atelier-plateau-dark .hljs-attribute,.hljs-atelier-plateau-dark .hljs-tag,.hljs-atelier-plateau-dark .hljs-name,.hljs-atelier-plateau-dark .hljs-regexp,.hljs-atelier-plateau-dark .hljs-link,.hljs-atelier-plateau-dark .hljs-name,.hljs-atelier-plateau-dark .hljs-selector-id,.hljs-atelier-plateau-dark .hljs-selector-class{color:#ca4949}.hljs-atelier-plateau-dark .hljs-number,.hljs-atelier-plateau-dark .hljs-meta,.hljs-atelier-plateau-dark .hljs-built_in,.hljs-atelier-plateau-dark .hljs-builtin-name,.hljs-atelier-plateau-dark .hljs-literal,.hljs-atelier-plateau-dark .hljs-type,.hljs-atelier-plateau-dark .hljs-params{color:#b45a3c}.hljs-atelier-plateau-dark .hljs-string,.hljs-atelier-plateau-dark .hljs-symbol,.hljs-atelier-plateau-dark .hljs-bullet{color:#4b8b8b}.hljs-atelier-plateau-dark .hljs-title,.hljs-atelier-plateau-dark .hljs-section{color:#7272ca}.hljs-atelier-plateau-dark .hljs-keyword,.hljs-atelier-plateau-dark .hljs-selector-tag{color:#8464c4}.hljs-atelier-plateau-dark .hljs-deletion,.hljs-atelier-plateau-dark .hljs-addition{color:#1b1818;display:inline-block;width:100%}.hljs-atelier-plateau-dark .hljs-deletion{background-color:#ca4949}.hljs-atelier-plateau-dark .hljs-addition{background-color:#4b8b8b}.hljs-atelier-plateau-dark .hljs{display:block;overflow-x:auto;background:#1b1818;color:#8a8585;padding:.5em}.hljs-atelier-plateau-dark .hljs-emphasis{font-style:italic}.hljs-atelier-plateau-dark .hljs-strong{font-weight:bold}","atelier-plateau-light":".hljs-atelier-plateau-light .hljs-comment,.hljs-atelier-plateau-light .hljs-quote{color:#655d5d}.hljs-atelier-plateau-light .hljs-variable,.hljs-atelier-plateau-light .hljs-template-variable,.hljs-atelier-plateau-light .hljs-attribute,.hljs-atelier-plateau-light .hljs-tag,.hljs-atelier-plateau-light .hljs-name,.hljs-atelier-plateau-light .hljs-regexp,.hljs-atelier-plateau-light .hljs-link,.hljs-atelier-plateau-light .hljs-name,.hljs-atelier-plateau-light .hljs-selector-id,.hljs-atelier-plateau-light .hljs-selector-class{color:#ca4949}.hljs-atelier-plateau-light .hljs-number,.hljs-atelier-plateau-light .hljs-meta,.hljs-atelier-plateau-light .hljs-built_in,.hljs-atelier-plateau-light .hljs-builtin-name,.hljs-atelier-plateau-light .hljs-literal,.hljs-atelier-plateau-light .hljs-type,.hljs-atelier-plateau-light .hljs-params{color:#b45a3c}.hljs-atelier-plateau-light .hljs-string,.hljs-atelier-plateau-light .hljs-symbol,.hljs-atelier-plateau-light .hljs-bullet{color:#4b8b8b}.hljs-atelier-plateau-light .hljs-title,.hljs-atelier-plateau-light .hljs-section{color:#7272ca}.hljs-atelier-plateau-light .hljs-keyword,.hljs-atelier-plateau-light .hljs-selector-tag{color:#8464c4}.hljs-atelier-plateau-light .hljs-deletion,.hljs-atelier-plateau-light .hljs-addition{color:#1b1818;display:inline-block;width:100%}.hljs-atelier-plateau-light .hljs-deletion{background-color:#ca4949}.hljs-atelier-plateau-light .hljs-addition{background-color:#4b8b8b}.hljs-atelier-plateau-light .hljs{display:block;overflow-x:auto;background:#f4ecec;color:#585050;padding:.5em}.hljs-atelier-plateau-light .hljs-emphasis{font-style:italic}.hljs-atelier-plateau-light .hljs-strong{font-weight:bold}","atelier-savanna-dark":".hljs-atelier-savanna-dark .hljs-comment,.hljs-atelier-savanna-dark .hljs-quote{color:#78877d}.hljs-atelier-savanna-dark .hljs-variable,.hljs-atelier-savanna-dark .hljs-template-variable,.hljs-atelier-savanna-dark .hljs-attribute,.hljs-atelier-savanna-dark .hljs-tag,.hljs-atelier-savanna-dark .hljs-name,.hljs-atelier-savanna-dark .hljs-regexp,.hljs-atelier-savanna-dark .hljs-link,.hljs-atelier-savanna-dark .hljs-name,.hljs-atelier-savanna-dark .hljs-selector-id,.hljs-atelier-savanna-dark .hljs-selector-class{color:#b16139}.hljs-atelier-savanna-dark .hljs-number,.hljs-atelier-savanna-dark .hljs-meta,.hljs-atelier-savanna-dark .hljs-built_in,.hljs-atelier-savanna-dark .hljs-builtin-name,.hljs-atelier-savanna-dark .hljs-literal,.hljs-atelier-savanna-dark .hljs-type,.hljs-atelier-savanna-dark .hljs-params{color:#9f713c}.hljs-atelier-savanna-dark .hljs-string,.hljs-atelier-savanna-dark .hljs-symbol,.hljs-atelier-savanna-dark .hljs-bullet{color:#489963}.hljs-atelier-savanna-dark .hljs-title,.hljs-atelier-savanna-dark .hljs-section{color:#478c90}.hljs-atelier-savanna-dark .hljs-keyword,.hljs-atelier-savanna-dark .hljs-selector-tag{color:#55859b}.hljs-atelier-savanna-dark .hljs-deletion,.hljs-atelier-savanna-dark .hljs-addition{color:#171c19;display:inline-block;width:100%}.hljs-atelier-savanna-dark .hljs-deletion{background-color:#b16139}.hljs-atelier-savanna-dark .hljs-addition{background-color:#489963}.hljs-atelier-savanna-dark .hljs{display:block;overflow-x:auto;background:#171c19;color:#87928a;padding:.5em}.hljs-atelier-savanna-dark .hljs-emphasis{font-style:italic}.hljs-atelier-savanna-dark .hljs-strong{font-weight:bold}","atelier-savanna-light":".hljs-atelier-savanna-light .hljs-comment,.hljs-atelier-savanna-light .hljs-quote{color:#5f6d64}.hljs-atelier-savanna-light .hljs-variable,.hljs-atelier-savanna-light .hljs-template-variable,.hljs-atelier-savanna-light .hljs-attribute,.hljs-atelier-savanna-light .hljs-tag,.hljs-atelier-savanna-light .hljs-name,.hljs-atelier-savanna-light .hljs-regexp,.hljs-atelier-savanna-light .hljs-link,.hljs-atelier-savanna-light .hljs-name,.hljs-atelier-savanna-light .hljs-selector-id,.hljs-atelier-savanna-light .hljs-selector-class{color:#b16139}.hljs-atelier-savanna-light .hljs-number,.hljs-atelier-savanna-light .hljs-meta,.hljs-atelier-savanna-light .hljs-built_in,.hljs-atelier-savanna-light .hljs-builtin-name,.hljs-atelier-savanna-light .hljs-literal,.hljs-atelier-savanna-light .hljs-type,.hljs-atelier-savanna-light .hljs-params{color:#9f713c}.hljs-atelier-savanna-light .hljs-string,.hljs-atelier-savanna-light .hljs-symbol,.hljs-atelier-savanna-light .hljs-bullet{color:#489963}.hljs-atelier-savanna-light .hljs-title,.hljs-atelier-savanna-light .hljs-section{color:#478c90}.hljs-atelier-savanna-light .hljs-keyword,.hljs-atelier-savanna-light .hljs-selector-tag{color:#55859b}.hljs-atelier-savanna-light .hljs-deletion,.hljs-atelier-savanna-light .hljs-addition{color:#171c19;display:inline-block;width:100%}.hljs-atelier-savanna-light .hljs-deletion{background-color:#b16139}.hljs-atelier-savanna-light .hljs-addition{background-color:#489963}.hljs-atelier-savanna-light .hljs{display:block;overflow-x:auto;background:#ecf4ee;color:#526057;padding:.5em}.hljs-atelier-savanna-light .hljs-emphasis{font-style:italic}.hljs-atelier-savanna-light .hljs-strong{font-weight:bold}","atelier-seaside-dark":".hljs-atelier-seaside-dark .hljs-comment,.hljs-atelier-seaside-dark .hljs-quote{color:#809980}.hljs-atelier-seaside-dark .hljs-variable,.hljs-atelier-seaside-dark .hljs-template-variable,.hljs-atelier-seaside-dark .hljs-attribute,.hljs-atelier-seaside-dark .hljs-tag,.hljs-atelier-seaside-dark .hljs-name,.hljs-atelier-seaside-dark .hljs-regexp,.hljs-atelier-seaside-dark .hljs-link,.hljs-atelier-seaside-dark .hljs-name,.hljs-atelier-seaside-dark .hljs-selector-id,.hljs-atelier-seaside-dark .hljs-selector-class{color:#e6193c}.hljs-atelier-seaside-dark .hljs-number,.hljs-atelier-seaside-dark .hljs-meta,.hljs-atelier-seaside-dark .hljs-built_in,.hljs-atelier-seaside-dark .hljs-builtin-name,.hljs-atelier-seaside-dark .hljs-literal,.hljs-atelier-seaside-dark .hljs-type,.hljs-atelier-seaside-dark .hljs-params{color:#87711d}.hljs-atelier-seaside-dark .hljs-string,.hljs-atelier-seaside-dark .hljs-symbol,.hljs-atelier-seaside-dark .hljs-bullet{color:#29a329}.hljs-atelier-seaside-dark .hljs-title,.hljs-atelier-seaside-dark .hljs-section{color:#3d62f5}.hljs-atelier-seaside-dark .hljs-keyword,.hljs-atelier-seaside-dark .hljs-selector-tag{color:#ad2bee}.hljs-atelier-seaside-dark .hljs{display:block;overflow-x:auto;background:#131513;color:#8ca68c;padding:.5em}.hljs-atelier-seaside-dark .hljs-emphasis{font-style:italic}.hljs-atelier-seaside-dark .hljs-strong{font-weight:bold}","atelier-seaside-light":".hljs-atelier-seaside-light .hljs-comment,.hljs-atelier-seaside-light .hljs-quote{color:#687d68}.hljs-atelier-seaside-light .hljs-variable,.hljs-atelier-seaside-light .hljs-template-variable,.hljs-atelier-seaside-light .hljs-attribute,.hljs-atelier-seaside-light .hljs-tag,.hljs-atelier-seaside-light .hljs-name,.hljs-atelier-seaside-light .hljs-regexp,.hljs-atelier-seaside-light .hljs-link,.hljs-atelier-seaside-light .hljs-name,.hljs-atelier-seaside-light .hljs-selector-id,.hljs-atelier-seaside-light .hljs-selector-class{color:#e6193c}.hljs-atelier-seaside-light .hljs-number,.hljs-atelier-seaside-light .hljs-meta,.hljs-atelier-seaside-light .hljs-built_in,.hljs-atelier-seaside-light .hljs-builtin-name,.hljs-atelier-seaside-light .hljs-literal,.hljs-atelier-seaside-light .hljs-type,.hljs-atelier-seaside-light .hljs-params{color:#87711d}.hljs-atelier-seaside-light .hljs-string,.hljs-atelier-seaside-light .hljs-symbol,.hljs-atelier-seaside-light .hljs-bullet{color:#29a329}.hljs-atelier-seaside-light .hljs-title,.hljs-atelier-seaside-light .hljs-section{color:#3d62f5}.hljs-atelier-seaside-light .hljs-keyword,.hljs-atelier-seaside-light .hljs-selector-tag{color:#ad2bee}.hljs-atelier-seaside-light .hljs{display:block;overflow-x:auto;background:#f4fbf4;color:#5e6e5e;padding:.5em}.hljs-atelier-seaside-light .hljs-emphasis{font-style:italic}.hljs-atelier-seaside-light .hljs-strong{font-weight:bold}","atelier-sulphurpool-dark":".hljs-atelier-sulphurpool-dark .hljs-comment,.hljs-atelier-sulphurpool-dark .hljs-quote{color:#898ea4}.hljs-atelier-sulphurpool-dark .hljs-variable,.hljs-atelier-sulphurpool-dark .hljs-template-variable,.hljs-atelier-sulphurpool-dark .hljs-attribute,.hljs-atelier-sulphurpool-dark .hljs-tag,.hljs-atelier-sulphurpool-dark .hljs-name,.hljs-atelier-sulphurpool-dark .hljs-regexp,.hljs-atelier-sulphurpool-dark .hljs-link,.hljs-atelier-sulphurpool-dark .hljs-name,.hljs-atelier-sulphurpool-dark .hljs-selector-id,.hljs-atelier-sulphurpool-dark .hljs-selector-class{color:#c94922}.hljs-atelier-sulphurpool-dark .hljs-number,.hljs-atelier-sulphurpool-dark .hljs-meta,.hljs-atelier-sulphurpool-dark .hljs-built_in,.hljs-atelier-sulphurpool-dark .hljs-builtin-name,.hljs-atelier-sulphurpool-dark .hljs-literal,.hljs-atelier-sulphurpool-dark .hljs-type,.hljs-atelier-sulphurpool-dark .hljs-params{color:#c76b29}.hljs-atelier-sulphurpool-dark .hljs-string,.hljs-atelier-sulphurpool-dark .hljs-symbol,.hljs-atelier-sulphurpool-dark .hljs-bullet{color:#ac9739}.hljs-atelier-sulphurpool-dark .hljs-title,.hljs-atelier-sulphurpool-dark .hljs-section{color:#3d8fd1}.hljs-atelier-sulphurpool-dark .hljs-keyword,.hljs-atelier-sulphurpool-dark .hljs-selector-tag{color:#6679cc}.hljs-atelier-sulphurpool-dark .hljs{display:block;overflow-x:auto;background:#202746;color:#979db4;padding:.5em}.hljs-atelier-sulphurpool-dark .hljs-emphasis{font-style:italic}.hljs-atelier-sulphurpool-dark .hljs-strong{font-weight:bold}","atelier-sulphurpool-light":".hljs-atelier-sulphurpool-light .hljs-comment,.hljs-atelier-sulphurpool-light .hljs-quote{color:#6b7394}.hljs-atelier-sulphurpool-light .hljs-variable,.hljs-atelier-sulphurpool-light .hljs-template-variable,.hljs-atelier-sulphurpool-light .hljs-attribute,.hljs-atelier-sulphurpool-light .hljs-tag,.hljs-atelier-sulphurpool-light .hljs-name,.hljs-atelier-sulphurpool-light .hljs-regexp,.hljs-atelier-sulphurpool-light .hljs-link,.hljs-atelier-sulphurpool-light .hljs-name,.hljs-atelier-sulphurpool-light .hljs-selector-id,.hljs-atelier-sulphurpool-light .hljs-selector-class{color:#c94922}.hljs-atelier-sulphurpool-light .hljs-number,.hljs-atelier-sulphurpool-light .hljs-meta,.hljs-atelier-sulphurpool-light .hljs-built_in,.hljs-atelier-sulphurpool-light .hljs-builtin-name,.hljs-atelier-sulphurpool-light .hljs-literal,.hljs-atelier-sulphurpool-light .hljs-type,.hljs-atelier-sulphurpool-light .hljs-params{color:#c76b29}.hljs-atelier-sulphurpool-light .hljs-string,.hljs-atelier-sulphurpool-light .hljs-symbol,.hljs-atelier-sulphurpool-light .hljs-bullet{color:#ac9739}.hljs-atelier-sulphurpool-light .hljs-title,.hljs-atelier-sulphurpool-light .hljs-section{color:#3d8fd1}.hljs-atelier-sulphurpool-light .hljs-keyword,.hljs-atelier-sulphurpool-light .hljs-selector-tag{color:#6679cc}.hljs-atelier-sulphurpool-light .hljs{display:block;overflow-x:auto;background:#f5f7ff;color:#5e6687;padding:.5em}.hljs-atelier-sulphurpool-light .hljs-emphasis{font-style:italic}.hljs-atelier-sulphurpool-light .hljs-strong{font-weight:bold}","atom-one-dark-reasonable":".hljs-atom-one-dark-reasonable .hljs{display:block;overflow-x:auto;padding:.5em;line-height:1.3em;color:#abb2bf;background:#282c34;border-radius:5px}.hljs-atom-one-dark-reasonable .hljs-keyword,.hljs-atom-one-dark-reasonable .hljs-operator{color:#F92672}.hljs-atom-one-dark-reasonable .hljs-pattern-match{color:#F92672}.hljs-atom-one-dark-reasonable .hljs-pattern-match .hljs-constructor{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-function{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-function .hljs-params{color:#A6E22E}.hljs-atom-one-dark-reasonable .hljs-function .hljs-params .hljs-typing{color:#FD971F}.hljs-atom-one-dark-reasonable .hljs-module-access .hljs-module{color:#7e57c2}.hljs-atom-one-dark-reasonable .hljs-constructor{color:#e2b93d}.hljs-atom-one-dark-reasonable .hljs-constructor .hljs-string{color:#9CCC65}.hljs-atom-one-dark-reasonable .hljs-comment,.hljs-atom-one-dark-reasonable .hljs-quote{color:#b18eb1;font-style:italic}.hljs-atom-one-dark-reasonable .hljs-doctag,.hljs-atom-one-dark-reasonable .hljs-formula{color:#c678dd}.hljs-atom-one-dark-reasonable .hljs-section,.hljs-atom-one-dark-reasonable .hljs-name,.hljs-atom-one-dark-reasonable .hljs-selector-tag,.hljs-atom-one-dark-reasonable .hljs-deletion,.hljs-atom-one-dark-reasonable .hljs-subst{color:#e06c75}.hljs-atom-one-dark-reasonable .hljs-literal{color:#56b6c2}.hljs-atom-one-dark-reasonable .hljs-string,.hljs-atom-one-dark-reasonable .hljs-regexp,.hljs-atom-one-dark-reasonable .hljs-addition,.hljs-atom-one-dark-reasonable .hljs-attribute,.hljs-atom-one-dark-reasonable .hljs-meta-string{color:#98c379}.hljs-atom-one-dark-reasonable .hljs-built_in,.hljs-atom-one-dark-reasonable .hljs-class .hljs-title{color:#e6c07b}.hljs-atom-one-dark-reasonable .hljs-attr,.hljs-atom-one-dark-reasonable .hljs-variable,.hljs-atom-one-dark-reasonable .hljs-template-variable,.hljs-atom-one-dark-reasonable .hljs-type,.hljs-atom-one-dark-reasonable .hljs-selector-class,.hljs-atom-one-dark-reasonable .hljs-selector-attr,.hljs-atom-one-dark-reasonable .hljs-selector-pseudo,.hljs-atom-one-dark-reasonable .hljs-number{color:#d19a66}.hljs-atom-one-dark-reasonable .hljs-symbol,.hljs-atom-one-dark-reasonable .hljs-bullet,.hljs-atom-one-dark-reasonable .hljs-link,.hljs-atom-one-dark-reasonable .hljs-meta,.hljs-atom-one-dark-reasonable .hljs-selector-id,.hljs-atom-one-dark-reasonable .hljs-title{color:#61aeee}.hljs-atom-one-dark-reasonable .hljs-emphasis{font-style:italic}.hljs-atom-one-dark-reasonable .hljs-strong{font-weight:bold}.hljs-atom-one-dark-reasonable .hljs-link{text-decoration:underline}","atom-one-dark":".hljs-atom-one-dark .hljs{display:block;overflow-x:auto;padding:.5em;color:#abb2bf;background:#282c34}.hljs-atom-one-dark .hljs-comment,.hljs-atom-one-dark .hljs-quote{color:#5c6370;font-style:italic}.hljs-atom-one-dark .hljs-doctag,.hljs-atom-one-dark .hljs-keyword,.hljs-atom-one-dark .hljs-formula{color:#c678dd}.hljs-atom-one-dark .hljs-section,.hljs-atom-one-dark .hljs-name,.hljs-atom-one-dark .hljs-selector-tag,.hljs-atom-one-dark .hljs-deletion,.hljs-atom-one-dark .hljs-subst{color:#e06c75}.hljs-atom-one-dark .hljs-literal{color:#56b6c2}.hljs-atom-one-dark .hljs-string,.hljs-atom-one-dark .hljs-regexp,.hljs-atom-one-dark .hljs-addition,.hljs-atom-one-dark .hljs-attribute,.hljs-atom-one-dark .hljs-meta-string{color:#98c379}.hljs-atom-one-dark .hljs-built_in,.hljs-atom-one-dark .hljs-class .hljs-title{color:#e6c07b}.hljs-atom-one-dark .hljs-attr,.hljs-atom-one-dark .hljs-variable,.hljs-atom-one-dark .hljs-template-variable,.hljs-atom-one-dark .hljs-type,.hljs-atom-one-dark .hljs-selector-class,.hljs-atom-one-dark .hljs-selector-attr,.hljs-atom-one-dark .hljs-selector-pseudo,.hljs-atom-one-dark .hljs-number{color:#d19a66}.hljs-atom-one-dark .hljs-symbol,.hljs-atom-one-dark .hljs-bullet,.hljs-atom-one-dark .hljs-link,.hljs-atom-one-dark .hljs-meta,.hljs-atom-one-dark .hljs-selector-id,.hljs-atom-one-dark .hljs-title{color:#61aeee}.hljs-atom-one-dark .hljs-emphasis{font-style:italic}.hljs-atom-one-dark .hljs-strong{font-weight:bold}.hljs-atom-one-dark .hljs-link{text-decoration:underline}","atom-one-light":".hljs-atom-one-light .hljs{display:block;overflow-x:auto;padding:.5em;color:#383a42;background:#fafafa}.hljs-atom-one-light .hljs-comment,.hljs-atom-one-light .hljs-quote{color:#a0a1a7;font-style:italic}.hljs-atom-one-light .hljs-doctag,.hljs-atom-one-light .hljs-keyword,.hljs-atom-one-light .hljs-formula{color:#a626a4}.hljs-atom-one-light .hljs-section,.hljs-atom-one-light .hljs-name,.hljs-atom-one-light .hljs-selector-tag,.hljs-atom-one-light .hljs-deletion,.hljs-atom-one-light .hljs-subst{color:#e45649}.hljs-atom-one-light .hljs-literal{color:#0184bb}.hljs-atom-one-light .hljs-string,.hljs-atom-one-light .hljs-regexp,.hljs-atom-one-light .hljs-addition,.hljs-atom-one-light .hljs-attribute,.hljs-atom-one-light .hljs-meta-string{color:#50a14f}.hljs-atom-one-light .hljs-built_in,.hljs-atom-one-light .hljs-class .hljs-title{color:#c18401}.hljs-atom-one-light .hljs-attr,.hljs-atom-one-light .hljs-variable,.hljs-atom-one-light .hljs-template-variable,.hljs-atom-one-light .hljs-type,.hljs-atom-one-light .hljs-selector-class,.hljs-atom-one-light .hljs-selector-attr,.hljs-atom-one-light .hljs-selector-pseudo,.hljs-atom-one-light .hljs-number{color:#986801}.hljs-atom-one-light .hljs-symbol,.hljs-atom-one-light .hljs-bullet,.hljs-atom-one-light .hljs-link,.hljs-atom-one-light .hljs-meta,.hljs-atom-one-light .hljs-selector-id,.hljs-atom-one-light .hljs-title{color:#4078f2}.hljs-atom-one-light .hljs-emphasis{font-style:italic}.hljs-atom-one-light .hljs-strong{font-weight:bold}.hljs-atom-one-light .hljs-link{text-decoration:underline}","brown-paper":".hljs-brown-paper .hljs{display:block;overflow-x:auto;padding:.5em;background:#b7a68e url(./brown-papersq.png)}.hljs-brown-paper .hljs-keyword,.hljs-brown-paper .hljs-selector-tag,.hljs-brown-paper .hljs-literal{color:#005599;font-weight:bold}.hljs-brown-paper .hljs,.hljs-brown-paper .hljs-subst{color:#363c69}.hljs-brown-paper .hljs-string,.hljs-brown-paper .hljs-title,.hljs-brown-paper .hljs-section,.hljs-brown-paper .hljs-type,.hljs-brown-paper .hljs-attribute,.hljs-brown-paper .hljs-symbol,.hljs-brown-paper .hljs-bullet,.hljs-brown-paper .hljs-built_in,.hljs-brown-paper .hljs-addition,.hljs-brown-paper .hljs-variable,.hljs-brown-paper .hljs-template-tag,.hljs-brown-paper .hljs-template-variable,.hljs-brown-paper .hljs-link,.hljs-brown-paper .hljs-name{color:#2c009f}.hljs-brown-paper .hljs-comment,.hljs-brown-paper .hljs-quote,.hljs-brown-paper .hljs-meta,.hljs-brown-paper .hljs-deletion{color:#802022}.hljs-brown-paper .hljs-keyword,.hljs-brown-paper .hljs-selector-tag,.hljs-brown-paper .hljs-literal,.hljs-brown-paper .hljs-doctag,.hljs-brown-paper .hljs-title,.hljs-brown-paper .hljs-section,.hljs-brown-paper .hljs-type,.hljs-brown-paper .hljs-name,.hljs-brown-paper .hljs-strong{font-weight:bold}.hljs-brown-paper .hljs-emphasis{font-style:italic}","codepen-embed":".hljs-codepen-embed .hljs{display:block;overflow-x:auto;padding:.5em;background:#222;color:#fff}.hljs-codepen-embed .hljs-comment,.hljs-codepen-embed .hljs-quote{color:#777}.hljs-codepen-embed .hljs-variable,.hljs-codepen-embed .hljs-template-variable,.hljs-codepen-embed .hljs-tag,.hljs-codepen-embed .hljs-regexp,.hljs-codepen-embed .hljs-meta,.hljs-codepen-embed .hljs-number,.hljs-codepen-embed .hljs-built_in,.hljs-codepen-embed .hljs-builtin-name,.hljs-codepen-embed .hljs-literal,.hljs-codepen-embed .hljs-params,.hljs-codepen-embed .hljs-symbol,.hljs-codepen-embed .hljs-bullet,.hljs-codepen-embed .hljs-link,.hljs-codepen-embed .hljs-deletion{color:#ab875d}.hljs-codepen-embed .hljs-section,.hljs-codepen-embed .hljs-title,.hljs-codepen-embed .hljs-name,.hljs-codepen-embed .hljs-selector-id,.hljs-codepen-embed .hljs-selector-class,.hljs-codepen-embed .hljs-type,.hljs-codepen-embed .hljs-attribute{color:#9b869b}.hljs-codepen-embed .hljs-string,.hljs-codepen-embed .hljs-keyword,.hljs-codepen-embed .hljs-selector-tag,.hljs-codepen-embed .hljs-addition{color:#8f9c6c}.hljs-codepen-embed .hljs-emphasis{font-style:italic}.hljs-codepen-embed .hljs-strong{font-weight:bold}","color-brewer":".hljs-color-brewer .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff}.hljs-color-brewer .hljs,.hljs-color-brewer .hljs-subst{color:#000}.hljs-color-brewer .hljs-string,.hljs-color-brewer .hljs-meta,.hljs-color-brewer .hljs-symbol,.hljs-color-brewer .hljs-template-tag,.hljs-color-brewer .hljs-template-variable,.hljs-color-brewer .hljs-addition{color:#756bb1}.hljs-color-brewer .hljs-comment,.hljs-color-brewer .hljs-quote{color:#636363}.hljs-color-brewer .hljs-number,.hljs-color-brewer .hljs-regexp,.hljs-color-brewer .hljs-literal,.hljs-color-brewer .hljs-bullet,.hljs-color-brewer .hljs-link{color:#31a354}.hljs-color-brewer .hljs-deletion,.hljs-color-brewer .hljs-variable{color:#88f}.hljs-color-brewer .hljs-keyword,.hljs-color-brewer .hljs-selector-tag,.hljs-color-brewer .hljs-title,.hljs-color-brewer .hljs-section,.hljs-color-brewer .hljs-built_in,.hljs-color-brewer .hljs-doctag,.hljs-color-brewer .hljs-type,.hljs-color-brewer .hljs-tag,.hljs-color-brewer .hljs-name,.hljs-color-brewer .hljs-selector-id,.hljs-color-brewer .hljs-selector-class,.hljs-color-brewer .hljs-strong{color:#3182bd}.hljs-color-brewer .hljs-emphasis{font-style:italic}.hljs-color-brewer .hljs-attribute{color:#e6550d}","darcula":".hljs-darcula .hljs{display:block;overflow-x:auto;padding:.5em;background:#2b2b2b}.hljs-darcula .hljs{color:#bababa}.hljs-darcula .hljs-strong,.hljs-darcula .hljs-emphasis{color:#a8a8a2}.hljs-darcula .hljs-bullet,.hljs-darcula .hljs-quote,.hljs-darcula .hljs-link,.hljs-darcula .hljs-number,.hljs-darcula .hljs-regexp,.hljs-darcula .hljs-literal{color:#6896ba}.hljs-darcula .hljs-code,.hljs-darcula .hljs-selector-class{color:#a6e22e}.hljs-darcula .hljs-emphasis{font-style:italic}.hljs-darcula .hljs-keyword,.hljs-darcula .hljs-selector-tag,.hljs-darcula .hljs-section,.hljs-darcula .hljs-attribute,.hljs-darcula .hljs-name,.hljs-darcula .hljs-variable{color:#cb7832}.hljs-darcula .hljs-params{color:#b9b9b9}.hljs-darcula .hljs-string{color:#6a8759}.hljs-darcula .hljs-subst,.hljs-darcula .hljs-type,.hljs-darcula .hljs-built_in,.hljs-darcula .hljs-builtin-name,.hljs-darcula .hljs-symbol,.hljs-darcula .hljs-selector-id,.hljs-darcula .hljs-selector-attr,.hljs-darcula .hljs-selector-pseudo,.hljs-darcula .hljs-template-tag,.hljs-darcula .hljs-template-variable,.hljs-darcula .hljs-addition{color:#e0c46c}.hljs-darcula .hljs-comment,.hljs-darcula .hljs-deletion,.hljs-darcula .hljs-meta{color:#7f7f7f}","dark":".hljs-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#444}.hljs-dark .hljs-keyword,.hljs-dark .hljs-selector-tag,.hljs-dark .hljs-literal,.hljs-dark .hljs-section,.hljs-dark .hljs-link{color:white}.hljs-dark .hljs,.hljs-dark .hljs-subst{color:#ddd}.hljs-dark .hljs-string,.hljs-dark .hljs-title,.hljs-dark .hljs-name,.hljs-dark .hljs-type,.hljs-dark .hljs-attribute,.hljs-dark .hljs-symbol,.hljs-dark .hljs-bullet,.hljs-dark .hljs-built_in,.hljs-dark .hljs-addition,.hljs-dark .hljs-variable,.hljs-dark .hljs-template-tag,.hljs-dark .hljs-template-variable{color:#d88}.hljs-dark .hljs-comment,.hljs-dark .hljs-quote,.hljs-dark .hljs-deletion,.hljs-dark .hljs-meta{color:#777}.hljs-dark .hljs-keyword,.hljs-dark .hljs-selector-tag,.hljs-dark .hljs-literal,.hljs-dark .hljs-title,.hljs-dark .hljs-section,.hljs-dark .hljs-doctag,.hljs-dark .hljs-type,.hljs-dark .hljs-name,.hljs-dark .hljs-strong{font-weight:bold}.hljs-dark .hljs-emphasis{font-style:italic}","darkula":".hljs-darkula{@import url('darcula.css');}","default":".hljs-default .hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs-default .hljs,.hljs-default .hljs-subst{color:#444}.hljs-default .hljs-comment{color:#888888}.hljs-default .hljs-keyword,.hljs-default .hljs-attribute,.hljs-default .hljs-selector-tag,.hljs-default .hljs-meta-keyword,.hljs-default .hljs-doctag,.hljs-default .hljs-name{font-weight:bold}.hljs-default .hljs-type,.hljs-default .hljs-string,.hljs-default .hljs-number,.hljs-default .hljs-selector-id,.hljs-default .hljs-selector-class,.hljs-default .hljs-quote,.hljs-default .hljs-template-tag,.hljs-default .hljs-deletion{color:#880000}.hljs-default .hljs-title,.hljs-default .hljs-section{color:#880000;font-weight:bold}.hljs-default .hljs-regexp,.hljs-default .hljs-symbol,.hljs-default .hljs-variable,.hljs-default .hljs-template-variable,.hljs-default .hljs-link,.hljs-default .hljs-selector-attr,.hljs-default .hljs-selector-pseudo{color:#BC6060}.hljs-default .hljs-literal{color:#78A960}.hljs-default .hljs-built_in,.hljs-default .hljs-bullet,.hljs-default .hljs-code,.hljs-default .hljs-addition{color:#397300}.hljs-default .hljs-meta{color:#1f7199}.hljs-default .hljs-meta-string{color:#4d99bf}.hljs-default .hljs-emphasis{font-style:italic}.hljs-default .hljs-strong{font-weight:bold}","docco":".hljs-docco .hljs{display:block;overflow-x:auto;padding:.5em;color:#000;background:#f8f8ff}.hljs-docco .hljs-comment,.hljs-docco .hljs-quote{color:#408080;font-style:italic}.hljs-docco .hljs-keyword,.hljs-docco .hljs-selector-tag,.hljs-docco .hljs-literal,.hljs-docco .hljs-subst{color:#954121}.hljs-docco .hljs-number{color:#40a070}.hljs-docco .hljs-string,.hljs-docco .hljs-doctag{color:#219161}.hljs-docco .hljs-selector-id,.hljs-docco .hljs-selector-class,.hljs-docco .hljs-section,.hljs-docco .hljs-type{color:#19469d}.hljs-docco .hljs-params{color:#00f}.hljs-docco .hljs-title{color:#458;font-weight:bold}.hljs-docco .hljs-tag,.hljs-docco .hljs-name,.hljs-docco .hljs-attribute{color:#000080;font-weight:normal}.hljs-docco .hljs-variable,.hljs-docco .hljs-template-variable{color:#008080}.hljs-docco .hljs-regexp,.hljs-docco .hljs-link{color:#b68}.hljs-docco .hljs-symbol,.hljs-docco .hljs-bullet{color:#990073}.hljs-docco .hljs-built_in,.hljs-docco .hljs-builtin-name{color:#0086b3}.hljs-docco .hljs-meta{color:#999;font-weight:bold}.hljs-docco .hljs-deletion{background:#fdd}.hljs-docco .hljs-addition{background:#dfd}.hljs-docco .hljs-emphasis{font-style:italic}.hljs-docco .hljs-strong{font-weight:bold}","dracula":".hljs-dracula .hljs{display:block;overflow-x:auto;padding:.5em;background:#282a36}.hljs-dracula .hljs-keyword,.hljs-dracula .hljs-selector-tag,.hljs-dracula .hljs-literal,.hljs-dracula .hljs-section,.hljs-dracula .hljs-link{color:#8be9fd}.hljs-dracula .hljs-function .hljs-keyword{color:#ff79c6}.hljs-dracula .hljs,.hljs-dracula .hljs-subst{color:#f8f8f2}.hljs-dracula .hljs-string,.hljs-dracula .hljs-title,.hljs-dracula .hljs-name,.hljs-dracula .hljs-type,.hljs-dracula .hljs-attribute,.hljs-dracula .hljs-symbol,.hljs-dracula .hljs-bullet,.hljs-dracula .hljs-addition,.hljs-dracula .hljs-variable,.hljs-dracula .hljs-template-tag,.hljs-dracula .hljs-template-variable{color:#f1fa8c}.hljs-dracula .hljs-comment,.hljs-dracula .hljs-quote,.hljs-dracula .hljs-deletion,.hljs-dracula .hljs-meta{color:#6272a4}.hljs-dracula .hljs-keyword,.hljs-dracula .hljs-selector-tag,.hljs-dracula .hljs-literal,.hljs-dracula .hljs-title,.hljs-dracula .hljs-section,.hljs-dracula .hljs-doctag,.hljs-dracula .hljs-type,.hljs-dracula .hljs-name,.hljs-dracula .hljs-strong{font-weight:bold}.hljs-dracula .hljs-emphasis{font-style:italic}","far":".hljs-far .hljs{display:block;overflow-x:auto;padding:.5em;background:#000080}.hljs-far .hljs,.hljs-far .hljs-subst{color:#0ff}.hljs-far .hljs-string,.hljs-far .hljs-attribute,.hljs-far .hljs-symbol,.hljs-far .hljs-bullet,.hljs-far .hljs-built_in,.hljs-far .hljs-builtin-name,.hljs-far .hljs-template-tag,.hljs-far .hljs-template-variable,.hljs-far .hljs-addition{color:#ff0}.hljs-far .hljs-keyword,.hljs-far .hljs-selector-tag,.hljs-far .hljs-section,.hljs-far .hljs-type,.hljs-far .hljs-name,.hljs-far .hljs-selector-id,.hljs-far .hljs-selector-class,.hljs-far .hljs-variable{color:#fff}.hljs-far .hljs-comment,.hljs-far .hljs-quote,.hljs-far .hljs-doctag,.hljs-far .hljs-deletion{color:#888}.hljs-far .hljs-number,.hljs-far .hljs-regexp,.hljs-far .hljs-literal,.hljs-far .hljs-link{color:#0f0}.hljs-far .hljs-meta{color:#008080}.hljs-far .hljs-keyword,.hljs-far .hljs-selector-tag,.hljs-far .hljs-title,.hljs-far .hljs-section,.hljs-far .hljs-name,.hljs-far .hljs-strong{font-weight:bold}.hljs-far .hljs-emphasis{font-style:italic}","foundation":".hljs-foundation .hljs{display:block;overflow-x:auto;padding:.5em;background:#eee;color:black}.hljs-foundation .hljs-link,.hljs-foundation .hljs-emphasis,.hljs-foundation .hljs-attribute,.hljs-foundation .hljs-addition{color:#070}.hljs-foundation .hljs-emphasis{font-style:italic}.hljs-foundation .hljs-strong,.hljs-foundation .hljs-string,.hljs-foundation .hljs-deletion{color:#d14}.hljs-foundation .hljs-strong{font-weight:bold}.hljs-foundation .hljs-quote,.hljs-foundation .hljs-comment{color:#998;font-style:italic}.hljs-foundation .hljs-section,.hljs-foundation .hljs-title{color:#900}.hljs-foundation .hljs-class .hljs-title,.hljs-foundation .hljs-type{color:#458}.hljs-foundation .hljs-variable,.hljs-foundation .hljs-template-variable{color:#336699}.hljs-foundation .hljs-bullet{color:#997700}.hljs-foundation .hljs-meta{color:#3344bb}.hljs-foundation .hljs-code,.hljs-foundation .hljs-number,.hljs-foundation .hljs-literal,.hljs-foundation .hljs-keyword,.hljs-foundation .hljs-selector-tag{color:#099}.hljs-foundation .hljs-regexp{background-color:#fff0ff;color:#880088}.hljs-foundation .hljs-symbol{color:#990073}.hljs-foundation .hljs-tag,.hljs-foundation .hljs-name,.hljs-foundation .hljs-selector-id,.hljs-foundation .hljs-selector-class{color:#007700}","github-gist":".hljs-github-gist .hljs{display:block;background:white;padding:.5em;color:#333333;overflow-x:auto}.hljs-github-gist .hljs-comment,.hljs-github-gist .hljs-meta{color:#969896}.hljs-github-gist .hljs-variable,.hljs-github-gist .hljs-template-variable,.hljs-github-gist .hljs-strong,.hljs-github-gist .hljs-emphasis,.hljs-github-gist .hljs-quote{color:#df5000}.hljs-github-gist .hljs-keyword,.hljs-github-gist .hljs-selector-tag,.hljs-github-gist .hljs-type{color:#d73a49}.hljs-github-gist .hljs-literal,.hljs-github-gist .hljs-symbol,.hljs-github-gist .hljs-bullet,.hljs-github-gist .hljs-attribute{color:#0086b3}.hljs-github-gist .hljs-section,.hljs-github-gist .hljs-name{color:#63a35c}.hljs-github-gist .hljs-tag{color:#333333}.hljs-github-gist .hljs-title,.hljs-github-gist .hljs-attr,.hljs-github-gist .hljs-selector-id,.hljs-github-gist .hljs-selector-class,.hljs-github-gist .hljs-selector-attr,.hljs-github-gist .hljs-selector-pseudo{color:#6f42c1}.hljs-github-gist .hljs-addition{color:#55a532;background-color:#eaffea}.hljs-github-gist .hljs-deletion{color:#bd2c00;background-color:#ffecec}.hljs-github-gist .hljs-link{text-decoration:underline}.hljs-github-gist .hljs-number{color:#005cc5}.hljs-github-gist .hljs-string{color:#032f62}","github":".hljs-github .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#f8f8f8}.hljs-github .hljs-comment,.hljs-github .hljs-quote{color:#998;font-style:italic}.hljs-github .hljs-keyword,.hljs-github .hljs-selector-tag,.hljs-github .hljs-subst{color:#333;font-weight:bold}.hljs-github .hljs-number,.hljs-github .hljs-literal,.hljs-github .hljs-variable,.hljs-github .hljs-template-variable,.hljs-github .hljs-tag .hljs-attr{color:#008080}.hljs-github .hljs-string,.hljs-github .hljs-doctag{color:#d14}.hljs-github .hljs-title,.hljs-github .hljs-section,.hljs-github .hljs-selector-id{color:#900;font-weight:bold}.hljs-github .hljs-subst{font-weight:normal}.hljs-github .hljs-type,.hljs-github .hljs-class .hljs-title{color:#458;font-weight:bold}.hljs-github .hljs-tag,.hljs-github .hljs-name,.hljs-github .hljs-attribute{color:#000080;font-weight:normal}.hljs-github .hljs-regexp,.hljs-github .hljs-link{color:#009926}.hljs-github .hljs-symbol,.hljs-github .hljs-bullet{color:#990073}.hljs-github .hljs-built_in,.hljs-github .hljs-builtin-name{color:#0086b3}.hljs-github .hljs-meta{color:#999;font-weight:bold}.hljs-github .hljs-deletion{background:#fdd}.hljs-github .hljs-addition{background:#dfd}.hljs-github .hljs-emphasis{font-style:italic}.hljs-github .hljs-strong{font-weight:bold}","gml":".hljs-gml .hljs{display:block;overflow-x:auto;padding:.5em;background:#222222;color:#C0C0C0}.hljs-gml .hljs-keywords{color:#FFB871;font-weight:bold}.hljs-gml .hljs-built_in{color:#FFB871}.hljs-gml .hljs-literal{color:#FF8080}.hljs-gml .hljs-symbol{color:#58E55A}.hljs-gml .hljs-comment{color:#5B995B}.hljs-gml .hljs-string{color:#FFFF00}.hljs-gml .hljs-number{color:#FF8080}.hljs-gml .hljs-attribute,.hljs-gml .hljs-selector-tag,.hljs-gml .hljs-doctag,.hljs-gml .hljs-name,.hljs-gml .hljs-bullet,.hljs-gml .hljs-code,.hljs-gml .hljs-addition,.hljs-gml .hljs-regexp,.hljs-gml .hljs-variable,.hljs-gml .hljs-template-variable,.hljs-gml .hljs-link,.hljs-gml .hljs-selector-attr,.hljs-gml .hljs-selector-pseudo,.hljs-gml .hljs-type,.hljs-gml .hljs-selector-id,.hljs-gml .hljs-selector-class,.hljs-gml .hljs-quote,.hljs-gml .hljs-template-tag,.hljs-gml .hljs-deletion,.hljs-gml .hljs-title,.hljs-gml .hljs-section,.hljs-gml .hljs-function,.hljs-gml .hljs-meta-keyword,.hljs-gml .hljs-meta,.hljs-gml .hljs-subst{color:#C0C0C0}.hljs-gml .hljs-emphasis{font-style:italic}.hljs-gml .hljs-strong{font-weight:bold}","googlecode":".hljs-googlecode .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-googlecode .hljs-comment,.hljs-googlecode .hljs-quote{color:#800}.hljs-googlecode .hljs-keyword,.hljs-googlecode .hljs-selector-tag,.hljs-googlecode .hljs-section,.hljs-googlecode .hljs-title,.hljs-googlecode .hljs-name{color:#008}.hljs-googlecode .hljs-variable,.hljs-googlecode .hljs-template-variable{color:#660}.hljs-googlecode .hljs-string,.hljs-googlecode .hljs-selector-attr,.hljs-googlecode .hljs-selector-pseudo,.hljs-googlecode .hljs-regexp{color:#080}.hljs-googlecode .hljs-literal,.hljs-googlecode .hljs-symbol,.hljs-googlecode .hljs-bullet,.hljs-googlecode .hljs-meta,.hljs-googlecode .hljs-number,.hljs-googlecode .hljs-link{color:#066}.hljs-googlecode .hljs-title,.hljs-googlecode .hljs-doctag,.hljs-googlecode .hljs-type,.hljs-googlecode .hljs-attr,.hljs-googlecode .hljs-built_in,.hljs-googlecode .hljs-builtin-name,.hljs-googlecode .hljs-params{color:#606}.hljs-googlecode .hljs-attribute,.hljs-googlecode .hljs-subst{color:#000}.hljs-googlecode .hljs-formula{background-color:#eee;font-style:italic}.hljs-googlecode .hljs-selector-id,.hljs-googlecode .hljs-selector-class{color:#9B703F}.hljs-googlecode .hljs-addition{background-color:#baeeba}.hljs-googlecode .hljs-deletion{background-color:#ffc8bd}.hljs-googlecode .hljs-doctag,.hljs-googlecode .hljs-strong{font-weight:bold}.hljs-googlecode .hljs-emphasis{font-style:italic}","grayscale":".hljs-grayscale .hljs{display:block;overflow-x:auto;padding:.5em;color:#333;background:#fff}.hljs-grayscale .hljs-comment,.hljs-grayscale .hljs-quote{color:#777;font-style:italic}.hljs-grayscale .hljs-keyword,.hljs-grayscale .hljs-selector-tag,.hljs-grayscale .hljs-subst{color:#333;font-weight:bold}.hljs-grayscale .hljs-number,.hljs-grayscale .hljs-literal{color:#777}.hljs-grayscale .hljs-string,.hljs-grayscale .hljs-doctag,.hljs-grayscale .hljs-formula{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJ0lEQVQIW2O8e/fufwYGBgZBQUEQxcCIIfDu3Tuwivfv30NUoAsAALHpFMMLqZlPAAAAAElFTkSuQmCC) repeat}.hljs-grayscale .hljs-title,.hljs-grayscale .hljs-section,.hljs-grayscale .hljs-selector-id{color:#000;font-weight:bold}.hljs-grayscale .hljs-subst{font-weight:normal}.hljs-grayscale .hljs-class .hljs-title,.hljs-grayscale .hljs-type,.hljs-grayscale .hljs-name{color:#333;font-weight:bold}.hljs-grayscale .hljs-tag{color:#333}.hljs-grayscale .hljs-regexp{color:#333;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAICAYAAADA+m62AAAAPUlEQVQYV2NkQAN37979r6yszIgujiIAU4RNMVwhuiQ6H6wQl3XI4oy4FMHcCJPHcDS6J2A2EqUQpJhohQDexSef15DBCwAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-symbol,.hljs-grayscale .hljs-bullet,.hljs-grayscale .hljs-link{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAKElEQVQIW2NkQAO7d+/+z4gsBhJwdXVlhAvCBECKwIIwAbhKZBUwBQA6hBpm5efZsgAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-built_in,.hljs-grayscale .hljs-builtin-name{color:#000;text-decoration:underline}.hljs-grayscale .hljs-meta{color:#999;font-weight:bold}.hljs-grayscale .hljs-deletion{color:#fff;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAE0lEQVQIW2MMDQ39zzhz5kwIAQAyxweWgUHd1AAAAABJRU5ErkJggg==) repeat}.hljs-grayscale .hljs-addition{color:#000;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAYAAADgkQYQAAAALUlEQVQYV2N89+7dfwYk8P79ewZBQUFkIQZGOiu6e/cuiptQHAPl0NtNxAQBAM97Oejj3Dg7AAAAAElFTkSuQmCC) repeat}.hljs-grayscale .hljs-emphasis{font-style:italic}.hljs-grayscale .hljs-strong{font-weight:bold}","gruvbox-dark":".hljs-gruvbox-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#282828}.hljs-gruvbox-dark .hljs,.hljs-gruvbox-dark .hljs-subst{color:#ebdbb2}.hljs-gruvbox-dark .hljs-deletion,.hljs-gruvbox-dark .hljs-formula,.hljs-gruvbox-dark .hljs-keyword,.hljs-gruvbox-dark .hljs-link,.hljs-gruvbox-dark .hljs-selector-tag{color:#fb4934}.hljs-gruvbox-dark .hljs-built_in,.hljs-gruvbox-dark .hljs-emphasis,.hljs-gruvbox-dark .hljs-name,.hljs-gruvbox-dark .hljs-quote,.hljs-gruvbox-dark .hljs-strong,.hljs-gruvbox-dark .hljs-title,.hljs-gruvbox-dark .hljs-variable{color:#83a598}.hljs-gruvbox-dark .hljs-attr,.hljs-gruvbox-dark .hljs-params,.hljs-gruvbox-dark .hljs-template-tag,.hljs-gruvbox-dark .hljs-type{color:#fabd2f}.hljs-gruvbox-dark .hljs-builtin-name,.hljs-gruvbox-dark .hljs-doctag,.hljs-gruvbox-dark .hljs-literal,.hljs-gruvbox-dark .hljs-number{color:#8f3f71}.hljs-gruvbox-dark .hljs-code,.hljs-gruvbox-dark .hljs-meta,.hljs-gruvbox-dark .hljs-regexp,.hljs-gruvbox-dark .hljs-selector-id,.hljs-gruvbox-dark .hljs-template-variable{color:#fe8019}.hljs-gruvbox-dark .hljs-addition,.hljs-gruvbox-dark .hljs-meta-string,.hljs-gruvbox-dark .hljs-section,.hljs-gruvbox-dark .hljs-selector-attr,.hljs-gruvbox-dark .hljs-selector-class,.hljs-gruvbox-dark .hljs-string,.hljs-gruvbox-dark .hljs-symbol{color:#b8bb26}.hljs-gruvbox-dark .hljs-attribute,.hljs-gruvbox-dark .hljs-bullet,.hljs-gruvbox-dark .hljs-class,.hljs-gruvbox-dark .hljs-function,.hljs-gruvbox-dark .hljs-function .hljs-keyword,.hljs-gruvbox-dark .hljs-meta-keyword,.hljs-gruvbox-dark .hljs-selector-pseudo,.hljs-gruvbox-dark .hljs-tag{color:#8ec07c}.hljs-gruvbox-dark .hljs-comment{color:#928374}.hljs-gruvbox-dark .hljs-link_label,.hljs-gruvbox-dark .hljs-literal,.hljs-gruvbox-dark .hljs-number{color:#d3869b}.hljs-gruvbox-dark .hljs-comment,.hljs-gruvbox-dark .hljs-emphasis{font-style:italic}.hljs-gruvbox-dark .hljs-section,.hljs-gruvbox-dark .hljs-strong,.hljs-gruvbox-dark .hljs-tag{font-weight:bold}","gruvbox-light":".hljs-gruvbox-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#fbf1c7}.hljs-gruvbox-light .hljs,.hljs-gruvbox-light .hljs-subst{color:#3c3836}.hljs-gruvbox-light .hljs-deletion,.hljs-gruvbox-light .hljs-formula,.hljs-gruvbox-light .hljs-keyword,.hljs-gruvbox-light .hljs-link,.hljs-gruvbox-light .hljs-selector-tag{color:#9d0006}.hljs-gruvbox-light .hljs-built_in,.hljs-gruvbox-light .hljs-emphasis,.hljs-gruvbox-light .hljs-name,.hljs-gruvbox-light .hljs-quote,.hljs-gruvbox-light .hljs-strong,.hljs-gruvbox-light .hljs-title,.hljs-gruvbox-light .hljs-variable{color:#076678}.hljs-gruvbox-light .hljs-attr,.hljs-gruvbox-light .hljs-params,.hljs-gruvbox-light .hljs-template-tag,.hljs-gruvbox-light .hljs-type{color:#b57614}.hljs-gruvbox-light .hljs-builtin-name,.hljs-gruvbox-light .hljs-doctag,.hljs-gruvbox-light .hljs-literal,.hljs-gruvbox-light .hljs-number{color:#8f3f71}.hljs-gruvbox-light .hljs-code,.hljs-gruvbox-light .hljs-meta,.hljs-gruvbox-light .hljs-regexp,.hljs-gruvbox-light .hljs-selector-id,.hljs-gruvbox-light .hljs-template-variable{color:#af3a03}.hljs-gruvbox-light .hljs-addition,.hljs-gruvbox-light .hljs-meta-string,.hljs-gruvbox-light .hljs-section,.hljs-gruvbox-light .hljs-selector-attr,.hljs-gruvbox-light .hljs-selector-class,.hljs-gruvbox-light .hljs-string,.hljs-gruvbox-light .hljs-symbol{color:#79740e}.hljs-gruvbox-light .hljs-attribute,.hljs-gruvbox-light .hljs-bullet,.hljs-gruvbox-light .hljs-class,.hljs-gruvbox-light .hljs-function,.hljs-gruvbox-light .hljs-function .hljs-keyword,.hljs-gruvbox-light .hljs-meta-keyword,.hljs-gruvbox-light .hljs-selector-pseudo,.hljs-gruvbox-light .hljs-tag{color:#427b58}.hljs-gruvbox-light .hljs-comment{color:#928374}.hljs-gruvbox-light .hljs-link_label,.hljs-gruvbox-light .hljs-literal,.hljs-gruvbox-light .hljs-number{color:#8f3f71}.hljs-gruvbox-light .hljs-comment,.hljs-gruvbox-light .hljs-emphasis{font-style:italic}.hljs-gruvbox-light .hljs-section,.hljs-gruvbox-light .hljs-strong,.hljs-gruvbox-light .hljs-tag{font-weight:bold}","hopscotch":".hljs-hopscotch .hljs-comment,.hljs-hopscotch .hljs-quote{color:#989498}.hljs-hopscotch .hljs-variable,.hljs-hopscotch .hljs-template-variable,.hljs-hopscotch .hljs-attribute,.hljs-hopscotch .hljs-tag,.hljs-hopscotch .hljs-name,.hljs-hopscotch .hljs-selector-id,.hljs-hopscotch .hljs-selector-class,.hljs-hopscotch .hljs-regexp,.hljs-hopscotch .hljs-link,.hljs-hopscotch .hljs-deletion{color:#dd464c}.hljs-hopscotch .hljs-number,.hljs-hopscotch .hljs-built_in,.hljs-hopscotch .hljs-builtin-name,.hljs-hopscotch .hljs-literal,.hljs-hopscotch .hljs-type,.hljs-hopscotch .hljs-params{color:#fd8b19}.hljs-hopscotch .hljs-class .hljs-title{color:#fdcc59}.hljs-hopscotch .hljs-string,.hljs-hopscotch .hljs-symbol,.hljs-hopscotch .hljs-bullet,.hljs-hopscotch .hljs-addition{color:#8fc13e}.hljs-hopscotch .hljs-meta{color:#149b93}.hljs-hopscotch .hljs-function,.hljs-hopscotch .hljs-section,.hljs-hopscotch .hljs-title{color:#1290bf}.hljs-hopscotch .hljs-keyword,.hljs-hopscotch .hljs-selector-tag{color:#c85e7c}.hljs-hopscotch .hljs{display:block;background:#322931;color:#b9b5b8;padding:.5em}.hljs-hopscotch .hljs-emphasis{font-style:italic}.hljs-hopscotch .hljs-strong{font-weight:bold}","hybrid":".hljs-hybrid .hljs{display:block;overflow-x:auto;padding:.5em;background:#1d1f21}.hljs-hybrid .hljs::selection,.hljs-hybrid .hljs span::selection{background:#373b41}.hljs-hybrid .hljs::-moz-selection,.hljs-hybrid .hljs span::-moz-selection{background:#373b41}.hljs-hybrid .hljs{color:#c5c8c6}.hljs-hybrid .hljs-title,.hljs-hybrid .hljs-name{color:#f0c674}.hljs-hybrid .hljs-comment,.hljs-hybrid .hljs-meta,.hljs-hybrid .hljs-meta .hljs-keyword{color:#707880}.hljs-hybrid .hljs-number,.hljs-hybrid .hljs-symbol,.hljs-hybrid .hljs-literal,.hljs-hybrid .hljs-deletion,.hljs-hybrid .hljs-link{color:#cc6666}.hljs-hybrid .hljs-string,.hljs-hybrid .hljs-doctag,.hljs-hybrid .hljs-addition,.hljs-hybrid .hljs-regexp,.hljs-hybrid .hljs-selector-attr,.hljs-hybrid .hljs-selector-pseudo{color:#b5bd68}.hljs-hybrid .hljs-attribute,.hljs-hybrid .hljs-code,.hljs-hybrid .hljs-selector-id{color:#b294bb}.hljs-hybrid .hljs-keyword,.hljs-hybrid .hljs-selector-tag,.hljs-hybrid .hljs-bullet,.hljs-hybrid .hljs-tag{color:#81a2be}.hljs-hybrid .hljs-subst,.hljs-hybrid .hljs-variable,.hljs-hybrid .hljs-template-tag,.hljs-hybrid .hljs-template-variable{color:#8abeb7}.hljs-hybrid .hljs-type,.hljs-hybrid .hljs-built_in,.hljs-hybrid .hljs-builtin-name,.hljs-hybrid .hljs-quote,.hljs-hybrid .hljs-section,.hljs-hybrid .hljs-selector-class{color:#de935f}.hljs-hybrid .hljs-emphasis{font-style:italic}.hljs-hybrid .hljs-strong{font-weight:bold}","idea":".hljs-idea .hljs{display:block;overflow-x:auto;padding:.5em;color:#000;background:#fff}.hljs-idea .hljs-subst,.hljs-idea .hljs-title{font-weight:normal;color:#000}.hljs-idea .hljs-comment,.hljs-idea .hljs-quote{color:#808080;font-style:italic}.hljs-idea .hljs-meta{color:#808000}.hljs-idea .hljs-tag{background:#efefef}.hljs-idea .hljs-section,.hljs-idea .hljs-name,.hljs-idea .hljs-literal,.hljs-idea .hljs-keyword,.hljs-idea .hljs-selector-tag,.hljs-idea .hljs-type,.hljs-idea .hljs-selector-id,.hljs-idea .hljs-selector-class{font-weight:bold;color:#000080}.hljs-idea .hljs-attribute,.hljs-idea .hljs-number,.hljs-idea .hljs-regexp,.hljs-idea .hljs-link{font-weight:bold;color:#0000ff}.hljs-idea .hljs-number,.hljs-idea .hljs-regexp,.hljs-idea .hljs-link{font-weight:normal}.hljs-idea .hljs-string{color:#008000;font-weight:bold}.hljs-idea .hljs-symbol,.hljs-idea .hljs-bullet,.hljs-idea .hljs-formula{color:#000;background:#d0eded;font-style:italic}.hljs-idea .hljs-doctag{text-decoration:underline}.hljs-idea .hljs-variable,.hljs-idea .hljs-template-variable{color:#660e7a}.hljs-idea .hljs-addition{background:#baeeba}.hljs-idea .hljs-deletion{background:#ffc8bd}.hljs-idea .hljs-emphasis{font-style:italic}.hljs-idea .hljs-strong{font-weight:bold}","ir-black":".hljs-ir-black .hljs{display:block;overflow-x:auto;padding:.5em;background:#000;color:#f8f8f8}.hljs-ir-black .hljs-comment,.hljs-ir-black .hljs-quote,.hljs-ir-black .hljs-meta{color:#7c7c7c}.hljs-ir-black .hljs-keyword,.hljs-ir-black .hljs-selector-tag,.hljs-ir-black .hljs-tag,.hljs-ir-black .hljs-name{color:#96cbfe}.hljs-ir-black .hljs-attribute,.hljs-ir-black .hljs-selector-id{color:#ffffb6}.hljs-ir-black .hljs-string,.hljs-ir-black .hljs-selector-attr,.hljs-ir-black .hljs-selector-pseudo,.hljs-ir-black .hljs-addition{color:#a8ff60}.hljs-ir-black .hljs-subst{color:#daefa3}.hljs-ir-black .hljs-regexp,.hljs-ir-black .hljs-link{color:#e9c062}.hljs-ir-black .hljs-title,.hljs-ir-black .hljs-section,.hljs-ir-black .hljs-type,.hljs-ir-black .hljs-doctag{color:#ffffb6}.hljs-ir-black .hljs-symbol,.hljs-ir-black .hljs-bullet,.hljs-ir-black .hljs-variable,.hljs-ir-black .hljs-template-variable,.hljs-ir-black .hljs-literal{color:#c6c5fe}.hljs-ir-black .hljs-number,.hljs-ir-black .hljs-deletion{color:#ff73fd}.hljs-ir-black .hljs-emphasis{font-style:italic}.hljs-ir-black .hljs-strong{font-weight:bold}","isbl-editor-dark":".hljs-isbl-editor-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#404040;color:#f0f0f0}.hljs-isbl-editor-dark .hljs,.hljs-isbl-editor-dark .hljs-subst{color:#f0f0f0}.hljs-isbl-editor-dark .hljs-comment{color:#b5b5b5;font-style:italic}.hljs-isbl-editor-dark .hljs-keyword,.hljs-isbl-editor-dark .hljs-attribute,.hljs-isbl-editor-dark .hljs-selector-tag,.hljs-isbl-editor-dark .hljs-meta-keyword,.hljs-isbl-editor-dark .hljs-doctag,.hljs-isbl-editor-dark .hljs-name{color:#f0f0f0;font-weight:bold}.hljs-isbl-editor-dark .hljs-string{color:#97bf0d}.hljs-isbl-editor-dark .hljs-type,.hljs-isbl-editor-dark .hljs-number,.hljs-isbl-editor-dark .hljs-selector-id,.hljs-isbl-editor-dark .hljs-selector-class,.hljs-isbl-editor-dark .hljs-quote,.hljs-isbl-editor-dark .hljs-template-tag,.hljs-isbl-editor-dark .hljs-deletion{color:#f0f0f0}.hljs-isbl-editor-dark .hljs-title,.hljs-isbl-editor-dark .hljs-section{color:#df471e}.hljs-isbl-editor-dark .hljs-title>.hljs-built_in{color:#81bce9;font-weight:normal}.hljs-isbl-editor-dark .hljs-regexp,.hljs-isbl-editor-dark .hljs-symbol,.hljs-isbl-editor-dark .hljs-variable,.hljs-isbl-editor-dark .hljs-template-variable,.hljs-isbl-editor-dark .hljs-link,.hljs-isbl-editor-dark .hljs-selector-attr,.hljs-isbl-editor-dark .hljs-selector-pseudo{color:#e2c696}.hljs-isbl-editor-dark .hljs-built_in,.hljs-isbl-editor-dark .hljs-literal{color:#97bf0d;font-weight:bold}.hljs-isbl-editor-dark .hljs-bullet,.hljs-isbl-editor-dark .hljs-code,.hljs-isbl-editor-dark .hljs-addition{color:#397300}.hljs-isbl-editor-dark .hljs-class{color:#ce9d4d;font-weight:bold}.hljs-isbl-editor-dark .hljs-meta{color:#1f7199}.hljs-isbl-editor-dark .hljs-meta-string{color:#4d99bf}.hljs-isbl-editor-dark .hljs-emphasis{font-style:italic}.hljs-isbl-editor-dark .hljs-strong{font-weight:bold}","isbl-editor-light":".hljs-isbl-editor-light .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-isbl-editor-light .hljs,.hljs-isbl-editor-light .hljs-subst{color:#000000}.hljs-isbl-editor-light .hljs-comment{color:#555555;font-style:italic}.hljs-isbl-editor-light .hljs-keyword,.hljs-isbl-editor-light .hljs-attribute,.hljs-isbl-editor-light .hljs-selector-tag,.hljs-isbl-editor-light .hljs-meta-keyword,.hljs-isbl-editor-light .hljs-doctag,.hljs-isbl-editor-light .hljs-name{color:#000000;font-weight:bold}.hljs-isbl-editor-light .hljs-string{color:#000080}.hljs-isbl-editor-light .hljs-type,.hljs-isbl-editor-light .hljs-number,.hljs-isbl-editor-light .hljs-selector-id,.hljs-isbl-editor-light .hljs-selector-class,.hljs-isbl-editor-light .hljs-quote,.hljs-isbl-editor-light .hljs-template-tag,.hljs-isbl-editor-light .hljs-deletion{color:#000000}.hljs-isbl-editor-light .hljs-title,.hljs-isbl-editor-light .hljs-section{color:#fb2c00}.hljs-isbl-editor-light .hljs-title>.hljs-built_in{color:#008080;font-weight:normal}.hljs-isbl-editor-light .hljs-regexp,.hljs-isbl-editor-light .hljs-symbol,.hljs-isbl-editor-light .hljs-variable,.hljs-isbl-editor-light .hljs-template-variable,.hljs-isbl-editor-light .hljs-link,.hljs-isbl-editor-light .hljs-selector-attr,.hljs-isbl-editor-light .hljs-selector-pseudo{color:#5e1700}.hljs-isbl-editor-light .hljs-built_in,.hljs-isbl-editor-light .hljs-literal{color:#000080;font-weight:bold}.hljs-isbl-editor-light .hljs-bullet,.hljs-isbl-editor-light .hljs-code,.hljs-isbl-editor-light .hljs-addition{color:#397300}.hljs-isbl-editor-light .hljs-class{color:#6f1C00;font-weight:bold}.hljs-isbl-editor-light .hljs-meta{color:#1f7199}.hljs-isbl-editor-light .hljs-meta-string{color:#4d99bf}.hljs-isbl-editor-light .hljs-emphasis{font-style:italic}.hljs-isbl-editor-light .hljs-strong{font-weight:bold}","kimbie.dark":".hljs-kimbie.dark .hljs-comment,.hljs-kimbie.dark .hljs-quote{color:#d6baad}.hljs-kimbie.dark .hljs-variable,.hljs-kimbie.dark .hljs-template-variable,.hljs-kimbie.dark .hljs-tag,.hljs-kimbie.dark .hljs-name,.hljs-kimbie.dark .hljs-selector-id,.hljs-kimbie.dark .hljs-selector-class,.hljs-kimbie.dark .hljs-regexp,.hljs-kimbie.dark .hljs-meta{color:#dc3958}.hljs-kimbie.dark .hljs-number,.hljs-kimbie.dark .hljs-built_in,.hljs-kimbie.dark .hljs-builtin-name,.hljs-kimbie.dark .hljs-literal,.hljs-kimbie.dark .hljs-type,.hljs-kimbie.dark .hljs-params,.hljs-kimbie.dark .hljs-deletion,.hljs-kimbie.dark .hljs-link{color:#f79a32}.hljs-kimbie.dark .hljs-title,.hljs-kimbie.dark .hljs-section,.hljs-kimbie.dark .hljs-attribute{color:#f06431}.hljs-kimbie.dark .hljs-string,.hljs-kimbie.dark .hljs-symbol,.hljs-kimbie.dark .hljs-bullet,.hljs-kimbie.dark .hljs-addition{color:#889b4a}.hljs-kimbie.dark .hljs-keyword,.hljs-kimbie.dark .hljs-selector-tag,.hljs-kimbie.dark .hljs-function{color:#98676a}.hljs-kimbie.dark .hljs{display:block;overflow-x:auto;background:#221a0f;color:#d3af86;padding:.5em}.hljs-kimbie.dark .hljs-emphasis{font-style:italic}.hljs-kimbie.dark .hljs-strong{font-weight:bold}","kimbie.light":".hljs-kimbie.light .hljs-comment,.hljs-kimbie.light .hljs-quote{color:#a57a4c}.hljs-kimbie.light .hljs-variable,.hljs-kimbie.light .hljs-template-variable,.hljs-kimbie.light .hljs-tag,.hljs-kimbie.light .hljs-name,.hljs-kimbie.light .hljs-selector-id,.hljs-kimbie.light .hljs-selector-class,.hljs-kimbie.light .hljs-regexp,.hljs-kimbie.light .hljs-meta{color:#dc3958}.hljs-kimbie.light .hljs-number,.hljs-kimbie.light .hljs-built_in,.hljs-kimbie.light .hljs-builtin-name,.hljs-kimbie.light .hljs-literal,.hljs-kimbie.light .hljs-type,.hljs-kimbie.light .hljs-params,.hljs-kimbie.light .hljs-deletion,.hljs-kimbie.light .hljs-link{color:#f79a32}.hljs-kimbie.light .hljs-title,.hljs-kimbie.light .hljs-section,.hljs-kimbie.light .hljs-attribute{color:#f06431}.hljs-kimbie.light .hljs-string,.hljs-kimbie.light .hljs-symbol,.hljs-kimbie.light .hljs-bullet,.hljs-kimbie.light .hljs-addition{color:#889b4a}.hljs-kimbie.light .hljs-keyword,.hljs-kimbie.light .hljs-selector-tag,.hljs-kimbie.light .hljs-function{color:#98676a}.hljs-kimbie.light .hljs{display:block;overflow-x:auto;background:#fbebd4;color:#84613d;padding:.5em}.hljs-kimbie.light .hljs-emphasis{font-style:italic}.hljs-kimbie.light .hljs-strong{font-weight:bold}","lightfair":".hljs-lightfair .hljs{display:block;overflow-x:auto;padding:.5em}.hljs-lightfair .hljs-name{color:#01a3a3}.hljs-lightfair .hljs-tag,.hljs-lightfair .hljs-meta{color:#778899}.hljs-lightfair .hljs,.hljs-lightfair .hljs-subst{color:#444}.hljs-lightfair .hljs-comment{color:#888888}.hljs-lightfair .hljs-keyword,.hljs-lightfair .hljs-attribute,.hljs-lightfair .hljs-selector-tag,.hljs-lightfair .hljs-meta-keyword,.hljs-lightfair .hljs-doctag,.hljs-lightfair .hljs-name{font-weight:bold}.hljs-lightfair .hljs-type,.hljs-lightfair .hljs-string,.hljs-lightfair .hljs-number,.hljs-lightfair .hljs-selector-id,.hljs-lightfair .hljs-selector-class,.hljs-lightfair .hljs-quote,.hljs-lightfair .hljs-template-tag,.hljs-lightfair .hljs-deletion{color:#4286f4}.hljs-lightfair .hljs-title,.hljs-lightfair .hljs-section{color:#4286f4;font-weight:bold}.hljs-lightfair .hljs-regexp,.hljs-lightfair .hljs-symbol,.hljs-lightfair .hljs-variable,.hljs-lightfair .hljs-template-variable,.hljs-lightfair .hljs-link,.hljs-lightfair .hljs-selector-attr,.hljs-lightfair .hljs-selector-pseudo{color:#BC6060}.hljs-lightfair .hljs-literal{color:#62bcbc}.hljs-lightfair .hljs-built_in,.hljs-lightfair .hljs-bullet,.hljs-lightfair .hljs-code,.hljs-lightfair .hljs-addition{color:#25c6c6}.hljs-lightfair .hljs-meta-string{color:#4d99bf}.hljs-lightfair .hljs-emphasis{font-style:italic}.hljs-lightfair .hljs-strong{font-weight:bold}","magula":".hljs-magula .hljs{display:block;overflow-x:auto;padding:.5em;background-color:#f4f4f4}.hljs-magula .hljs,.hljs-magula .hljs-subst{color:black}.hljs-magula .hljs-string,.hljs-magula .hljs-title,.hljs-magula .hljs-symbol,.hljs-magula .hljs-bullet,.hljs-magula .hljs-attribute,.hljs-magula .hljs-addition,.hljs-magula .hljs-variable,.hljs-magula .hljs-template-tag,.hljs-magula .hljs-template-variable{color:#050}.hljs-magula .hljs-comment,.hljs-magula .hljs-quote{color:#777}.hljs-magula .hljs-number,.hljs-magula .hljs-regexp,.hljs-magula .hljs-literal,.hljs-magula .hljs-type,.hljs-magula .hljs-link{color:#800}.hljs-magula .hljs-deletion,.hljs-magula .hljs-meta{color:#00e}.hljs-magula .hljs-keyword,.hljs-magula .hljs-selector-tag,.hljs-magula .hljs-doctag,.hljs-magula .hljs-title,.hljs-magula .hljs-section,.hljs-magula .hljs-built_in,.hljs-magula .hljs-tag,.hljs-magula .hljs-name{font-weight:bold;color:navy}.hljs-magula .hljs-emphasis{font-style:italic}.hljs-magula .hljs-strong{font-weight:bold}","mono-blue":".hljs-mono-blue .hljs{display:block;overflow-x:auto;padding:.5em;background:#eaeef3}.hljs-mono-blue .hljs{color:#00193a}.hljs-mono-blue .hljs-keyword,.hljs-mono-blue .hljs-selector-tag,.hljs-mono-blue .hljs-title,.hljs-mono-blue .hljs-section,.hljs-mono-blue .hljs-doctag,.hljs-mono-blue .hljs-name,.hljs-mono-blue .hljs-strong{font-weight:bold}.hljs-mono-blue .hljs-comment{color:#738191}.hljs-mono-blue .hljs-string,.hljs-mono-blue .hljs-title,.hljs-mono-blue .hljs-section,.hljs-mono-blue .hljs-built_in,.hljs-mono-blue .hljs-literal,.hljs-mono-blue .hljs-type,.hljs-mono-blue .hljs-addition,.hljs-mono-blue .hljs-tag,.hljs-mono-blue .hljs-quote,.hljs-mono-blue .hljs-name,.hljs-mono-blue .hljs-selector-id,.hljs-mono-blue .hljs-selector-class{color:#0048ab}.hljs-mono-blue .hljs-meta,.hljs-mono-blue .hljs-subst,.hljs-mono-blue .hljs-symbol,.hljs-mono-blue .hljs-regexp,.hljs-mono-blue .hljs-attribute,.hljs-mono-blue .hljs-deletion,.hljs-mono-blue .hljs-variable,.hljs-mono-blue .hljs-template-variable,.hljs-mono-blue .hljs-link,.hljs-mono-blue .hljs-bullet{color:#4c81c9}.hljs-mono-blue .hljs-emphasis{font-style:italic}","monokai-sublime":".hljs-monokai-sublime .hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs-monokai-sublime .hljs,.hljs-monokai-sublime .hljs-tag,.hljs-monokai-sublime .hljs-subst{color:#f8f8f2}.hljs-monokai-sublime .hljs-strong,.hljs-monokai-sublime .hljs-emphasis{color:#a8a8a2}.hljs-monokai-sublime .hljs-bullet,.hljs-monokai-sublime .hljs-quote,.hljs-monokai-sublime .hljs-number,.hljs-monokai-sublime .hljs-regexp,.hljs-monokai-sublime .hljs-literal,.hljs-monokai-sublime .hljs-link{color:#ae81ff}.hljs-monokai-sublime .hljs-code,.hljs-monokai-sublime .hljs-title,.hljs-monokai-sublime .hljs-section,.hljs-monokai-sublime .hljs-selector-class{color:#a6e22e}.hljs-monokai-sublime .hljs-strong{font-weight:bold}.hljs-monokai-sublime .hljs-emphasis{font-style:italic}.hljs-monokai-sublime .hljs-keyword,.hljs-monokai-sublime .hljs-selector-tag,.hljs-monokai-sublime .hljs-name,.hljs-monokai-sublime .hljs-attr{color:#f92672}.hljs-monokai-sublime .hljs-symbol,.hljs-monokai-sublime .hljs-attribute{color:#66d9ef}.hljs-monokai-sublime .hljs-params,.hljs-monokai-sublime .hljs-class .hljs-title{color:#f8f8f2}.hljs-monokai-sublime .hljs-string,.hljs-monokai-sublime .hljs-type,.hljs-monokai-sublime .hljs-built_in,.hljs-monokai-sublime .hljs-builtin-name,.hljs-monokai-sublime .hljs-selector-id,.hljs-monokai-sublime .hljs-selector-attr,.hljs-monokai-sublime .hljs-selector-pseudo,.hljs-monokai-sublime .hljs-addition,.hljs-monokai-sublime .hljs-variable,.hljs-monokai-sublime .hljs-template-variable{color:#e6db74}.hljs-monokai-sublime .hljs-comment,.hljs-monokai-sublime .hljs-deletion,.hljs-monokai-sublime .hljs-meta{color:#75715e}","monokai":".hljs-monokai .hljs{display:block;overflow-x:auto;padding:.5em;background:#272822;color:#ddd}.hljs-monokai .hljs-tag,.hljs-monokai .hljs-keyword,.hljs-monokai .hljs-selector-tag,.hljs-monokai .hljs-literal,.hljs-monokai .hljs-strong,.hljs-monokai .hljs-name{color:#f92672}.hljs-monokai .hljs-code{color:#66d9ef}.hljs-monokai .hljs-class .hljs-title{color:white}.hljs-monokai .hljs-attribute,.hljs-monokai .hljs-symbol,.hljs-monokai .hljs-regexp,.hljs-monokai .hljs-link{color:#bf79db}.hljs-monokai .hljs-string,.hljs-monokai .hljs-bullet,.hljs-monokai .hljs-subst,.hljs-monokai .hljs-title,.hljs-monokai .hljs-section,.hljs-monokai .hljs-emphasis,.hljs-monokai .hljs-type,.hljs-monokai .hljs-built_in,.hljs-monokai .hljs-builtin-name,.hljs-monokai .hljs-selector-attr,.hljs-monokai .hljs-selector-pseudo,.hljs-monokai .hljs-addition,.hljs-monokai .hljs-variable,.hljs-monokai .hljs-template-tag,.hljs-monokai .hljs-template-variable{color:#a6e22e}.hljs-monokai .hljs-comment,.hljs-monokai .hljs-quote,.hljs-monokai .hljs-deletion,.hljs-monokai .hljs-meta{color:#75715e}.hljs-monokai .hljs-keyword,.hljs-monokai .hljs-selector-tag,.hljs-monokai .hljs-literal,.hljs-monokai .hljs-doctag,.hljs-monokai .hljs-title,.hljs-monokai .hljs-section,.hljs-monokai .hljs-type,.hljs-monokai .hljs-selector-id{font-weight:bold}","nord":".hljs-nord .hljs{display:block;overflow-x:auto;padding:.5em;background:#2E3440}.hljs-nord .hljs,.hljs-nord .hljs-subst{color:#D8DEE9}.hljs-nord .hljs-selector-tag{color:#81A1C1}.hljs-nord .hljs-selector-id{color:#8FBCBB;font-weight:bold}.hljs-nord .hljs-selector-class{color:#8FBCBB}.hljs-nord .hljs-selector-attr{color:#8FBCBB}.hljs-nord .hljs-selector-pseudo{color:#88C0D0}.hljs-nord .hljs-addition{background-color:rgba(163,190,140,0.5)}.hljs-nord .hljs-deletion{background-color:rgba(191,97,106,0.5)}.hljs-nord .hljs-built_in,.hljs-nord .hljs-type{color:#8FBCBB}.hljs-nord .hljs-class{color:#8FBCBB}.hljs-nord .hljs-function{color:#88C0D0}.hljs-nord .hljs-function>.hljs-title{color:#88C0D0}.hljs-nord .hljs-keyword,.hljs-nord .hljs-literal,.hljs-nord .hljs-symbol{color:#81A1C1}.hljs-nord .hljs-number{color:#B48EAD}.hljs-nord .hljs-regexp{color:#EBCB8B}.hljs-nord .hljs-string{color:#A3BE8C}.hljs-nord .hljs-title{color:#8FBCBB}.hljs-nord .hljs-params{color:#D8DEE9}.hljs-nord .hljs-bullet{color:#81A1C1}.hljs-nord .hljs-code{color:#8FBCBB}.hljs-nord .hljs-emphasis{font-style:italic}.hljs-nord .hljs-formula{color:#8FBCBB}.hljs-nord .hljs-strong{font-weight:bold}.hljs-nord .hljs-link:hover{text-decoration:underline}.hljs-nord .hljs-quote{color:#4C566A}.hljs-nord .hljs-comment{color:#4C566A}.hljs-nord .hljs-doctag{color:#8FBCBB}.hljs-nord .hljs-meta,.hljs-nord .hljs-meta-keyword{color:#5E81AC}.hljs-nord .hljs-meta-string{color:#A3BE8C}.hljs-nord .hljs-attr{color:#8FBCBB}.hljs-nord .hljs-attribute{color:#D8DEE9}.hljs-nord .hljs-builtin-name{color:#81A1C1}.hljs-nord .hljs-name{color:#81A1C1}.hljs-nord .hljs-section{color:#88C0D0}.hljs-nord .hljs-tag{color:#81A1C1}.hljs-nord .hljs-variable{color:#D8DEE9}.hljs-nord .hljs-template-variable{color:#D8DEE9}.hljs-nord .hljs-template-tag{color:#5E81AC}.hljs-nord .abnf .hljs-attribute{color:#88C0D0}.hljs-nord .abnf .hljs-symbol{color:#EBCB8B}.hljs-nord .apache .hljs-attribute{color:#88C0D0}.hljs-nord .apache .hljs-section{color:#81A1C1}.hljs-nord .arduino .hljs-built_in{color:#88C0D0}.hljs-nord .aspectj .hljs-meta{color:#D08770}.hljs-nord .aspectj>.hljs-title{color:#88C0D0}.hljs-nord .bnf .hljs-attribute{color:#8FBCBB}.hljs-nord .clojure .hljs-name{color:#88C0D0}.hljs-nord .clojure .hljs-symbol{color:#EBCB8B}.hljs-nord .coq .hljs-built_in{color:#88C0D0}.hljs-nord .cpp .hljs-meta-string{color:#8FBCBB}.hljs-nord .css .hljs-built_in{color:#88C0D0}.hljs-nord .css .hljs-keyword{color:#D08770}.hljs-nord .diff .hljs-meta{color:#8FBCBB}.hljs-nord .ebnf .hljs-attribute{color:#8FBCBB}.hljs-nord .glsl .hljs-built_in{color:#88C0D0}.hljs-nord .groovy .hljs-meta:not(:first-child){color:#D08770}.hljs-nord .haxe .hljs-meta{color:#D08770}.hljs-nord .java .hljs-meta{color:#D08770}.hljs-nord .ldif .hljs-attribute{color:#8FBCBB}.hljs-nord .lisp .hljs-name{color:#88C0D0}.hljs-nord .lua .hljs-built_in{color:#88C0D0}.hljs-nord .moonscript .hljs-built_in{color:#88C0D0}.hljs-nord .nginx .hljs-attribute{color:#88C0D0}.hljs-nord .nginx .hljs-section{color:#5E81AC}.hljs-nord .pf .hljs-built_in{color:#88C0D0}.hljs-nord .processing .hljs-built_in{color:#88C0D0}.hljs-nord .scss .hljs-keyword{color:#81A1C1}.hljs-nord .stylus .hljs-keyword{color:#81A1C1}.hljs-nord .swift .hljs-meta{color:#D08770}.hljs-nord .vim .hljs-built_in{color:#88C0D0;font-style:italic}.hljs-nord .yaml .hljs-meta{color:#D08770}","obsidian":".hljs-obsidian .hljs{display:block;overflow-x:auto;padding:.5em;background:#282b2e}.hljs-obsidian .hljs-keyword,.hljs-obsidian .hljs-selector-tag,.hljs-obsidian .hljs-literal,.hljs-obsidian .hljs-selector-id{color:#93c763}.hljs-obsidian .hljs-number{color:#ffcd22}.hljs-obsidian .hljs{color:#e0e2e4}.hljs-obsidian .hljs-attribute{color:#668bb0}.hljs-obsidian .hljs-code,.hljs-obsidian .hljs-class .hljs-title,.hljs-obsidian .hljs-section{color:white}.hljs-obsidian .hljs-regexp,.hljs-obsidian .hljs-link{color:#d39745}.hljs-obsidian .hljs-meta{color:#557182}.hljs-obsidian .hljs-tag,.hljs-obsidian .hljs-name,.hljs-obsidian .hljs-bullet,.hljs-obsidian .hljs-subst,.hljs-obsidian .hljs-emphasis,.hljs-obsidian .hljs-type,.hljs-obsidian .hljs-built_in,.hljs-obsidian .hljs-selector-attr,.hljs-obsidian .hljs-selector-pseudo,.hljs-obsidian .hljs-addition,.hljs-obsidian .hljs-variable,.hljs-obsidian .hljs-template-tag,.hljs-obsidian .hljs-template-variable{color:#8cbbad}.hljs-obsidian .hljs-string,.hljs-obsidian .hljs-symbol{color:#ec7600}.hljs-obsidian .hljs-comment,.hljs-obsidian .hljs-quote,.hljs-obsidian .hljs-deletion{color:#818e96}.hljs-obsidian .hljs-selector-class{color:#A082BD}.hljs-obsidian .hljs-keyword,.hljs-obsidian .hljs-selector-tag,.hljs-obsidian .hljs-literal,.hljs-obsidian .hljs-doctag,.hljs-obsidian .hljs-title,.hljs-obsidian .hljs-section,.hljs-obsidian .hljs-type,.hljs-obsidian .hljs-name,.hljs-obsidian .hljs-strong{font-weight:bold}","ocean":".hljs-ocean .hljs-comment,.hljs-ocean .hljs-quote{color:#65737e}.hljs-ocean .hljs-variable,.hljs-ocean .hljs-template-variable,.hljs-ocean .hljs-tag,.hljs-ocean .hljs-name,.hljs-ocean .hljs-selector-id,.hljs-ocean .hljs-selector-class,.hljs-ocean .hljs-regexp,.hljs-ocean .hljs-deletion{color:#bf616a}.hljs-ocean .hljs-number,.hljs-ocean .hljs-built_in,.hljs-ocean .hljs-builtin-name,.hljs-ocean .hljs-literal,.hljs-ocean .hljs-type,.hljs-ocean .hljs-params,.hljs-ocean .hljs-meta,.hljs-ocean .hljs-link{color:#d08770}.hljs-ocean .hljs-attribute{color:#ebcb8b}.hljs-ocean .hljs-string,.hljs-ocean .hljs-symbol,.hljs-ocean .hljs-bullet,.hljs-ocean .hljs-addition{color:#a3be8c}.hljs-ocean .hljs-title,.hljs-ocean .hljs-section{color:#8fa1b3}.hljs-ocean .hljs-keyword,.hljs-ocean .hljs-selector-tag{color:#b48ead}.hljs-ocean .hljs{display:block;overflow-x:auto;background:#2b303b;color:#c0c5ce;padding:.5em}.hljs-ocean .hljs-emphasis{font-style:italic}.hljs-ocean .hljs-strong{font-weight:bold}","paraiso-dark":".hljs-paraiso-dark .hljs-comment,.hljs-paraiso-dark .hljs-quote{color:#8d8687}.hljs-paraiso-dark .hljs-variable,.hljs-paraiso-dark .hljs-template-variable,.hljs-paraiso-dark .hljs-tag,.hljs-paraiso-dark .hljs-name,.hljs-paraiso-dark .hljs-selector-id,.hljs-paraiso-dark .hljs-selector-class,.hljs-paraiso-dark .hljs-regexp,.hljs-paraiso-dark .hljs-link,.hljs-paraiso-dark .hljs-meta{color:#ef6155}.hljs-paraiso-dark .hljs-number,.hljs-paraiso-dark .hljs-built_in,.hljs-paraiso-dark .hljs-builtin-name,.hljs-paraiso-dark .hljs-literal,.hljs-paraiso-dark .hljs-type,.hljs-paraiso-dark .hljs-params,.hljs-paraiso-dark .hljs-deletion{color:#f99b15}.hljs-paraiso-dark .hljs-title,.hljs-paraiso-dark .hljs-section,.hljs-paraiso-dark .hljs-attribute{color:#fec418}.hljs-paraiso-dark .hljs-string,.hljs-paraiso-dark .hljs-symbol,.hljs-paraiso-dark .hljs-bullet,.hljs-paraiso-dark .hljs-addition{color:#48b685}.hljs-paraiso-dark .hljs-keyword,.hljs-paraiso-dark .hljs-selector-tag{color:#815ba4}.hljs-paraiso-dark .hljs{display:block;overflow-x:auto;background:#2f1e2e;color:#a39e9b;padding:.5em}.hljs-paraiso-dark .hljs-emphasis{font-style:italic}.hljs-paraiso-dark .hljs-strong{font-weight:bold}","paraiso-light":".hljs-paraiso-light .hljs-comment,.hljs-paraiso-light .hljs-quote{color:#776e71}.hljs-paraiso-light .hljs-variable,.hljs-paraiso-light .hljs-template-variable,.hljs-paraiso-light .hljs-tag,.hljs-paraiso-light .hljs-name,.hljs-paraiso-light .hljs-selector-id,.hljs-paraiso-light .hljs-selector-class,.hljs-paraiso-light .hljs-regexp,.hljs-paraiso-light .hljs-link,.hljs-paraiso-light .hljs-meta{color:#ef6155}.hljs-paraiso-light .hljs-number,.hljs-paraiso-light .hljs-built_in,.hljs-paraiso-light .hljs-builtin-name,.hljs-paraiso-light .hljs-literal,.hljs-paraiso-light .hljs-type,.hljs-paraiso-light .hljs-params,.hljs-paraiso-light .hljs-deletion{color:#f99b15}.hljs-paraiso-light .hljs-title,.hljs-paraiso-light .hljs-section,.hljs-paraiso-light .hljs-attribute{color:#fec418}.hljs-paraiso-light .hljs-string,.hljs-paraiso-light .hljs-symbol,.hljs-paraiso-light .hljs-bullet,.hljs-paraiso-light .hljs-addition{color:#48b685}.hljs-paraiso-light .hljs-keyword,.hljs-paraiso-light .hljs-selector-tag{color:#815ba4}.hljs-paraiso-light .hljs{display:block;overflow-x:auto;background:#e7e9db;color:#4f424c;padding:.5em}.hljs-paraiso-light .hljs-emphasis{font-style:italic}.hljs-paraiso-light .hljs-strong{font-weight:bold}","purebasic":".hljs-purebasic .hljs{display:block;overflow-x:auto;padding:.5em;background:#FFFFDF}.hljs-purebasic .hljs,.hljs-purebasic .hljs-type,.hljs-purebasic .hljs-function,.hljs-purebasic .hljs-name,.hljs-purebasic .hljs-number,.hljs-purebasic .hljs-attr,.hljs-purebasic .hljs-params,.hljs-purebasic .hljs-subst{color:#000000}.hljs-purebasic .hljs-comment,.hljs-purebasic .hljs-regexp,.hljs-purebasic .hljs-section,.hljs-purebasic .hljs-selector-pseudo,.hljs-purebasic .hljs-addition{color:#00AAAA}.hljs-purebasic .hljs-title,.hljs-purebasic .hljs-tag,.hljs-purebasic .hljs-variable,.hljs-purebasic .hljs-code{color:#006666}.hljs-purebasic .hljs-keyword,.hljs-purebasic .hljs-class,.hljs-purebasic .hljs-meta-keyword,.hljs-purebasic .hljs-selector-class,.hljs-purebasic .hljs-built_in,.hljs-purebasic .hljs-builtin-name{color:#006666;font-weight:bold}.hljs-purebasic .hljs-string,.hljs-purebasic .hljs-selector-attr{color:#0080FF}.hljs-purebasic .hljs-symbol,.hljs-purebasic .hljs-link,.hljs-purebasic .hljs-deletion,.hljs-purebasic .hljs-attribute{color:#924B72}.hljs-purebasic .hljs-meta,.hljs-purebasic .hljs-literal,.hljs-purebasic .hljs-selector-id{color:#924B72;font-weight:bold}.hljs-purebasic .hljs-strong,.hljs-purebasic .hljs-name{font-weight:bold}.hljs-purebasic .hljs-emphasis{font-style:italic}","qtcreator_dark":".hljs-qtcreator_dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#000000}.hljs-qtcreator_dark .hljs,.hljs-qtcreator_dark .hljs-subst,.hljs-qtcreator_dark .hljs-tag,.hljs-qtcreator_dark .hljs-title{color:#aaaaaa}.hljs-qtcreator_dark .hljs-strong,.hljs-qtcreator_dark .hljs-emphasis{color:#a8a8a2}.hljs-qtcreator_dark .hljs-bullet,.hljs-qtcreator_dark .hljs-quote,.hljs-qtcreator_dark .hljs-number,.hljs-qtcreator_dark .hljs-regexp,.hljs-qtcreator_dark .hljs-literal{color:#ff55ff}.hljs-qtcreator_dark .hljs-code .hljs-selector-class{color:#aaaaff}.hljs-qtcreator_dark .hljs-emphasis,.hljs-qtcreator_dark .hljs-stronge,.hljs-qtcreator_dark .hljs-type{font-style:italic}.hljs-qtcreator_dark .hljs-keyword,.hljs-qtcreator_dark .hljs-selector-tag,.hljs-qtcreator_dark .hljs-function,.hljs-qtcreator_dark .hljs-section,.hljs-qtcreator_dark .hljs-symbol,.hljs-qtcreator_dark .hljs-name{color:#ffff55}.hljs-qtcreator_dark .hljs-attribute{color:#ff5555}.hljs-qtcreator_dark .hljs-variable,.hljs-qtcreator_dark .hljs-params,.hljs-qtcreator_dark .hljs-class .hljs-title{color:#8888ff}.hljs-qtcreator_dark .hljs-string,.hljs-qtcreator_dark .hljs-selector-id,.hljs-qtcreator_dark .hljs-selector-attr,.hljs-qtcreator_dark .hljs-selector-pseudo,.hljs-qtcreator_dark .hljs-type,.hljs-qtcreator_dark .hljs-built_in,.hljs-qtcreator_dark .hljs-builtin-name,.hljs-qtcreator_dark .hljs-template-tag,.hljs-qtcreator_dark .hljs-template-variable,.hljs-qtcreator_dark .hljs-addition,.hljs-qtcreator_dark .hljs-link{color:#ff55ff}.hljs-qtcreator_dark .hljs-comment,.hljs-qtcreator_dark .hljs-meta,.hljs-qtcreator_dark .hljs-deletion{color:#55ffff}","qtcreator_light":".hljs-qtcreator_light .hljs{display:block;overflow-x:auto;padding:.5em;background:#ffffff}.hljs-qtcreator_light .hljs,.hljs-qtcreator_light .hljs-subst,.hljs-qtcreator_light .hljs-tag,.hljs-qtcreator_light .hljs-title{color:#000000}.hljs-qtcreator_light .hljs-strong,.hljs-qtcreator_light .hljs-emphasis{color:#000000}.hljs-qtcreator_light .hljs-bullet,.hljs-qtcreator_light .hljs-quote,.hljs-qtcreator_light .hljs-number,.hljs-qtcreator_light .hljs-regexp,.hljs-qtcreator_light .hljs-literal{color:#000080}.hljs-qtcreator_light .hljs-code .hljs-selector-class{color:#800080}.hljs-qtcreator_light .hljs-emphasis,.hljs-qtcreator_light .hljs-stronge,.hljs-qtcreator_light .hljs-type{font-style:italic}.hljs-qtcreator_light .hljs-keyword,.hljs-qtcreator_light .hljs-selector-tag,.hljs-qtcreator_light .hljs-function,.hljs-qtcreator_light .hljs-section,.hljs-qtcreator_light .hljs-symbol,.hljs-qtcreator_light .hljs-name{color:#808000}.hljs-qtcreator_light .hljs-attribute{color:#800000}.hljs-qtcreator_light .hljs-variable,.hljs-qtcreator_light .hljs-params,.hljs-qtcreator_light .hljs-class .hljs-title{color:#0055AF}.hljs-qtcreator_light .hljs-string,.hljs-qtcreator_light .hljs-selector-id,.hljs-qtcreator_light .hljs-selector-attr,.hljs-qtcreator_light .hljs-selector-pseudo,.hljs-qtcreator_light .hljs-type,.hljs-qtcreator_light .hljs-built_in,.hljs-qtcreator_light .hljs-builtin-name,.hljs-qtcreator_light .hljs-template-tag,.hljs-qtcreator_light .hljs-template-variable,.hljs-qtcreator_light .hljs-addition,.hljs-qtcreator_light .hljs-link{color:#008000}.hljs-qtcreator_light .hljs-comment,.hljs-qtcreator_light .hljs-meta,.hljs-qtcreator_light .hljs-deletion{color:#008000}","railscasts":".hljs-railscasts .hljs{display:block;overflow-x:auto;padding:.5em;background:#232323;color:#e6e1dc}.hljs-railscasts .hljs-comment,.hljs-railscasts .hljs-quote{color:#bc9458;font-style:italic}.hljs-railscasts .hljs-keyword,.hljs-railscasts .hljs-selector-tag{color:#c26230}.hljs-railscasts .hljs-string,.hljs-railscasts .hljs-number,.hljs-railscasts .hljs-regexp,.hljs-railscasts .hljs-variable,.hljs-railscasts .hljs-template-variable{color:#a5c261}.hljs-railscasts .hljs-subst{color:#519f50}.hljs-railscasts .hljs-tag,.hljs-railscasts .hljs-name{color:#e8bf6a}.hljs-railscasts .hljs-type{color:#da4939}.hljs-railscasts .hljs-symbol,.hljs-railscasts .hljs-bullet,.hljs-railscasts .hljs-built_in,.hljs-railscasts .hljs-builtin-name,.hljs-railscasts .hljs-attr,.hljs-railscasts .hljs-link{color:#6d9cbe}.hljs-railscasts .hljs-params{color:#d0d0ff}.hljs-railscasts .hljs-attribute{color:#cda869}.hljs-railscasts .hljs-meta{color:#9b859d}.hljs-railscasts .hljs-title,.hljs-railscasts .hljs-section{color:#ffc66d}.hljs-railscasts .hljs-addition{background-color:#144212;color:#e6e1dc;display:inline-block;width:100%}.hljs-railscasts .hljs-deletion{background-color:#600;color:#e6e1dc;display:inline-block;width:100%}.hljs-railscasts .hljs-selector-class{color:#9b703f}.hljs-railscasts .hljs-selector-id{color:#8b98ab}.hljs-railscasts .hljs-emphasis{font-style:italic}.hljs-railscasts .hljs-strong{font-weight:bold}.hljs-railscasts .hljs-link{text-decoration:underline}","rainbow":".hljs-rainbow .hljs{display:block;overflow-x:auto;padding:.5em;background:#474949;color:#d1d9e1}.hljs-rainbow .hljs-comment,.hljs-rainbow .hljs-quote{color:#969896;font-style:italic}.hljs-rainbow .hljs-keyword,.hljs-rainbow .hljs-selector-tag,.hljs-rainbow .hljs-literal,.hljs-rainbow .hljs-type,.hljs-rainbow .hljs-addition{color:#cc99cc}.hljs-rainbow .hljs-number,.hljs-rainbow .hljs-selector-attr,.hljs-rainbow .hljs-selector-pseudo{color:#f99157}.hljs-rainbow .hljs-string,.hljs-rainbow .hljs-doctag,.hljs-rainbow .hljs-regexp{color:#8abeb7}.hljs-rainbow .hljs-title,.hljs-rainbow .hljs-name,.hljs-rainbow .hljs-section,.hljs-rainbow .hljs-built_in{color:#b5bd68}.hljs-rainbow .hljs-variable,.hljs-rainbow .hljs-template-variable,.hljs-rainbow .hljs-selector-id,.hljs-rainbow .hljs-class .hljs-title{color:#ffcc66}.hljs-rainbow .hljs-section,.hljs-rainbow .hljs-name,.hljs-rainbow .hljs-strong{font-weight:bold}.hljs-rainbow .hljs-symbol,.hljs-rainbow .hljs-bullet,.hljs-rainbow .hljs-subst,.hljs-rainbow .hljs-meta,.hljs-rainbow .hljs-link{color:#f99157}.hljs-rainbow .hljs-deletion{color:#dc322f}.hljs-rainbow .hljs-formula{background:#eee8d5}.hljs-rainbow .hljs-attr,.hljs-rainbow .hljs-attribute{color:#81a2be}.hljs-rainbow .hljs-emphasis{font-style:italic}","routeros":".hljs-routeros .hljs{display:block;overflow-x:auto;padding:.5em;background:#F0F0F0}.hljs-routeros .hljs,.hljs-routeros .hljs-subst{color:#444}.hljs-routeros .hljs-comment{color:#888888}.hljs-routeros .hljs-keyword,.hljs-routeros .hljs-selector-tag,.hljs-routeros .hljs-meta-keyword,.hljs-routeros .hljs-doctag,.hljs-routeros .hljs-name{font-weight:bold}.hljs-routeros .hljs-attribute{color:#0E9A00}.hljs-routeros .hljs-function{color:#99069A}.hljs-routeros .hljs-builtin-name{color:#99069A}.hljs-routeros .hljs-type,.hljs-routeros .hljs-string,.hljs-routeros .hljs-number,.hljs-routeros .hljs-selector-id,.hljs-routeros .hljs-selector-class,.hljs-routeros .hljs-quote,.hljs-routeros .hljs-template-tag,.hljs-routeros .hljs-deletion{color:#880000}.hljs-routeros .hljs-title,.hljs-routeros .hljs-section{color:#880000;font-weight:bold}.hljs-routeros .hljs-regexp,.hljs-routeros .hljs-symbol,.hljs-routeros .hljs-variable,.hljs-routeros .hljs-template-variable,.hljs-routeros .hljs-link,.hljs-routeros .hljs-selector-attr,.hljs-routeros .hljs-selector-pseudo{color:#BC6060}.hljs-routeros .hljs-literal{color:#78A960}.hljs-routeros .hljs-built_in,.hljs-routeros .hljs-bullet,.hljs-routeros .hljs-code,.hljs-routeros .hljs-addition{color:#0C9A9A}.hljs-routeros .hljs-meta{color:#1f7199}.hljs-routeros .hljs-meta-string{color:#4d99bf}.hljs-routeros .hljs-emphasis{font-style:italic}.hljs-routeros .hljs-strong{font-weight:bold}","school-book":".hljs-school-book .hljs{display:block;overflow-x:auto;padding:15px .5em .5em 30px;font-size:11px;line-height:16px;background:#f6f6ae url(./school-book.png);border-top:solid 2px #d2e8b9;border-bottom:solid 1px #d2e8b9}.hljs-school-book .hljs-keyword,.hljs-school-book .hljs-selector-tag,.hljs-school-book .hljs-literal{color:#005599;font-weight:bold}.hljs-school-book .hljs,.hljs-school-book .hljs-subst{color:#3e5915}.hljs-school-book .hljs-string,.hljs-school-book .hljs-title,.hljs-school-book .hljs-section,.hljs-school-book .hljs-type,.hljs-school-book .hljs-symbol,.hljs-school-book .hljs-bullet,.hljs-school-book .hljs-attribute,.hljs-school-book .hljs-built_in,.hljs-school-book .hljs-builtin-name,.hljs-school-book .hljs-addition,.hljs-school-book .hljs-variable,.hljs-school-book .hljs-template-tag,.hljs-school-book .hljs-template-variable,.hljs-school-book .hljs-link{color:#2c009f}.hljs-school-book .hljs-comment,.hljs-school-book .hljs-quote,.hljs-school-book .hljs-deletion,.hljs-school-book .hljs-meta{color:#e60415}.hljs-school-book .hljs-keyword,.hljs-school-book .hljs-selector-tag,.hljs-school-book .hljs-literal,.hljs-school-book .hljs-doctag,.hljs-school-book .hljs-title,.hljs-school-book .hljs-section,.hljs-school-book .hljs-type,.hljs-school-book .hljs-name,.hljs-school-book .hljs-selector-id,.hljs-school-book .hljs-strong{font-weight:bold}.hljs-school-book .hljs-emphasis{font-style:italic}","shades-of-purple":".hljs-shades-of-purple .hljs{display:block;overflow-x:auto;line-height:1.45;padding:2rem;background:#2d2b57;font-weight:normal}.hljs-shades-of-purple .hljs-title{color:#fad000;font-weight:normal}.hljs-shades-of-purple .hljs-name{color:#a1feff}.hljs-shades-of-purple .hljs-tag{color:#ffffff}.hljs-shades-of-purple .hljs-attr{color:#f8d000;font-style:italic}.hljs-shades-of-purple .hljs-built_in,.hljs-shades-of-purple .hljs-selector-tag,.hljs-shades-of-purple .hljs-section{color:#fb9e00}.hljs-shades-of-purple .hljs-keyword{color:#fb9e00}.hljs-shades-of-purple .hljs,.hljs-shades-of-purple .hljs-subst{color:#e3dfff}.hljs-shades-of-purple .hljs-string,.hljs-shades-of-purple .hljs-attribute,.hljs-shades-of-purple .hljs-symbol,.hljs-shades-of-purple .hljs-bullet,.hljs-shades-of-purple .hljs-addition,.hljs-shades-of-purple .hljs-code,.hljs-shades-of-purple .hljs-regexp,.hljs-shades-of-purple .hljs-selector-class,.hljs-shades-of-purple .hljs-selector-attr,.hljs-shades-of-purple .hljs-selector-pseudo,.hljs-shades-of-purple .hljs-template-tag,.hljs-shades-of-purple .hljs-quote,.hljs-shades-of-purple .hljs-deletion{color:#4cd213}.hljs-shades-of-purple .hljs-meta,.hljs-shades-of-purple .hljs-meta-string{color:#fb9e00}.hljs-shades-of-purple .hljs-comment{color:#ac65ff}.hljs-shades-of-purple .hljs-keyword,.hljs-shades-of-purple .hljs-selector-tag,.hljs-shades-of-purple .hljs-literal,.hljs-shades-of-purple .hljs-name,.hljs-shades-of-purple .hljs-strong{font-weight:normal}.hljs-shades-of-purple .hljs-literal,.hljs-shades-of-purple .hljs-number{color:#fa658d}.hljs-shades-of-purple .hljs-emphasis{font-style:italic}.hljs-shades-of-purple .hljs-strong{font-weight:bold}","solarized-dark":".hljs-solarized-dark .hljs{display:block;overflow-x:auto;padding:.5em;background:#002b36;color:#839496}.hljs-solarized-dark .hljs-comment,.hljs-solarized-dark .hljs-quote{color:#586e75}.hljs-solarized-dark .hljs-keyword,.hljs-solarized-dark .hljs-selector-tag,.hljs-solarized-dark .hljs-addition{color:#859900}.hljs-solarized-dark .hljs-number,.hljs-solarized-dark .hljs-string,.hljs-solarized-dark .hljs-meta .hljs-meta-string,.hljs-solarized-dark .hljs-literal,.hljs-solarized-dark .hljs-doctag,.hljs-solarized-dark .hljs-regexp{color:#2aa198}.hljs-solarized-dark .hljs-title,.hljs-solarized-dark .hljs-section,.hljs-solarized-dark .hljs-name,.hljs-solarized-dark .hljs-selector-id,.hljs-solarized-dark .hljs-selector-class{color:#268bd2}.hljs-solarized-dark .hljs-attribute,.hljs-solarized-dark .hljs-attr,.hljs-solarized-dark .hljs-variable,.hljs-solarized-dark .hljs-template-variable,.hljs-solarized-dark .hljs-class .hljs-title,.hljs-solarized-dark .hljs-type{color:#b58900}.hljs-solarized-dark .hljs-symbol,.hljs-solarized-dark .hljs-bullet,.hljs-solarized-dark .hljs-subst,.hljs-solarized-dark .hljs-meta,.hljs-solarized-dark .hljs-meta .hljs-keyword,.hljs-solarized-dark .hljs-selector-attr,.hljs-solarized-dark .hljs-selector-pseudo,.hljs-solarized-dark .hljs-link{color:#cb4b16}.hljs-solarized-dark .hljs-built_in,.hljs-solarized-dark .hljs-deletion{color:#dc322f}.hljs-solarized-dark .hljs-formula{background:#073642}.hljs-solarized-dark .hljs-emphasis{font-style:italic}.hljs-solarized-dark .hljs-strong{font-weight:bold}","solarized-light":".hljs-solarized-light .hljs{display:block;overflow-x:auto;padding:.5em;background:#fdf6e3;color:#657b83}.hljs-solarized-light .hljs-comment,.hljs-solarized-light .hljs-quote{color:#93a1a1}.hljs-solarized-light .hljs-keyword,.hljs-solarized-light .hljs-selector-tag,.hljs-solarized-light .hljs-addition{color:#859900}.hljs-solarized-light .hljs-number,.hljs-solarized-light .hljs-string,.hljs-solarized-light .hljs-meta .hljs-meta-string,.hljs-solarized-light .hljs-literal,.hljs-solarized-light .hljs-doctag,.hljs-solarized-light .hljs-regexp{color:#2aa198}.hljs-solarized-light .hljs-title,.hljs-solarized-light .hljs-section,.hljs-solarized-light .hljs-name,.hljs-solarized-light .hljs-selector-id,.hljs-solarized-light .hljs-selector-class{color:#268bd2}.hljs-solarized-light .hljs-attribute,.hljs-solarized-light .hljs-attr,.hljs-solarized-light .hljs-variable,.hljs-solarized-light .hljs-template-variable,.hljs-solarized-light .hljs-class .hljs-title,.hljs-solarized-light .hljs-type{color:#b58900}.hljs-solarized-light .hljs-symbol,.hljs-solarized-light .hljs-bullet,.hljs-solarized-light .hljs-subst,.hljs-solarized-light .hljs-meta,.hljs-solarized-light .hljs-meta .hljs-keyword,.hljs-solarized-light .hljs-selector-attr,.hljs-solarized-light .hljs-selector-pseudo,.hljs-solarized-light .hljs-link{color:#cb4b16}.hljs-solarized-light .hljs-built_in,.hljs-solarized-light .hljs-deletion{color:#dc322f}.hljs-solarized-light .hljs-formula{background:#eee8d5}.hljs-solarized-light .hljs-emphasis{font-style:italic}.hljs-solarized-light .hljs-strong{font-weight:bold}","sunburst":".hljs-sunburst .hljs{display:block;overflow-x:auto;padding:.5em;background:#000;color:#f8f8f8}.hljs-sunburst .hljs-comment,.hljs-sunburst .hljs-quote{color:#aeaeae;font-style:italic}.hljs-sunburst .hljs-keyword,.hljs-sunburst .hljs-selector-tag,.hljs-sunburst .hljs-type{color:#e28964}.hljs-sunburst .hljs-string{color:#65b042}.hljs-sunburst .hljs-subst{color:#daefa3}.hljs-sunburst .hljs-regexp,.hljs-sunburst .hljs-link{color:#e9c062}.hljs-sunburst .hljs-title,.hljs-sunburst .hljs-section,.hljs-sunburst .hljs-tag,.hljs-sunburst .hljs-name{color:#89bdff}.hljs-sunburst .hljs-class .hljs-title,.hljs-sunburst .hljs-doctag{text-decoration:underline}.hljs-sunburst .hljs-symbol,.hljs-sunburst .hljs-bullet,.hljs-sunburst .hljs-number{color:#3387cc}.hljs-sunburst .hljs-params,.hljs-sunburst .hljs-variable,.hljs-sunburst .hljs-template-variable{color:#3e87e3}.hljs-sunburst .hljs-attribute{color:#cda869}.hljs-sunburst .hljs-meta{color:#8996a8}.hljs-sunburst .hljs-formula{background-color:#0e2231;color:#f8f8f8;font-style:italic}.hljs-sunburst .hljs-addition{background-color:#253b22;color:#f8f8f8}.hljs-sunburst .hljs-deletion{background-color:#420e09;color:#f8f8f8}.hljs-sunburst .hljs-selector-class{color:#9b703f}.hljs-sunburst .hljs-selector-id{color:#8b98ab}.hljs-sunburst .hljs-emphasis{font-style:italic}.hljs-sunburst .hljs-strong{font-weight:bold}","tomorrow-night-blue":".hljs-tomorrow-night-blue .hljs-comment,.hljs-tomorrow-night-blue .hljs-quote{color:#7285b7}.hljs-tomorrow-night-blue .hljs-variable,.hljs-tomorrow-night-blue .hljs-template-variable,.hljs-tomorrow-night-blue .hljs-tag,.hljs-tomorrow-night-blue .hljs-name,.hljs-tomorrow-night-blue .hljs-selector-id,.hljs-tomorrow-night-blue .hljs-selector-class,.hljs-tomorrow-night-blue .hljs-regexp,.hljs-tomorrow-night-blue .hljs-deletion{color:#ff9da4}.hljs-tomorrow-night-blue .hljs-number,.hljs-tomorrow-night-blue .hljs-built_in,.hljs-tomorrow-night-blue .hljs-builtin-name,.hljs-tomorrow-night-blue .hljs-literal,.hljs-tomorrow-night-blue .hljs-type,.hljs-tomorrow-night-blue .hljs-params,.hljs-tomorrow-night-blue .hljs-meta,.hljs-tomorrow-night-blue .hljs-link{color:#ffc58f}.hljs-tomorrow-night-blue .hljs-attribute{color:#ffeead}.hljs-tomorrow-night-blue .hljs-string,.hljs-tomorrow-night-blue .hljs-symbol,.hljs-tomorrow-night-blue .hljs-bullet,.hljs-tomorrow-night-blue .hljs-addition{color:#d1f1a9}.hljs-tomorrow-night-blue .hljs-title,.hljs-tomorrow-night-blue .hljs-section{color:#bbdaff}.hljs-tomorrow-night-blue .hljs-keyword,.hljs-tomorrow-night-blue .hljs-selector-tag{color:#ebbbff}.hljs-tomorrow-night-blue .hljs{display:block;overflow-x:auto;background:#002451;color:white;padding:.5em}.hljs-tomorrow-night-blue .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-blue .hljs-strong{font-weight:bold}","tomorrow-night-bright":".hljs-tomorrow-night-bright .hljs-comment,.hljs-tomorrow-night-bright .hljs-quote{color:#969896}.hljs-tomorrow-night-bright .hljs-variable,.hljs-tomorrow-night-bright .hljs-template-variable,.hljs-tomorrow-night-bright .hljs-tag,.hljs-tomorrow-night-bright .hljs-name,.hljs-tomorrow-night-bright .hljs-selector-id,.hljs-tomorrow-night-bright .hljs-selector-class,.hljs-tomorrow-night-bright .hljs-regexp,.hljs-tomorrow-night-bright .hljs-deletion{color:#d54e53}.hljs-tomorrow-night-bright .hljs-number,.hljs-tomorrow-night-bright .hljs-built_in,.hljs-tomorrow-night-bright .hljs-builtin-name,.hljs-tomorrow-night-bright .hljs-literal,.hljs-tomorrow-night-bright .hljs-type,.hljs-tomorrow-night-bright .hljs-params,.hljs-tomorrow-night-bright .hljs-meta,.hljs-tomorrow-night-bright .hljs-link{color:#e78c45}.hljs-tomorrow-night-bright .hljs-attribute{color:#e7c547}.hljs-tomorrow-night-bright .hljs-string,.hljs-tomorrow-night-bright .hljs-symbol,.hljs-tomorrow-night-bright .hljs-bullet,.hljs-tomorrow-night-bright .hljs-addition{color:#b9ca4a}.hljs-tomorrow-night-bright .hljs-title,.hljs-tomorrow-night-bright .hljs-section{color:#7aa6da}.hljs-tomorrow-night-bright .hljs-keyword,.hljs-tomorrow-night-bright .hljs-selector-tag{color:#c397d8}.hljs-tomorrow-night-bright .hljs{display:block;overflow-x:auto;background:black;color:#eaeaea;padding:.5em}.hljs-tomorrow-night-bright .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-bright .hljs-strong{font-weight:bold}","tomorrow-night-eighties":".hljs-tomorrow-night-eighties .hljs-comment,.hljs-tomorrow-night-eighties .hljs-quote{color:#999999}.hljs-tomorrow-night-eighties .hljs-variable,.hljs-tomorrow-night-eighties .hljs-template-variable,.hljs-tomorrow-night-eighties .hljs-tag,.hljs-tomorrow-night-eighties .hljs-name,.hljs-tomorrow-night-eighties .hljs-selector-id,.hljs-tomorrow-night-eighties .hljs-selector-class,.hljs-tomorrow-night-eighties .hljs-regexp,.hljs-tomorrow-night-eighties .hljs-deletion{color:#f2777a}.hljs-tomorrow-night-eighties .hljs-number,.hljs-tomorrow-night-eighties .hljs-built_in,.hljs-tomorrow-night-eighties .hljs-builtin-name,.hljs-tomorrow-night-eighties .hljs-literal,.hljs-tomorrow-night-eighties .hljs-type,.hljs-tomorrow-night-eighties .hljs-params,.hljs-tomorrow-night-eighties .hljs-meta,.hljs-tomorrow-night-eighties .hljs-link{color:#f99157}.hljs-tomorrow-night-eighties .hljs-attribute{color:#ffcc66}.hljs-tomorrow-night-eighties .hljs-string,.hljs-tomorrow-night-eighties .hljs-symbol,.hljs-tomorrow-night-eighties .hljs-bullet,.hljs-tomorrow-night-eighties .hljs-addition{color:#99cc99}.hljs-tomorrow-night-eighties .hljs-title,.hljs-tomorrow-night-eighties .hljs-section{color:#6699cc}.hljs-tomorrow-night-eighties .hljs-keyword,.hljs-tomorrow-night-eighties .hljs-selector-tag{color:#cc99cc}.hljs-tomorrow-night-eighties .hljs{display:block;overflow-x:auto;background:#2d2d2d;color:#cccccc;padding:.5em}.hljs-tomorrow-night-eighties .hljs-emphasis{font-style:italic}.hljs-tomorrow-night-eighties .hljs-strong{font-weight:bold}","tomorrow-night":".hljs-tomorrow-night .hljs-comment,.hljs-tomorrow-night .hljs-quote{color:#969896}.hljs-tomorrow-night .hljs-variable,.hljs-tomorrow-night .hljs-template-variable,.hljs-tomorrow-night .hljs-tag,.hljs-tomorrow-night .hljs-name,.hljs-tomorrow-night .hljs-selector-id,.hljs-tomorrow-night .hljs-selector-class,.hljs-tomorrow-night .hljs-regexp,.hljs-tomorrow-night .hljs-deletion{color:#cc6666}.hljs-tomorrow-night .hljs-number,.hljs-tomorrow-night .hljs-built_in,.hljs-tomorrow-night .hljs-builtin-name,.hljs-tomorrow-night .hljs-literal,.hljs-tomorrow-night .hljs-type,.hljs-tomorrow-night .hljs-params,.hljs-tomorrow-night .hljs-meta,.hljs-tomorrow-night .hljs-link{color:#de935f}.hljs-tomorrow-night .hljs-attribute{color:#f0c674}.hljs-tomorrow-night .hljs-string,.hljs-tomorrow-night .hljs-symbol,.hljs-tomorrow-night .hljs-bullet,.hljs-tomorrow-night .hljs-addition{color:#b5bd68}.hljs-tomorrow-night .hljs-title,.hljs-tomorrow-night .hljs-section{color:#81a2be}.hljs-tomorrow-night .hljs-keyword,.hljs-tomorrow-night .hljs-selector-tag{color:#b294bb}.hljs-tomorrow-night .hljs{display:block;overflow-x:auto;background:#1d1f21;color:#c5c8c6;padding:.5em}.hljs-tomorrow-night .hljs-emphasis{font-style:italic}.hljs-tomorrow-night .hljs-strong{font-weight:bold}","tomorrow":".hljs-tomorrow .hljs-comment,.hljs-tomorrow .hljs-quote{color:#8e908c}.hljs-tomorrow .hljs-variable,.hljs-tomorrow .hljs-template-variable,.hljs-tomorrow .hljs-tag,.hljs-tomorrow .hljs-name,.hljs-tomorrow .hljs-selector-id,.hljs-tomorrow .hljs-selector-class,.hljs-tomorrow .hljs-regexp,.hljs-tomorrow .hljs-deletion{color:#c82829}.hljs-tomorrow .hljs-number,.hljs-tomorrow .hljs-built_in,.hljs-tomorrow .hljs-builtin-name,.hljs-tomorrow .hljs-literal,.hljs-tomorrow .hljs-type,.hljs-tomorrow .hljs-params,.hljs-tomorrow .hljs-meta,.hljs-tomorrow .hljs-link{color:#f5871f}.hljs-tomorrow .hljs-attribute{color:#eab700}.hljs-tomorrow .hljs-string,.hljs-tomorrow .hljs-symbol,.hljs-tomorrow .hljs-bullet,.hljs-tomorrow .hljs-addition{color:#718c00}.hljs-tomorrow .hljs-title,.hljs-tomorrow .hljs-section{color:#4271ae}.hljs-tomorrow .hljs-keyword,.hljs-tomorrow .hljs-selector-tag{color:#8959a8}.hljs-tomorrow .hljs{display:block;overflow-x:auto;background:white;color:#4d4d4c;padding:.5em}.hljs-tomorrow .hljs-emphasis{font-style:italic}.hljs-tomorrow .hljs-strong{font-weight:bold}","vs":".hljs-vs .hljs{display:block;overflow-x:auto;padding:.5em;background:white;color:black}.hljs-vs .hljs-comment,.hljs-vs .hljs-quote,.hljs-vs .hljs-variable{color:#008000}.hljs-vs .hljs-keyword,.hljs-vs .hljs-selector-tag,.hljs-vs .hljs-built_in,.hljs-vs .hljs-name,.hljs-vs .hljs-tag{color:#00f}.hljs-vs .hljs-string,.hljs-vs .hljs-title,.hljs-vs .hljs-section,.hljs-vs .hljs-attribute,.hljs-vs .hljs-literal,.hljs-vs .hljs-template-tag,.hljs-vs .hljs-template-variable,.hljs-vs .hljs-type,.hljs-vs .hljs-addition{color:#a31515}.hljs-vs .hljs-deletion,.hljs-vs .hljs-selector-attr,.hljs-vs .hljs-selector-pseudo,.hljs-vs .hljs-meta{color:#2b91af}.hljs-vs .hljs-doctag{color:#808080}.hljs-vs .hljs-attr{color:#f00}.hljs-vs .hljs-symbol,.hljs-vs .hljs-bullet,.hljs-vs .hljs-link{color:#00b0e8}.hljs-vs .hljs-emphasis{font-style:italic}.hljs-vs .hljs-strong{font-weight:bold}","vs2015":".hljs-vs2015 .hljs{display:block;overflow-x:auto;padding:.5em;background:#1E1E1E;color:#DCDCDC}.hljs-vs2015 .hljs-keyword,.hljs-vs2015 .hljs-literal,.hljs-vs2015 .hljs-symbol,.hljs-vs2015 .hljs-name{color:#569CD6}.hljs-vs2015 .hljs-link{color:#569CD6;text-decoration:underline}.hljs-vs2015 .hljs-built_in,.hljs-vs2015 .hljs-type{color:#4EC9B0}.hljs-vs2015 .hljs-number,.hljs-vs2015 .hljs-class{color:#B8D7A3}.hljs-vs2015 .hljs-string,.hljs-vs2015 .hljs-meta-string{color:#D69D85}.hljs-vs2015 .hljs-regexp,.hljs-vs2015 .hljs-template-tag{color:#9A5334}.hljs-vs2015 .hljs-subst,.hljs-vs2015 .hljs-function,.hljs-vs2015 .hljs-title,.hljs-vs2015 .hljs-params,.hljs-vs2015 .hljs-formula{color:#DCDCDC}.hljs-vs2015 .hljs-comment,.hljs-vs2015 .hljs-quote{color:#57A64A;font-style:italic}.hljs-vs2015 .hljs-doctag{color:#608B4E}.hljs-vs2015 .hljs-meta,.hljs-vs2015 .hljs-meta-keyword,.hljs-vs2015 .hljs-tag{color:#9B9B9B}.hljs-vs2015 .hljs-variable,.hljs-vs2015 .hljs-template-variable{color:#BD63C5}.hljs-vs2015 .hljs-attr,.hljs-vs2015 .hljs-attribute,.hljs-vs2015 .hljs-builtin-name{color:#9CDCFE}.hljs-vs2015 .hljs-section{color:gold}.hljs-vs2015 .hljs-emphasis{font-style:italic}.hljs-vs2015 .hljs-strong{font-weight:bold}.hljs-vs2015 .hljs-bullet,.hljs-vs2015 .hljs-selector-tag,.hljs-vs2015 .hljs-selector-id,.hljs-vs2015 .hljs-selector-class,.hljs-vs2015 .hljs-selector-attr,.hljs-vs2015 .hljs-selector-pseudo{color:#D7BA7D}.hljs-vs2015 .hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-vs2015 .hljs-deletion{background-color:#600;display:inline-block;width:100%}","xcode":".hljs-xcode .hljs{display:block;overflow-x:auto;padding:.5em;background:#fff;color:black}.hljs-xcode .xml .hljs-meta{color:#c0c0c0}.hljs-xcode .hljs-comment,.hljs-xcode .hljs-quote{color:#007400}.hljs-xcode .hljs-tag,.hljs-xcode .hljs-attribute,.hljs-xcode .hljs-keyword,.hljs-xcode .hljs-selector-tag,.hljs-xcode .hljs-literal,.hljs-xcode .hljs-name{color:#aa0d91}.hljs-xcode .hljs-variable,.hljs-xcode .hljs-template-variable{color:#3F6E74}.hljs-xcode .hljs-code,.hljs-xcode .hljs-string,.hljs-xcode .hljs-meta-string{color:#c41a16}.hljs-xcode .hljs-regexp,.hljs-xcode .hljs-link{color:#0E0EFF}.hljs-xcode .hljs-title,.hljs-xcode .hljs-symbol,.hljs-xcode .hljs-bullet,.hljs-xcode .hljs-number{color:#1c00cf}.hljs-xcode .hljs-section,.hljs-xcode .hljs-meta{color:#643820}.hljs-xcode .hljs-class .hljs-title,.hljs-xcode .hljs-type,.hljs-xcode .hljs-built_in,.hljs-xcode .hljs-builtin-name,.hljs-xcode .hljs-params{color:#5c2699}.hljs-xcode .hljs-attr{color:#836C28}.hljs-xcode .hljs-subst{color:#000}.hljs-xcode .hljs-formula{background-color:#eee;font-style:italic}.hljs-xcode .hljs-addition{background-color:#baeeba}.hljs-xcode .hljs-deletion{background-color:#ffc8bd}.hljs-xcode .hljs-selector-id,.hljs-xcode .hljs-selector-class{color:#9b703f}.hljs-xcode .hljs-doctag,.hljs-xcode .hljs-strong{font-weight:bold}.hljs-xcode .hljs-emphasis{font-style:italic}","xt256":".hljs-xt256 .hljs{display:block;overflow-x:auto;color:#eaeaea;background:#000;padding:.5em}.hljs-xt256 .hljs-subst{color:#eaeaea}.hljs-xt256 .hljs-emphasis{font-style:italic}.hljs-xt256 .hljs-strong{font-weight:bold}.hljs-xt256 .hljs-builtin-name,.hljs-xt256 .hljs-type{color:#eaeaea}.hljs-xt256 .hljs-params{color:#da0000}.hljs-xt256 .hljs-literal,.hljs-xt256 .hljs-number,.hljs-xt256 .hljs-name{color:#ff0000;font-weight:bolder}.hljs-xt256 .hljs-comment{color:#969896}.hljs-xt256 .hljs-selector-id,.hljs-xt256 .hljs-quote{color:#00ffff}.hljs-xt256 .hljs-template-variable,.hljs-xt256 .hljs-variable,.hljs-xt256 .hljs-title{color:#00ffff;font-weight:bold}.hljs-xt256 .hljs-selector-class,.hljs-xt256 .hljs-keyword,.hljs-xt256 .hljs-symbol{color:#fff000}.hljs-xt256 .hljs-string,.hljs-xt256 .hljs-bullet{color:#00ff00}.hljs-xt256 .hljs-tag,.hljs-xt256 .hljs-section{color:#000fff}.hljs-xt256 .hljs-selector-tag{color:#000fff;font-weight:bold}.hljs-xt256 .hljs-attribute,.hljs-xt256 .hljs-built_in,.hljs-xt256 .hljs-regexp,.hljs-xt256 .hljs-link{color:#ff00ff}.hljs-xt256 .hljs-meta{color:#fff;font-weight:bolder}","zenburn":".hljs-zenburn .hljs{display:block;overflow-x:auto;padding:.5em;background:#3f3f3f;color:#dcdcdc}.hljs-zenburn .hljs-keyword,.hljs-zenburn .hljs-selector-tag,.hljs-zenburn .hljs-tag{color:#e3ceab}.hljs-zenburn .hljs-template-tag{color:#dcdcdc}.hljs-zenburn .hljs-number{color:#8cd0d3}.hljs-zenburn .hljs-variable,.hljs-zenburn .hljs-template-variable,.hljs-zenburn .hljs-attribute{color:#efdcbc}.hljs-zenburn .hljs-literal{color:#efefaf}.hljs-zenburn .hljs-subst{color:#8f8f8f}.hljs-zenburn .hljs-title,.hljs-zenburn .hljs-name,.hljs-zenburn .hljs-selector-id,.hljs-zenburn .hljs-selector-class,.hljs-zenburn .hljs-section,.hljs-zenburn .hljs-type{color:#efef8f}.hljs-zenburn .hljs-symbol,.hljs-zenburn .hljs-bullet,.hljs-zenburn .hljs-link{color:#dca3a3}.hljs-zenburn .hljs-deletion,.hljs-zenburn .hljs-string,.hljs-zenburn .hljs-built_in,.hljs-zenburn .hljs-builtin-name{color:#cc9393}.hljs-zenburn .hljs-addition,.hljs-zenburn .hljs-comment,.hljs-zenburn .hljs-quote,.hljs-zenburn .hljs-meta{color:#7f9f7f}.hljs-zenburn .hljs-emphasis{font-style:italic}.hljs-zenburn .hljs-strong{font-weight:bold}"}, 26044 engine: hljs 26045 }; 26046 26047 },{}],16:[function(require,module,exports){ 26048 module.exports = Lexer; 26049 26050 var CODE = 1, 26051 INLINE_CODE = 2, 26052 CONTENT = 3, 26053 FENCES = 4, 26054 DEF = 5, 26055 DEF_HREF = 6, 26056 DEF_TITLE = 7, 26057 MACRO = 8, 26058 MACRO_ARGS = 9, 26059 MACRO_OBJ = 10, 26060 SLIDE_SEPARATOR = 11, 26061 FRAGMENT_SEPARATOR = 12, 26062 NOTES_SEPARATOR = 13; 26063 26064 var regexByName = { 26065 CODE: /(?:^|\n\n)( {4}[^\n]+\n*)+/, 26066 INLINE_CODE: /\`([^\`].*?)\`/, 26067 CONTENT: /(?:\\)?((?:\.[a-zA-Z_\-][a-zA-Z\-_0-9]*)+)\[/, 26068 FENCES: /(?:^|\n) *(`{3,}|~{3,}) *(?:\S+)? *\n(?:[\s\S]+?)\s*\4 *(?:\n+|$)/, 26069 DEF: /(?:^|\n) *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/, 26070 MACRO: /!\[:([^\] ]+)([^\]]*)\](?:\(([^\)]*)\))?/, 26071 SLIDE_SEPARATOR: /(?:^|\n)(---)(?:\n|$)/, 26072 FRAGMENT_SEPARATOR: /(?:^|\n)(--)(?![^\n])/, 26073 NOTES_SEPARATOR: /(?:^|\n)(\?{3})(?:\n|$)/ 26074 }; 26075 26076 var block = replace(/CODE|INLINE_CODE|CONTENT|FENCES|DEF|MACRO|SLIDE_SEPARATOR|FRAGMENT_SEPARATOR|NOTES_SEPARATOR/, regexByName), 26077 inline = replace(/CODE|INLINE_CODE|CONTENT|FENCES|DEF|MACRO/, regexByName); 26078 26079 function Lexer () { } 26080 26081 Lexer.prototype.lex = function (src) { 26082 var tokens = lex(src.replace('\r', ''), block), 26083 i; 26084 26085 for (i = tokens.length - 2; i >= 0; i--) { 26086 if (tokens[i].type === 'text' && tokens[i+1].type === 'text') { 26087 tokens[i].text += tokens[i+1].text; 26088 tokens.splice(i+1, 1); 26089 } 26090 } 26091 26092 return tokens; 26093 }; 26094 26095 function lex (src, regex, tokens) { 26096 var cap, text; 26097 26098 tokens = tokens || []; 26099 26100 while ((cap = regex.exec(src)) !== null) { 26101 if (cap.index > 0) { 26102 tokens.push({ 26103 type: 'text', 26104 text: src.substring(0, cap.index) 26105 }); 26106 } 26107 26108 if (cap[CODE]) { 26109 tokens.push({ 26110 type: 'code', 26111 text: cap[0] 26112 }); 26113 } 26114 else if (cap[INLINE_CODE]) { 26115 tokens.push({ 26116 type: 'text', 26117 text: cap[0] 26118 }); 26119 } 26120 else if (cap[FENCES]) { 26121 tokens.push({ 26122 type: 'fences', 26123 text: cap[0] 26124 }); 26125 } 26126 else if (cap[DEF]) { 26127 tokens.push({ 26128 type: 'def', 26129 id: cap[DEF].toLowerCase(), 26130 href: cap[DEF_HREF], 26131 title: cap[DEF_TITLE] 26132 }); 26133 } 26134 else if (cap[MACRO]) { 26135 tokens.push({ 26136 type: 'macro', 26137 name: cap[MACRO], 26138 args: (cap[MACRO_ARGS] || '').split(',').map(trim), 26139 obj: cap[MACRO_OBJ] 26140 }); 26141 } 26142 else if (cap[SLIDE_SEPARATOR] || cap[FRAGMENT_SEPARATOR]) { 26143 tokens.push({ 26144 type: 'separator', 26145 text: cap[SLIDE_SEPARATOR] || cap[FRAGMENT_SEPARATOR] 26146 }); 26147 } 26148 else if (cap[NOTES_SEPARATOR]) { 26149 tokens.push({ 26150 type: 'notes_separator', 26151 text: cap[NOTES_SEPARATOR] 26152 }); 26153 } 26154 else if (cap[CONTENT]) { 26155 text = getTextInBrackets(src, cap.index + cap[0].length); 26156 if (text !== undefined) { 26157 src = src.substring(text.length + 1); 26158 26159 if (cap[0][0] !== '\\') { 26160 tokens.push({ 26161 type: 'content_start', 26162 classes: cap[CONTENT].substring(1).split('.'), 26163 block: text.indexOf('\n') !== -1 26164 }); 26165 lex(text, inline, tokens); 26166 tokens.push({ 26167 type: 'content_end', 26168 block: text.indexOf('\n') !== -1 26169 }); 26170 } 26171 else { 26172 tokens.push({ 26173 type: 'text', 26174 text: cap[0].substring(1) + text + ']' 26175 }); 26176 } 26177 } 26178 else { 26179 tokens.push({ 26180 type: 'text', 26181 text: cap[0] 26182 }); 26183 } 26184 } 26185 26186 src = src.substring(cap.index + cap[0].length); 26187 } 26188 26189 if (src || (!src && tokens.length === 0)) { 26190 tokens.push({ 26191 type: 'text', 26192 text: src 26193 }); 26194 } 26195 26196 return tokens; 26197 } 26198 26199 function replace (regex, replacements) { 26200 return new RegExp(regex.source.replace(/\w{2,}/g, function (key) { 26201 return replacements[key].source; 26202 })); 26203 } 26204 26205 function trim (text) { 26206 if (typeof text === 'string') { 26207 return text.trim(); 26208 } 26209 26210 return text; 26211 } 26212 26213 function getTextInBrackets (src, offset) { 26214 var depth = 1, 26215 pos = offset, 26216 chr; 26217 26218 while (depth > 0 && pos < src.length) { 26219 chr = src[pos++]; 26220 depth += (chr === '[' && 1) || (chr === ']' && -1) || 0; 26221 } 26222 26223 if (depth === 0) { 26224 src = src.substr(offset, pos - offset - 1); 26225 return src; 26226 } 26227 } 26228 26229 },{}],17:[function(require,module,exports){ 26230 var macros = module.exports = {}; 26231 26232 macros.hello = function () { 26233 return 'hello!'; 26234 }; 26235 26236 },{}],18:[function(require,module,exports){ 26237 var converter = require('../converter'); 26238 26239 module.exports = Slide; 26240 26241 function Slide (slideIndex, slideNumber, slide, template) { 26242 var self = this; 26243 26244 self.properties = slide.properties || {}; 26245 self.links = slide.links || {}; 26246 self.content = slide.content || []; 26247 self.notes = slide.notes || ''; 26248 26249 self.getSlideIndex = function () { return slideIndex; }; 26250 self.getSlideNumber = function () { return slideNumber; }; 26251 26252 if (template) { 26253 inherit(self, template); 26254 } 26255 } 26256 26257 function inherit (slide, template) { 26258 inheritProperties(slide, template); 26259 inheritContent(slide, template); 26260 inheritNotes(slide, template); 26261 } 26262 26263 function inheritProperties (slide, template) { 26264 var property 26265 , value 26266 ; 26267 26268 for (property in template.properties) { 26269 if (!template.properties.hasOwnProperty(property) || 26270 ignoreProperty(property)) { 26271 continue; 26272 } 26273 26274 value = [template.properties[property]]; 26275 26276 if (property === 'class' && slide.properties[property]) { 26277 value.push(slide.properties[property]); 26278 } 26279 26280 if (property === 'class' || slide.properties[property] === undefined) { 26281 slide.properties[property] = value.join(', '); 26282 } 26283 } 26284 } 26285 26286 function ignoreProperty (property) { 26287 return property === 'name' || 26288 property === 'layout' || 26289 property === 'count'; 26290 } 26291 26292 function inheritContent (slide, template) { 26293 var expandedVariables; 26294 26295 slide.properties.content = slide.content.slice(); 26296 deepCopyContent(slide, template.content); 26297 26298 expandedVariables = slide.expandVariables(/* contentOnly: */ true); 26299 26300 if (expandedVariables.content === undefined) { 26301 slide.content = slide.content.concat(slide.properties.content); 26302 } 26303 26304 delete slide.properties.content; 26305 } 26306 26307 function deepCopyContent(target, content) { 26308 var i; 26309 26310 target.content = []; 26311 for (i = 0; i < content.length; ++i) { 26312 if (typeof content[i] === 'string') { 26313 target.content.push(content[i]); 26314 } 26315 else { 26316 target.content.push({ 26317 block: content[i].block, 26318 class: content[i].class, 26319 }); 26320 deepCopyContent(target.content[target.content.length-1], content[i].content); 26321 } 26322 } 26323 } 26324 26325 function inheritNotes (slide, template) { 26326 if (template.notes) { 26327 slide.notes = template.notes + '\n\n' + slide.notes; 26328 } 26329 } 26330 26331 Slide.prototype.expandVariables = function (contentOnly, content, expandResult) { 26332 var properties = this.properties 26333 , i 26334 ; 26335 26336 content = content !== undefined ? content : this.content; 26337 expandResult = expandResult || {}; 26338 26339 for (i = 0; i < content.length; ++i) { 26340 if (typeof content[i] === 'string') { 26341 content[i] = content[i].replace(/(\\)?(\{\{([^\}\n]+)\}\})/g, expand); 26342 } 26343 else { 26344 this.expandVariables(contentOnly, content[i].content, expandResult); 26345 } 26346 } 26347 26348 function expand (match, escaped, unescapedMatch, property) { 26349 var propertyName = property.trim() 26350 , propertyValue 26351 ; 26352 26353 if (escaped) { 26354 return contentOnly ? match[0] : unescapedMatch; 26355 } 26356 26357 if (contentOnly && propertyName !== 'content') { 26358 return match; 26359 } 26360 26361 propertyValue = properties[propertyName]; 26362 26363 if (propertyValue !== undefined) { 26364 expandResult[propertyName] = propertyValue; 26365 return propertyValue; 26366 } 26367 26368 return propertyName === 'content' ? '' : unescapedMatch; 26369 } 26370 26371 return expandResult; 26372 }; 26373 26374 },{"../converter":13}],19:[function(require,module,exports){ 26375 var Navigation = require('./slideshow/navigation') 26376 , Events = require('./slideshow/events') 26377 , utils = require('../utils') 26378 , Slide = require('./slide') 26379 , Parser = require('../parser') 26380 , macros = require('../macros') 26381 ; 26382 26383 module.exports = Slideshow; 26384 26385 function Slideshow (events, dom, options, callback) { 26386 var self = this 26387 , slides = [] 26388 , links = {} 26389 ; 26390 26391 slides.byName = {}; 26392 options = options || {}; 26393 26394 // Extend slideshow functionality 26395 Events.call(self, events); 26396 Navigation.call(self, events); 26397 26398 self.loadFromString = loadFromString; 26399 self.loadFromUrl = loadFromUrl; 26400 self.update = update; 26401 self.getLinks = getLinks; 26402 self.getSlides = getSlides; 26403 self.getSlideCount = getSlideCount; 26404 self.getSlideByName = getSlideByName; 26405 self.getSlidesByNumber = getSlidesByNumber; 26406 26407 self.togglePresenterMode = togglePresenterMode; 26408 self.toggleHelp = toggleHelp; 26409 self.toggleBlackout = toggleBlackout; 26410 self.toggleMirrored = toggleMirrored; 26411 self.toggleFullscreen = toggleFullscreen; 26412 self.createClone = createClone; 26413 26414 self.resetTimer = resetTimer; 26415 26416 self.getRatio = getOrDefault('ratio', '4:3'); 26417 self.getHighlightStyle = getOrDefault('highlightStyle', 'default'); 26418 self.getHighlightLines = getOrDefault('highlightLines', false); 26419 self.getHighlightSpans = getOrDefault('highlightSpans', false); 26420 self.getHighlightInlineCode = getOrDefault('highlightInlineCode', false); 26421 self.getHighlightLanguage = getOrDefault('highlightLanguage', ''); 26422 self.getSlideNumberFormat = getOrDefault('slideNumberFormat', '%current% / %total%'); 26423 self.getCloneTarget = getOrDefault('cloneTarget', '_blank'); 26424 26425 events.on('toggleBlackout', function (opts) { 26426 if (opts && opts.propagate === false) return; 26427 26428 if (self.clone && !self.clone.closed) { 26429 self.clone.postMessage('toggleBlackout', '*'); 26430 } 26431 26432 if (window.opener) { 26433 window.opener.postMessage('toggleBlackout', '*'); 26434 } 26435 }); 26436 26437 if (options.sourceUrl) { 26438 loadFromUrl(options.sourceUrl, callback); 26439 } 26440 else { 26441 loadFromString(options.source); 26442 if (typeof callback === 'function') { 26443 callback(self); 26444 } 26445 } 26446 26447 function loadFromString (source) { 26448 source = source || ''; 26449 26450 slides = createSlides(source, options); 26451 expandVariables(slides); 26452 26453 links = {}; 26454 slides.forEach(function (slide) { 26455 for (var id in slide.links) { 26456 if (slide.links.hasOwnProperty(id)) { 26457 links[id] = slide.links[id]; 26458 } 26459 } 26460 }); 26461 26462 events.emit('slidesChanged'); 26463 } 26464 26465 function loadFromUrl (url, callback) { 26466 var xhr = new dom.XMLHttpRequest(); 26467 xhr.open('GET', options.sourceUrl, true); 26468 xhr.onload = function (e) { 26469 if (xhr.readyState === 4) { 26470 if (xhr.status === 200) { 26471 options.source = xhr.responseText.replace(/\r\n/g, '\n'); 26472 loadFromString(options.source); 26473 if (typeof callback === 'function') { 26474 callback(self); 26475 } 26476 } else { 26477 throw Error(xhr.statusText); 26478 } 26479 } 26480 }; 26481 xhr.onerror = function (e) { 26482 throw Error(xhr.statusText); 26483 }; 26484 xhr.send(null); 26485 return xhr; 26486 } 26487 26488 function update () { 26489 events.emit('resize'); 26490 } 26491 26492 function getLinks () { 26493 return links; 26494 } 26495 26496 function getSlides () { 26497 return slides.map(function (slide) { return slide; }); 26498 } 26499 26500 function getSlideCount () { 26501 return slides.length; 26502 } 26503 26504 function getSlideByName (name) { 26505 return slides.byName[name]; 26506 } 26507 26508 function getSlidesByNumber (number) { 26509 return slides.byNumber[number]; 26510 } 26511 26512 function togglePresenterMode () { 26513 events.emit('togglePresenterMode'); 26514 } 26515 26516 function toggleHelp () { 26517 events.emit('toggleHelp'); 26518 } 26519 26520 function toggleBlackout () { 26521 events.emit('toggleBlackout'); 26522 } 26523 26524 function toggleMirrored() { 26525 events.emit('toggleMirrored'); 26526 } 26527 26528 function toggleFullscreen () { 26529 events.emit('toggleFullscreen'); 26530 } 26531 26532 function createClone () { 26533 events.emit('createClone'); 26534 } 26535 26536 function resetTimer () { 26537 events.emit('resetTimer'); 26538 } 26539 26540 function getOrDefault (key, defaultValue) { 26541 return function () { 26542 if (options[key] === undefined) { 26543 return defaultValue; 26544 } 26545 26546 return options[key]; 26547 }; 26548 } 26549 } 26550 26551 function createSlides (slideshowSource, options) { 26552 var parser = new Parser() 26553 , parsedSlides = parser.parse(slideshowSource, macros, options) 26554 , slides = [] 26555 , byName = {} 26556 , layoutSlide 26557 ; 26558 26559 slides.byName = {}; 26560 slides.byNumber = {}; 26561 26562 var slideNumber = 0; 26563 parsedSlides.forEach(function (slide, i) { 26564 var template, slideViewModel; 26565 26566 if (slide.properties.continued === 'true' && i > 0) { 26567 template = slides[slides.length - 1]; 26568 } 26569 else if (byName[slide.properties.template]) { 26570 template = byName[slide.properties.template]; 26571 } 26572 else if (slide.properties.layout === 'false') { 26573 layoutSlide = undefined; 26574 } 26575 else if (layoutSlide && slide.properties.layout !== 'true') { 26576 template = layoutSlide; 26577 } 26578 26579 if (slide.properties.continued === 'true' && 26580 options.countIncrementalSlides === false && 26581 slide.properties.count === undefined) { 26582 slide.properties.count = 'false'; 26583 } 26584 26585 var slideClasses = (slide.properties['class'] || '').split(/,| /) 26586 , excludedClasses = options.excludedClasses || [] 26587 , slideIsIncluded = slideClasses.filter(function (c) { 26588 return excludedClasses.indexOf(c) !== -1; 26589 }).length === 0; 26590 26591 if (slideIsIncluded && slide.properties.layout !== 'true' && slide.properties.count !== 'false') { 26592 slideNumber++; 26593 slides.byNumber[slideNumber] = []; 26594 } 26595 26596 if (options.includePresenterNotes !== undefined && !options.includePresenterNotes) { 26597 slide.notes = ''; 26598 } 26599 26600 slideViewModel = new Slide(slides.length, slideNumber, slide, template); 26601 26602 if (slide.properties.name) { 26603 byName[slide.properties.name] = slideViewModel; 26604 } 26605 26606 if (slide.properties.layout === 'true') { 26607 layoutSlide = slideViewModel; 26608 } else { 26609 if (slideIsIncluded) { 26610 slides.push(slideViewModel); 26611 slides.byNumber[slideNumber].push(slideViewModel); 26612 } 26613 if (slide.properties.name) { 26614 slides.byName[slide.properties.name] = slideViewModel; 26615 } 26616 } 26617 26618 }); 26619 26620 return slides; 26621 } 26622 26623 function expandVariables (slides) { 26624 slides.forEach(function (slide) { 26625 slide.expandVariables(); 26626 }); 26627 } 26628 26629 },{"../macros":17,"../parser":22,"../utils":25,"./slide":18,"./slideshow/events":20,"./slideshow/navigation":21}],20:[function(require,module,exports){ 26630 var EventEmitter = require('events').EventEmitter; 26631 26632 module.exports = Events; 26633 26634 function Events (events) { 26635 var self = this 26636 , externalEvents = new EventEmitter() 26637 ; 26638 26639 externalEvents.setMaxListeners(0); 26640 26641 self.on = function () { 26642 externalEvents.on.apply(externalEvents, arguments); 26643 return self; 26644 }; 26645 26646 ['showSlide', 'hideSlide', 'beforeShowSlide', 'afterShowSlide', 'beforeHideSlide', 'afterHideSlide', 'toggledPresenter'].map(function (eventName) { 26647 events.on(eventName, function (slideIndex) { 26648 var slide = self.getSlides()[slideIndex]; 26649 externalEvents.emit(eventName, slide); 26650 }); 26651 }); 26652 } 26653 26654 },{"events":1}],21:[function(require,module,exports){ 26655 module.exports = Navigation; 26656 26657 function Navigation (events) { 26658 var self = this 26659 , currentSlideIndex = -1 26660 , started = null 26661 ; 26662 26663 self.getCurrentSlideIndex = getCurrentSlideIndex; 26664 self.gotoSlide = gotoSlide; 26665 self.gotoSlideNumber = gotoSlideNumber; 26666 self.gotoPreviousSlide = gotoPreviousSlide; 26667 self.gotoNextSlide = gotoNextSlide; 26668 self.gotoFirstSlide = gotoFirstSlide; 26669 self.gotoLastSlide = gotoLastSlide; 26670 self.pause = pause; 26671 self.resume = resume; 26672 26673 events.on('gotoSlide', gotoSlide); 26674 events.on('gotoSlideNumber', gotoSlideNumber); 26675 events.on('gotoPreviousSlide', gotoPreviousSlide); 26676 events.on('gotoNextSlide', gotoNextSlide); 26677 events.on('gotoFirstSlide', gotoFirstSlide); 26678 events.on('gotoLastSlide', gotoLastSlide); 26679 26680 events.on('slidesChanged', function () { 26681 if (currentSlideIndex > self.getSlideCount()) { 26682 currentSlideIndex = self.getSlideCount(); 26683 } 26684 }); 26685 26686 events.on('createClone', function () { 26687 if (!self.clone || self.clone.closed) { 26688 self.clone = window.open(location.href, self.getCloneTarget(), 'location=no'); 26689 } 26690 else { 26691 self.clone.focus(); 26692 } 26693 }); 26694 26695 events.on('resetTimer', function() { 26696 started = false; 26697 }); 26698 26699 function pause () { 26700 events.emit('pause'); 26701 } 26702 26703 function resume () { 26704 events.emit('resume'); 26705 } 26706 26707 function getCurrentSlideIndex () { 26708 return currentSlideIndex; 26709 } 26710 26711 function gotoSlideByIndex(slideIndex, noMessage) { 26712 var alreadyOnSlide = slideIndex === currentSlideIndex 26713 , slideOutOfRange = slideIndex < 0 || slideIndex > self.getSlideCount()-1 26714 ; 26715 26716 if (noMessage === undefined) noMessage = false; 26717 26718 if (alreadyOnSlide || slideOutOfRange) { 26719 return; 26720 } 26721 26722 if (currentSlideIndex !== -1) { 26723 events.emit('hideSlide', currentSlideIndex, false); 26724 } 26725 26726 // Use some tri-state logic here. 26727 // null = We haven't shown the first slide yet. 26728 // false = We've shown the initial slide, but we haven't progressed beyond that. 26729 // true = We've issued the first slide change command. 26730 if (started === null) { 26731 started = false; 26732 } else if (started === false) { 26733 // We've shown the initial slide previously - that means this is a 26734 // genuine move to a new slide. 26735 events.emit('start'); 26736 started = true; 26737 } 26738 26739 events.emit('showSlide', slideIndex); 26740 26741 currentSlideIndex = slideIndex; 26742 26743 events.emit('slideChanged', slideIndex + 1); 26744 26745 if (!noMessage) { 26746 if (self.clone && !self.clone.closed) { 26747 self.clone.postMessage('gotoSlide:' + (currentSlideIndex + 1), '*'); 26748 } 26749 26750 if (window.opener) { 26751 window.opener.postMessage('gotoSlide:' + (currentSlideIndex + 1), '*'); 26752 } 26753 } 26754 } 26755 26756 function gotoSlide (slideNoOrName, noMessage) { 26757 var slideIndex = getSlideIndex(slideNoOrName); 26758 26759 gotoSlideByIndex(slideIndex, noMessage); 26760 } 26761 26762 function gotoSlideNumber (slideNumber, noMessage) { 26763 var slides = self.getSlidesByNumber(parseInt(slideNumber, 10)); 26764 if (slides && slides.length) { 26765 gotoSlideByIndex(slides[0].getSlideIndex(), noMessage); 26766 } 26767 } 26768 26769 function gotoPreviousSlide() { 26770 gotoSlideByIndex(currentSlideIndex - 1); 26771 } 26772 26773 function gotoNextSlide() { 26774 gotoSlideByIndex(currentSlideIndex + 1); 26775 } 26776 26777 function gotoFirstSlide () { 26778 gotoSlideByIndex(0); 26779 } 26780 26781 function gotoLastSlide () { 26782 gotoSlideByIndex(self.getSlideCount() - 1); 26783 } 26784 26785 function getSlideIndex (slideNoOrName) { 26786 var slideNo 26787 , slide 26788 ; 26789 26790 if (typeof slideNoOrName === 'number') { 26791 return slideNoOrName - 1; 26792 } 26793 26794 slideNo = parseInt(slideNoOrName, 10); 26795 if (slideNo.toString() === slideNoOrName) { 26796 return slideNo - 1; 26797 } 26798 26799 if(slideNoOrName.match(/^p\d+$/)){ 26800 events.emit('forcePresenterMode'); 26801 return parseInt(slideNoOrName.substr(1), 10)-1; 26802 } 26803 26804 slide = self.getSlideByName(slideNoOrName); 26805 if (slide) { 26806 return slide.getSlideIndex(); 26807 } 26808 26809 return 0; 26810 } 26811 } 26812 26813 },{}],22:[function(require,module,exports){ 26814 var Lexer = require('./lexer'); 26815 26816 module.exports = Parser; 26817 26818 function Parser () { } 26819 26820 /* 26821 * Parses source string into list of slides. 26822 * 26823 * Output format: 26824 * 26825 * [ 26826 * // Per slide 26827 * { 26828 * // Properties 26829 * properties: { 26830 * name: 'value' 26831 * }, 26832 * // Notes (optional, same format as content list) 26833 * notes: [...], 26834 * // Link definitions 26835 * links: { 26836 * id: { href: 'url', title: 'optional title' }, 26837 * ... 26838 * ], 26839 * content: [ 26840 * // Any content except for content classes are represented as strings 26841 * 'plain text ', 26842 * // Content classes are represented as objects 26843 * { block: false, class: 'the-class', content: [...] }, 26844 * { block: true, class: 'the-class', content: [...] }, 26845 * ... 26846 * ] 26847 * }, 26848 * ... 26849 * ] 26850 */ 26851 Parser.prototype.parse = function (src, macros, options) { 26852 var self = this, 26853 lexer = new Lexer(), 26854 tokens = lexer.lex(cleanInput(src)), 26855 slides = [], 26856 26857 // The last item on the stack contains the current slide or 26858 // content class we're currently appending content to. 26859 stack = [createSlide()]; 26860 26861 macros = macros || {}; 26862 options = options || {}; 26863 26864 tokens.forEach(function (token) { 26865 switch (token.type) { 26866 case 'text': 26867 case 'code': 26868 case 'fences': 26869 // Text, code and fenced code tokens are appended to their 26870 // respective parents as string literals, and are only included 26871 // in the parse process in order to reason about structure 26872 // (like ignoring a slide separator inside fenced code). 26873 appendTo(stack[stack.length - 1], token.text); 26874 break; 26875 case 'def': 26876 // Link definition 26877 stack[0].links[token.id] = { 26878 href: token.href, 26879 title: token.title 26880 }; 26881 break; 26882 case 'macro': 26883 // Macro 26884 var macro = macros[token.name]; 26885 if (typeof macro !== 'function') { 26886 throw new Error('Macro "' + token.name + '" not found. ' + 26887 'You need to define macro using remark.macros[\'' + 26888 token.name + '\'] = function () { ... };'); 26889 } 26890 var value = macro.apply(token.obj, token.args); 26891 if (typeof value === 'string') { 26892 value = self.parse(value, macros); 26893 appendTo(stack[stack.length - 1], value[0].content[0]); 26894 } 26895 else { 26896 appendTo(stack[stack.length - 1], value === undefined ? 26897 '' : value.toString()); 26898 } 26899 break; 26900 case 'content_start': 26901 // Entering content class, so create stack entry for appending 26902 // upcoming content to. 26903 // 26904 // Lexer handles open/close bracket balance, so there's no need 26905 // to worry about there being a matching closing bracket. 26906 stack.push(createContentClass(token)); 26907 break; 26908 case 'content_end': 26909 // Exiting content class, so remove entry from stack and 26910 // append to previous item (outer content class or slide). 26911 appendTo(stack[stack.length - 2], stack[stack.length - 1]); 26912 stack.pop(); 26913 break; 26914 case 'separator': 26915 // Just continue on the same slide if incremental slides are disabled 26916 if (token.text === '--' && options.disableIncrementalSlides === true) { 26917 // If it happens that there was a note section right before, just get 26918 // rid of it 26919 if (stack[0].notes !== undefined) 26920 delete(stack[0].notes); 26921 break; 26922 } 26923 // Slide separator (--- or --), so add current slide to list of 26924 // slides and re-initialize stack with new, blank slide. 26925 slides.push(stack[0]); 26926 stack = [createSlide()]; 26927 // Tag the new slide as a continued slide if the separator 26928 // used was -- instead of --- (2 vs. 3 dashes). 26929 stack[0].properties.continued = (token.text === '--').toString(); 26930 break; 26931 case 'notes_separator': 26932 // Notes separator (???), so create empty content list on slide 26933 // in which all remaining slide content will be put. 26934 stack[0].notes = []; 26935 break; 26936 } 26937 }); 26938 26939 // Push current slide to list of slides. 26940 slides.push(stack[0]); 26941 26942 slides.forEach(function (slide) { 26943 slide.content[0] = extractProperties(slide.content[0] || '', slide.properties); 26944 }); 26945 26946 return slides.filter(function (slide) { 26947 var exclude = (slide.properties.exclude || '').toLowerCase(); 26948 26949 if (exclude === 'true') { 26950 return false; 26951 } 26952 26953 return true; 26954 }); 26955 }; 26956 26957 function createSlide () { 26958 return { 26959 content: [], 26960 properties: { 26961 continued: 'false' 26962 }, 26963 links: {} 26964 }; 26965 } 26966 26967 function createContentClass (token) { 26968 return { 26969 class: token.classes.join(' '), 26970 block: token.block, 26971 content: [] 26972 }; 26973 } 26974 26975 function appendTo (element, content) { 26976 var target = element.content; 26977 26978 if (element.notes !== undefined) { 26979 target = element.notes; 26980 } 26981 26982 // If two string are added after one another, we can just as well 26983 // go ahead and concatenate them into a single string. 26984 var lastIdx = target.length - 1; 26985 if (typeof target[lastIdx] === 'string' && typeof content === 'string') { 26986 target[lastIdx] += content; 26987 } 26988 else { 26989 target.push(content); 26990 } 26991 } 26992 26993 function extractProperties (source, properties) { 26994 var propertyFinder = /^\n*([-\w]+):([^$\n]*)|\n*(?:<!--\s*)([-\w]+):([^$\n]*?)(?:\s*-->)/i 26995 , match 26996 ; 26997 26998 while ((match = propertyFinder.exec(source)) !== null) { 26999 source = source.substr(0, match.index) + 27000 source.substr(match.index + match[0].length); 27001 27002 if (match[1] !== undefined) { 27003 properties[match[1].trim()] = match[2].trim(); 27004 } 27005 else { 27006 properties[match[3].trim()] = match[4].trim(); 27007 } 27008 27009 propertyFinder.lastIndex = match.index; 27010 } 27011 27012 return source; 27013 } 27014 27015 function cleanInput(source) { 27016 // If all lines are indented, we should trim them all to the same point so that code doesn't 27017 // need to start at column 0 in the source (see GitHub Issue #105) 27018 27019 // Helper to extract captures from the regex 27020 var getMatchCaptures = function (source, pattern) { 27021 var results = [], match; 27022 while ((match = pattern.exec(source)) !== null) 27023 results.push(match[1]); 27024 return results; 27025 }; 27026 27027 // Calculate the minimum leading whitespace 27028 // Ensure there's at least one char that's not newline nor whitespace to ignore empty and blank lines 27029 var leadingWhitespacePattern = /^([ \t]*)[^ \t\n]/gm; 27030 var whitespace = getMatchCaptures(source, leadingWhitespacePattern).map(function (s) { return s.length; }); 27031 var minWhitespace = Math.min.apply(Math, whitespace); 27032 27033 // Trim off the exact amount of whitespace, or less for blank lines (non-empty) 27034 var trimWhitespacePattern = new RegExp('^[ \\t]{0,' + minWhitespace + '}', 'gm'); 27035 return source.replace(trimWhitespacePattern, ''); 27036 } 27037 27038 },{"./lexer":16}],23:[function(require,module,exports){ 27039 /* Automatically generated */ 27040 27041 module.exports = { 27042 version: "0.15.0", 27043 documentStyles: "html{font-size:20px}html.remark-container,body.remark-container{height:100%;width:100%;-webkit-print-color-adjust:exact}.remark-container{background:#d7d8d2;margin:0;overflow:hidden}.remark-container:focus{outline-style:solid;outline-width:1px}.remark-container:-webkit-full-screen{width:100%;height:100%}body:-webkit-full-screen{background:#000000}body:-moz-full-screen{background:#000000}body:fullscreen{background:#000000}.remark-slides-area{position:relative;height:100%;width:100%}.remark-slide-container{display:none;position:absolute;height:100%;width:100%;page-break-after:always}.remark-slide-scaler{background-color:transparent;overflow:auto;position:absolute;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top-left;-moz-box-shadow:0 0 30px #888;-webkit-box-shadow:0 0 30px #888;box-shadow:0 0 30px #888}.remark-slide{height:100%;width:100%;display:table;table-layout:fixed;position:relative}.remark-slide>.left{text-align:left}.remark-slide>.center{text-align:center}.remark-slide>.right{text-align:right}.remark-slide>.top{vertical-align:top}.remark-slide>.middle{vertical-align:middle}.remark-slide>.bottom{vertical-align:bottom}.remark-slide-content{background-color:#fff;background-position:center;background-repeat:no-repeat;display:table-cell;padding:1em 4em 1em 4em}.remark-slide-content .left{display:block;text-align:left}.remark-slide-content .center{display:block;text-align:center}.remark-slide-content .right{display:block;text-align:right}.remark-slide-number{bottom:12px;opacity:.5;position:absolute;right:20px}.remark-slide-notes{border-top:3px solid black;position:absolute;display:none}.remark-code{font-size:smaller}.remark-code-line{min-height:1em}.remark-code-line-highlighted{background-color:rgba(255,255,0,0.5)}.remark-code-span-highlighted{background-color:rgba(255,255,0,0.5);padding:1px 2px 2px 2px}.remark-visible{display:block;z-index:2}.remark-fading{display:block;z-index:1}.remark-fading .remark-slide-scaler{-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.remark-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;display:none;background:#000;z-index:2}.remark-pause{bottom:0;top:0;right:0;left:0;display:none;position:absolute;z-index:1000}.remark-pause .remark-pause-lozenge{margin-top:30%;text-align:center}.remark-pause .remark-pause-lozenge span{color:white;background:black;border:2px solid black;border-radius:20px;padding:20px 30px;font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:42pt;font-weight:bold}.remark-container.remark-presenter-mode.remark-pause-mode .remark-pause{display:block}.remark-container.remark-presenter-mode.remark-pause-mode .remark-backdrop{display:block;opacity:.5}.remark-help{bottom:0;top:0;right:0;left:0;display:none;position:absolute;z-index:1000;-webkit-transform-origin:top left;-moz-transform-origin:top left;transform-origin:top-left}.remark-help .remark-help-content{color:white;font-family:Helvetica,arial,freesans,clean,sans-serif;font-size:12pt;position:absolute;top:5%;bottom:10%;height:10%;left:5%;width:90%}.remark-help .remark-help-content h1{font-size:36px}.remark-help .remark-help-content td{color:white;font-size:12pt;padding:10px}.remark-help .remark-help-content td:first-child{padding-left:0}.remark-help .remark-help-content .key{background:white;color:black;min-width:1em;display:inline-block;padding:3px 6px;text-align:center;border-radius:4px;font-size:14px}.remark-help .dismiss{top:85%}.remark-container.remark-help-mode .remark-help{display:block}.remark-container.remark-help-mode .remark-backdrop{display:block;opacity:.95}.remark-preview-area{bottom:2%;left:2%;display:none;opacity:.5;position:absolute;height:47.25%;width:48%}.remark-preview-area .remark-slide-container{display:block}.remark-notes-area{background:#fff;bottom:0;color:black;display:none;left:52%;overflow:hidden;position:absolute;right:0;top:0}.remark-notes-area .remark-top-area{height:50px;left:20px;position:absolute;right:10px;top:10px}.remark-notes-area .remark-bottom-area{position:absolute;top:75px;bottom:10px;left:20px;right:10px}.remark-notes-area .remark-bottom-area .remark-toggle{display:block;text-decoration:none;font-family:Helvetica,arial,freesans,clean,sans-serif;height:21px;font-size:.75em;text-transform:uppercase;color:#ccc}.remark-notes-area .remark-bottom-area .remark-notes-current-area{height:70%;position:relative}.remark-notes-area .remark-bottom-area .remark-notes-current-area .remark-notes{clear:both;border-top:1px solid #f5f5f5;position:absolute;top:22px;bottom:0px;left:0px;right:0px;overflow-y:auto;margin-bottom:20px;padding-top:10px}.remark-notes-area .remark-bottom-area .remark-notes-preview-area{height:30%;position:relative}.remark-notes-area .remark-bottom-area .remark-notes-preview-area .remark-notes-preview{border-top:1px solid #f5f5f5;position:absolute;top:22px;bottom:0px;left:0px;right:0px;overflow-y:auto}.remark-notes-area .remark-bottom-area .remark-notes>*:first-child,.remark-notes-area .remark-bottom-area .remark-notes-preview>*:first-child{margin-top:5px}.remark-notes-area .remark-bottom-area .remark-notes>*:last-child,.remark-notes-area .remark-bottom-area .remark-notes-preview>*:last-child{margin-bottom:0}.remark-toolbar{color:#979892;vertical-align:middle}.remark-toolbar .remark-toolbar-link{border:2px solid #d7d8d2;color:#979892;display:inline-block;padding:2px 2px;text-decoration:none;text-align:center;min-width:20px}.remark-toolbar .remark-toolbar-link:hover{border-color:#979892;color:#676862}.remark-toolbar .remark-toolbar-timer{border:2px solid black;border-radius:10px;background:black;color:white;display:inline-block;float:right;padding:5px 10px;font-family:sans-serif;font-weight:bold;font-size:175%;text-decoration:none;text-align:center}.remark-container.remark-presenter-mode .remark-slides-area{top:2%;left:2%;height:47.25%;width:48%}.remark-container.remark-presenter-mode .remark-preview-area{display:block}.remark-container.remark-presenter-mode .remark-notes-area{display:block}.remark-container.remark-blackout-mode:not(.remark-presenter-mode) .remark-backdrop{display:block;opacity:.99}.remark-container.remark-mirrored-mode:not(.remark-presenter-mode) .remark-slides-area{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1)}@media print{.remark-container{overflow:visible;background-color:#fff}.remark-container.remark-presenter-mode .remark-slides-area{top:0px;left:0px;height:100%;width:681px}.remark-container.remark-presenter-mode .remark-preview-area,.remark-container.remark-presenter-mode .remark-notes-area{display:none}.remark-container.remark-presenter-mode .remark-slide-notes{display:block;margin-left:30px;width:621px}.remark-slide-container{display:block;position:relative}.remark-slide-scaler{-moz-box-shadow:none;-webkit-box-shadow:none;-webkit-transform-origin:initial;box-shadow:none}}@page{margin:0}", 27044 containerLayout: "<div class=\"remark-notes-area\">\n <div class=\"remark-top-area\">\n <div class=\"remark-toolbar\">\n <a class=\"remark-toolbar-link\" href=\"#increase\">+</a>\n <a class=\"remark-toolbar-link\" href=\"#decrease\">-</a>\n <span class=\"remark-toolbar-timer\"></span>\n </div>\n </div>\n <div class=\"remark-bottom-area\">\n <div class=\"remark-notes-current-area\">\n <div class=\"remark-toggle\">Notes for current slide</div>\n <div class=\"remark-notes\"></div>\n </div>\n <div class=\"remark-notes-preview-area\">\n <div class=\"remark-toggle\">Notes for next slide</div>\n <div class=\"remark-notes-preview\"></div>\n </div>\n </div>\n</div>\n<div class=\"remark-slides-area\"></div>\n<div class=\"remark-preview-area\"></div>\n<div class=\"remark-backdrop\"></div>\n<div class=\"remark-pause\">\n <div class=\"remark-pause-lozenge\">\n <span>Paused</span>\n </div>\n</div>\n<div class=\"remark-help\">\n <div class=\"remark-help-content\">\n <h1>Help</h1>\n <p><b>Keyboard shortcuts</b></p>\n <table class=\"light-keys\">\n <tr>\n <td>\n <span class=\"key\"><b>↑</b></span>,\n <span class=\"key\"><b>←</b></span>,\n <span class=\"key\">Pg Up</span>,\n <span class=\"key\">k</span>\n </td>\n <td>Go to previous slide</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\"><b>↓</b></span>,\n <span class=\"key\"><b>→</b></span>,\n <span class=\"key\">Pg Dn</span>,\n <span class=\"key\">Space</span>,\n <span class=\"key\">j</span>\n </td>\n <td>Go to next slide</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">Home</span>\n </td>\n <td>Go to first slide</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">End</span>\n </td>\n <td>Go to last slide</td>\n </tr>\n <tr>\n <td>\n Number + <span class=\"key\">Return</span>\n </td>\n <td>Go to specific slide</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">b</span> /\n <span class=\"key\">m</span> /\n <span class=\"key\">f</span>\n </td>\n <td>Toggle blackout / mirrored / fullscreen mode</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">c</span>\n </td>\n <td>Clone slideshow</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">p</span>\n </td>\n <td>Toggle presenter mode</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">s</span>\n </td>\n <td>Start & Stop the presentation timer</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">t</span>\n </td>\n <td>Reset the presentation timer</td>\n </tr>\n <tr>\n <td>\n <span class=\"key\">?</span>,\n <span class=\"key\">h</span>\n </td>\n <td>Toggle this help</td>\n </tr>\n </table>\n </div>\n <div class=\"content dismiss\">\n <table class=\"light-keys\">\n <tr>\n <td>\n <span class=\"key\">Esc</span>\n </td>\n <td>Back to slideshow</td>\n </tr>\n </table>\n </div>\n</div>\n" 27045 }; 27046 27047 },{}],24:[function(require,module,exports){ 27048 var referenceWidth = 908 27049 , referenceHeight = 681 27050 , referenceRatio = referenceWidth / referenceHeight 27051 ; 27052 27053 module.exports = Scaler; 27054 27055 function Scaler (events, slideshow) { 27056 var self = this; 27057 27058 self.events = events; 27059 self.slideshow = slideshow; 27060 self.ratio = getRatio(slideshow); 27061 self.dimensions = getDimensions(self.ratio); 27062 27063 self.events.on('propertiesChanged', function (changes) { 27064 if (changes.hasOwnProperty('ratio')) { 27065 self.ratio = getRatio(slideshow); 27066 self.dimensions = getDimensions(self.ratio); 27067 } 27068 }); 27069 } 27070 27071 Scaler.prototype.scaleToFit = function (element, container) { 27072 var self = this 27073 , containerHeight = container.clientHeight 27074 , containerWidth = container.clientWidth 27075 , scale 27076 , scaledWidth 27077 , scaledHeight 27078 , ratio = self.ratio 27079 , dimensions = self.dimensions 27080 , direction 27081 , left 27082 , top 27083 ; 27084 27085 if (containerWidth / ratio.width > containerHeight / ratio.height) { 27086 scale = containerHeight / dimensions.height; 27087 } 27088 else { 27089 scale = containerWidth / dimensions.width; 27090 } 27091 27092 scaledWidth = dimensions.width * scale; 27093 scaledHeight = dimensions.height * scale; 27094 27095 left = (containerWidth - scaledWidth) / 2; 27096 top = (containerHeight - scaledHeight) / 2; 27097 27098 element.style['-webkit-transform'] = 'scale(' + scale + ')'; 27099 element.style.MozTransform = 'scale(' + scale + ')'; 27100 element.style.left = Math.max(left, 0) + 'px'; 27101 element.style.top = Math.max(top, 0) + 'px'; 27102 }; 27103 27104 function getRatio (slideshow) { 27105 var ratioComponents = slideshow.getRatio().split(':') 27106 , ratio 27107 ; 27108 27109 ratio = { 27110 width: parseInt(ratioComponents[0], 10) 27111 , height: parseInt(ratioComponents[1], 10) 27112 }; 27113 27114 ratio.ratio = ratio.width / ratio.height; 27115 27116 return ratio; 27117 } 27118 27119 function getDimensions (ratio) { 27120 return { 27121 width: Math.floor(referenceWidth / referenceRatio * ratio.ratio) 27122 , height: referenceHeight 27123 }; 27124 } 27125 27126 },{}],25:[function(require,module,exports){ 27127 exports.addClass = function (element, className) { 27128 element.className = exports.getClasses(element) 27129 .concat([className]) 27130 .join(' '); 27131 }; 27132 27133 exports.removeClass = function (element, className) { 27134 element.className = exports.getClasses(element) 27135 .filter(function (klass) { return klass !== className; }) 27136 .join(' '); 27137 }; 27138 27139 exports.toggleClass = function (element, className) { 27140 var classes = exports.getClasses(element), 27141 index = classes.indexOf(className); 27142 27143 if (index !== -1) { 27144 classes.splice(index, 1); 27145 } 27146 else { 27147 classes.push(className); 27148 } 27149 27150 element.className = classes.join(' '); 27151 }; 27152 27153 exports.getClasses = function (element) { 27154 return element.className 27155 .split(' ') 27156 .filter(function (s) { return s !== ''; }); 27157 }; 27158 27159 exports.hasClass = function (element, className) { 27160 return exports.getClasses(element).indexOf(className) !== -1; 27161 }; 27162 27163 exports.getPrefixedProperty = function (element, propertyName) { 27164 var capitalizedPropertName = propertyName[0].toUpperCase() + 27165 propertyName.slice(1); 27166 27167 return element[propertyName] || element['moz' + capitalizedPropertName] || 27168 element['webkit' + capitalizedPropertName]; 27169 }; 27170 27171 },{}],26:[function(require,module,exports){ 27172 var converter = require('../converter'); 27173 27174 module.exports = NotesView; 27175 27176 function NotesView (events, element, slideViewsAccessor) { 27177 var self = this; 27178 27179 self.events = events; 27180 self.element = element; 27181 self.slideViewsAccessor = slideViewsAccessor; 27182 27183 self.configureElements(); 27184 27185 events.on('showSlide', function (slideIndex) { 27186 self.showSlide(slideIndex); 27187 }); 27188 } 27189 27190 NotesView.prototype.showSlide = function (slideIndex) { 27191 var self = this 27192 , slideViews = self.slideViewsAccessor() 27193 , slideView = slideViews[slideIndex] 27194 , nextSlideView = slideViews[slideIndex + 1] 27195 ; 27196 27197 self.notesElement.innerHTML = slideView.notesElement.innerHTML; 27198 27199 if (nextSlideView) { 27200 self.notesPreviewElement.innerHTML = nextSlideView.notesElement.innerHTML; 27201 } 27202 else { 27203 self.notesPreviewElement.innerHTML = ''; 27204 } 27205 }; 27206 27207 NotesView.prototype.configureElements = function () { 27208 var self = this; 27209 27210 self.notesElement = self.element.getElementsByClassName('remark-notes')[0]; 27211 self.notesPreviewElement = self.element.getElementsByClassName('remark-notes-preview')[0]; 27212 27213 self.notesElement.addEventListener('mousewheel', function (event) { 27214 event.stopPropagation(); 27215 }); 27216 27217 self.notesPreviewElement.addEventListener('mousewheel', function (event) { 27218 event.stopPropagation(); 27219 }); 27220 27221 self.toolbarElement = self.element.getElementsByClassName('remark-toolbar')[0]; 27222 27223 var commands = { 27224 increase: function () { 27225 self.notesElement.style.fontSize = (parseFloat(self.notesElement.style.fontSize) || 1) + 0.1 + 'em'; 27226 self.notesPreviewElement.style.fontsize = self.notesElement.style.fontSize; 27227 }, 27228 decrease: function () { 27229 self.notesElement.style.fontSize = (parseFloat(self.notesElement.style.fontSize) || 1) - 0.1 + 'em'; 27230 self.notesPreviewElement.style.fontsize = self.notesElement.style.fontSize; 27231 } 27232 }; 27233 27234 self.toolbarElement.getElementsByTagName('a').forEach(function (link) { 27235 link.addEventListener('click', function (e) { 27236 var command = e.target.hash.substr(1); 27237 commands[command](); 27238 e.preventDefault(); 27239 }); 27240 }); 27241 }; 27242 27243 },{"../converter":13}],27:[function(require,module,exports){ 27244 var SlideNumber = require('../components/slide-number/slide-number') 27245 , converter = require('../converter') 27246 , highlighter = require('../highlighter') 27247 , utils = require('../utils') 27248 ; 27249 27250 module.exports = SlideView; 27251 27252 function SlideView (events, slideshow, scaler, slide) { 27253 var self = this; 27254 27255 self.events = events; 27256 self.slideshow = slideshow; 27257 self.scaler = scaler; 27258 self.slide = slide; 27259 27260 self.slideNumber = new SlideNumber(slide, slideshow); 27261 27262 self.configureElements(); 27263 self.updateDimensions(); 27264 27265 self.events.on('propertiesChanged', function (changes) { 27266 if (changes.hasOwnProperty('ratio')) { 27267 self.updateDimensions(); 27268 } 27269 }); 27270 } 27271 27272 SlideView.prototype.updateDimensions = function () { 27273 var self = this 27274 , dimensions = self.scaler.dimensions 27275 ; 27276 27277 self.scalingElement.style.width = dimensions.width + 'px'; 27278 self.scalingElement.style.height = dimensions.height + 'px'; 27279 }; 27280 27281 SlideView.prototype.scale = function (containerElement) { 27282 var self = this; 27283 27284 self.scaler.scaleToFit(self.scalingElement, containerElement); 27285 }; 27286 27287 SlideView.prototype.show = function () { 27288 utils.addClass(this.containerElement, 'remark-visible'); 27289 utils.removeClass(this.containerElement, 'remark-fading'); 27290 }; 27291 27292 SlideView.prototype.hide = function () { 27293 var self = this; 27294 utils.removeClass(this.containerElement, 'remark-visible'); 27295 // Don't just disappear the slide. Mark it as fading, which 27296 // keeps it on the screen, but at a reduced z-index. 27297 // Then set a timer to remove the fading state in 1s. 27298 utils.addClass(this.containerElement, 'remark-fading'); 27299 setTimeout(function(){ 27300 utils.removeClass(self.containerElement, 'remark-fading'); 27301 }, 1000); 27302 }; 27303 27304 SlideView.prototype.configureElements = function () { 27305 var self = this; 27306 27307 self.containerElement = document.createElement('div'); 27308 self.containerElement.className = 'remark-slide-container'; 27309 27310 self.scalingElement = document.createElement('div'); 27311 self.scalingElement.className = 'remark-slide-scaler'; 27312 27313 self.element = createSlideElement(self.slide); 27314 27315 self.contentElement = createContentElement(self.events, self.slideshow, self.slide); 27316 self.notesElement = createNotesElement(self.slideshow, self.slide.notes); 27317 27318 self.contentElement.appendChild(self.slideNumber.element); 27319 self.element.appendChild(self.contentElement); 27320 self.scalingElement.appendChild(self.element); 27321 self.containerElement.appendChild(self.scalingElement); 27322 self.containerElement.appendChild(self.notesElement); 27323 }; 27324 27325 SlideView.prototype.scaleBackgroundImage = function (dimensions) { 27326 var self = this 27327 , styles = window.getComputedStyle(this.contentElement) 27328 , backgroundImage = styles.backgroundImage 27329 , backgroundSize = styles.backgroundSize 27330 , backgroundPosition = styles.backgroundPosition 27331 , match 27332 , image 27333 , scale 27334 ; 27335 27336 // If the user explicitly sets the backgroundSize or backgroundPosition, let 27337 // that win and early return here. 27338 if ((backgroundSize || backgroundPosition) && !self.backgroundSizeSet) { 27339 return; 27340 } 27341 27342 if ((match = /^url\(("?)([^\)]+?)\1\)/.exec(backgroundImage)) !== null) { 27343 image = new Image(); 27344 image.onload = function () { 27345 if (image.width > dimensions.width || 27346 image.height > dimensions.height) { 27347 // Background image is larger than slide 27348 if (!self.originalBackgroundSize) { 27349 // No custom background size has been set 27350 self.originalBackgroundSize = self.contentElement.style.backgroundSize; 27351 self.originalBackgroundPosition = self.contentElement.style.backgroundPosition; 27352 self.backgroundSizeSet = true; 27353 27354 if (dimensions.width / image.width < dimensions.height / image.height) { 27355 scale = dimensions.width / image.width; 27356 } 27357 else { 27358 scale = dimensions.height / image.height; 27359 } 27360 27361 self.contentElement.style.backgroundSize = image.width * scale + 27362 'px ' + image.height * scale + 'px'; 27363 self.contentElement.style.backgroundPosition = '50% ' + 27364 ((dimensions.height - (image.height * scale)) / 2) + 'px'; 27365 } 27366 } 27367 else { 27368 // Revert to previous background size setting 27369 if (self.backgroundSizeSet) { 27370 self.contentElement.style.backgroundSize = self.originalBackgroundSize; 27371 self.contentElement.style.backgroundPosition = self.originalBackgroundPosition; 27372 self.backgroundSizeSet = false; 27373 } 27374 } 27375 }; 27376 image.src = match[2]; 27377 } 27378 }; 27379 27380 function createSlideElement(slide) { 27381 var element = document.createElement('div'); 27382 element.className = 'remark-slide'; 27383 27384 if (slide.properties.continued === 'true') { 27385 utils.addClass(element, 'remark-slide-incremental'); 27386 } 27387 27388 return element; 27389 } 27390 27391 function createContentElement (events, slideshow, slide) { 27392 var element = document.createElement('div'); 27393 27394 if (slide.properties.name) { 27395 element.id = 'slide-' + slide.properties.name; 27396 } 27397 27398 styleContentElement(slideshow, element, slide.properties); 27399 27400 element.innerHTML = converter.convertMarkdown(slide.content, slideshow.getLinks()); 27401 27402 highlightCodeBlocks(element, slideshow); 27403 27404 return element; 27405 } 27406 27407 function styleContentElement (slideshow, element, properties) { 27408 element.className = ''; 27409 27410 setClassFromProperties(element, properties); 27411 setHighlightStyleFromProperties(element, properties, slideshow); 27412 setBackgroundFromProperties(element, properties); 27413 } 27414 27415 function createNotesElement (slideshow, notes) { 27416 var element = document.createElement('div'); 27417 27418 element.className = 'remark-slide-notes'; 27419 27420 element.innerHTML = converter.convertMarkdown(notes, slideshow.getLinks()); 27421 27422 highlightCodeBlocks(element, slideshow); 27423 27424 return element; 27425 } 27426 27427 function setBackgroundFromProperties (element, properties) { 27428 var backgroundImage = properties['background-image']; 27429 var backgroundColor = properties['background-color']; 27430 var backgroundSize = properties['background-size']; 27431 var backgroundPosition = properties['background-position']; 27432 27433 if (backgroundImage) { 27434 element.style.backgroundImage = backgroundImage; 27435 } 27436 if (backgroundColor) { 27437 element.style.backgroundColor = backgroundColor; 27438 } 27439 if (backgroundSize) { 27440 element.style.backgroundSize = backgroundSize; 27441 } 27442 if (backgroundPosition) { 27443 element.style.backgroundPosition = backgroundPosition; 27444 } 27445 } 27446 27447 function setHighlightStyleFromProperties (element, properties, slideshow) { 27448 var highlightStyle = properties['highlight-style'] || 27449 slideshow.getHighlightStyle(); 27450 27451 if (highlightStyle) { 27452 utils.addClass(element, 'hljs-' + highlightStyle); 27453 } 27454 } 27455 27456 function setClassFromProperties (element, properties) { 27457 utils.addClass(element, 'remark-slide-content'); 27458 27459 (properties['class'] || '').split(/,| /) 27460 .filter(function (s) { return s !== ''; }) 27461 .forEach(function (c) { utils.addClass(element, c); }); 27462 } 27463 27464 function highlightCodeBlocks (content, slideshow) { 27465 var codeBlocks = content.getElementsByTagName('code'), 27466 highlightLines = slideshow.getHighlightLines(), 27467 highlightSpans = slideshow.getHighlightSpans(), 27468 highlightInline = slideshow.getHighlightInlineCode(), 27469 meta; 27470 27471 codeBlocks.forEach(function (block) { 27472 if (block.className === '') { 27473 block.className = slideshow.getHighlightLanguage(); 27474 } 27475 27476 if (block.parentElement.tagName !== 'PRE') { 27477 utils.addClass(block, 'remark-inline-code'); 27478 if (highlightInline) { 27479 highlighter.engine.highlightBlock(block, ''); 27480 } 27481 return; 27482 } 27483 27484 if (highlightLines) { 27485 meta = extractMetadata(block); 27486 } 27487 27488 if (block.className !== '') { 27489 highlighter.engine.highlightBlock(block, ' '); 27490 } 27491 27492 wrapLines(block); 27493 27494 if (highlightLines) { 27495 highlightBlockLines(block, meta.highlightedLines); 27496 } 27497 27498 if (highlightSpans) { 27499 // highlightSpans is either true or a RegExp 27500 highlightBlockSpans(block, highlightSpans); 27501 } 27502 27503 utils.addClass(block, 'remark-code'); 27504 }); 27505 } 27506 27507 function extractMetadata (block) { 27508 var highlightedLines = []; 27509 27510 block.innerHTML = block.innerHTML.split(/\r?\n/).map(function (line, i) { 27511 if (line.indexOf('*') === 0) { 27512 highlightedLines.push(i); 27513 return line.replace(/^\*( )?/, '$1$1'); 27514 } 27515 27516 return line; 27517 }).join('\n'); 27518 27519 return { 27520 highlightedLines: highlightedLines 27521 }; 27522 } 27523 27524 function wrapLines (block) { 27525 var lines = block.innerHTML.split(/\r?\n/).map(function (line) { 27526 return '<div class="remark-code-line">' + line + '</div>'; 27527 }); 27528 27529 // Remove empty last line (due to last \n) 27530 if (lines.length && lines[lines.length - 1].indexOf('><') !== -1) { 27531 lines.pop(); 27532 } 27533 27534 block.innerHTML = lines.join(''); 27535 } 27536 27537 function highlightBlockLines (block, lines) { 27538 lines.forEach(function (i) { 27539 utils.addClass(block.childNodes[i], 'remark-code-line-highlighted'); 27540 }); 27541 } 27542 27543 /** 27544 * @param highlightSpans `true` or a RegExp 27545 */ 27546 function highlightBlockSpans (block, highlightSpans) { 27547 var pattern; 27548 if (highlightSpans === true) { 27549 pattern = /([^`])`([^`]+?)`/g; 27550 } else if (highlightSpans instanceof RegExp) { 27551 if (! highlightSpans.global) { 27552 throw new Error('The regular expression in `highlightSpans` must have flag /g'); 27553 } 27554 // Use [^] instead of dot (.) so that even newlines match 27555 // We prefix the escape group, so users can provide nicer regular expressions 27556 var flags = highlightSpans.flags || 'g'; // ES6 feature; use if it’s available 27557 pattern = new RegExp('([^])' + highlightSpans.source, flags); 27558 } else { 27559 throw new Error('Illegal value for `highlightSpans`'); 27560 } 27561 27562 block.childNodes.forEach(function (element) { 27563 element.innerHTML = element.innerHTML.replace(pattern, 27564 function (m,e,c) { 27565 if (e === '\\') { 27566 return m.substr(1); 27567 } 27568 return e + '<span class="remark-code-span-highlighted">' + 27569 c + '</span>'; 27570 }); 27571 }); 27572 } 27573 },{"../components/slide-number/slide-number":"components/slide-number","../converter":13,"../highlighter":15,"../utils":25}],28:[function(require,module,exports){ 27574 var SlideView = require('./slideView') 27575 , Timer = require('../components/timer/timer') 27576 , NotesView = require('./notesView') 27577 , Scaler = require('../scaler') 27578 , resources = require('../resources') 27579 , utils = require('../utils') 27580 , printing = require('../components/printing/printing') 27581 ; 27582 27583 module.exports = SlideshowView; 27584 27585 function SlideshowView (events, dom, options, slideshow) { 27586 var self = this; 27587 var containerElement = options.container; 27588 27589 self.events = events; 27590 self.dom = dom; 27591 self.slideshow = slideshow; 27592 self.scaler = new Scaler(events, slideshow); 27593 self.slideViews = []; 27594 27595 self.configureContainerElement(containerElement); 27596 self.configureChildElements(); 27597 27598 self.updateDimensions(); 27599 self.scaleElements(); 27600 self.updateSlideViews(); 27601 27602 self.timer = new Timer(events, self.timerElement, options.timer); 27603 27604 events.on('slidesChanged', function () { 27605 self.updateSlideViews(); 27606 }); 27607 27608 events.on('hideSlide', function (slideIndex) { 27609 // To make sure that there is only one element fading at a time, 27610 // remove the fading class from all slides before hiding 27611 // the new slide. 27612 self.elementArea.getElementsByClassName('remark-fading').forEach(function (slide) { 27613 utils.removeClass(slide, 'remark-fading'); 27614 }); 27615 self.hideSlide(slideIndex); 27616 }); 27617 27618 events.on('showSlide', function (slideIndex) { 27619 self.showSlide(slideIndex); 27620 }); 27621 27622 events.on('forcePresenterMode', function () { 27623 27624 if (!utils.hasClass(self.containerElement, 'remark-presenter-mode')) { 27625 utils.toggleClass(self.containerElement, 'remark-presenter-mode'); 27626 self.scaleElements(); 27627 printing.setPageOrientation('landscape'); 27628 } 27629 }); 27630 27631 events.on('togglePresenterMode', function () { 27632 utils.toggleClass(self.containerElement, 'remark-presenter-mode'); 27633 self.scaleElements(); 27634 events.emit('toggledPresenter', self.slideshow.getCurrentSlideIndex() + 1); 27635 27636 if (utils.hasClass(self.containerElement, 'remark-presenter-mode')) { 27637 printing.setPageOrientation('portrait'); 27638 } 27639 else { 27640 printing.setPageOrientation('landscape'); 27641 } 27642 }); 27643 27644 events.on('toggleHelp', function () { 27645 utils.toggleClass(self.containerElement, 'remark-help-mode'); 27646 }); 27647 27648 events.on('toggleBlackout', function () { 27649 utils.toggleClass(self.containerElement, 'remark-blackout-mode'); 27650 }); 27651 27652 events.on('toggleMirrored', function () { 27653 utils.toggleClass(self.containerElement, 'remark-mirrored-mode'); 27654 }); 27655 27656 events.on('hideOverlay', function () { 27657 utils.removeClass(self.containerElement, 'remark-blackout-mode'); 27658 utils.removeClass(self.containerElement, 'remark-help-mode'); 27659 }); 27660 27661 events.on('pause', function () { 27662 utils.toggleClass(self.containerElement, 'remark-pause-mode'); 27663 }); 27664 27665 events.on('resume', function () { 27666 utils.toggleClass(self.containerElement, 'remark-pause-mode'); 27667 }); 27668 27669 handleFullscreen(self); 27670 } 27671 27672 function handleFullscreen(self) { 27673 var requestFullscreen = utils.getPrefixedProperty(self.containerElement, 'requestFullScreen') 27674 , cancelFullscreen = utils.getPrefixedProperty(document, 'cancelFullScreen') 27675 ; 27676 27677 self.events.on('toggleFullscreen', function () { 27678 var fullscreenElement = utils.getPrefixedProperty(document, 'fullscreenElement') || 27679 utils.getPrefixedProperty(document, 'fullScreenElement'); 27680 27681 if (!fullscreenElement && requestFullscreen) { 27682 requestFullscreen.call(self.containerElement, Element.ALLOW_KEYBOARD_INPUT); 27683 } 27684 else if (cancelFullscreen) { 27685 cancelFullscreen.call(document); 27686 } 27687 self.scaleElements(); 27688 }); 27689 } 27690 27691 SlideshowView.prototype.isEmbedded = function () { 27692 return this.containerElement !== this.dom.getBodyElement(); 27693 }; 27694 27695 SlideshowView.prototype.configureContainerElement = function (element) { 27696 var self = this; 27697 27698 self.containerElement = element; 27699 27700 utils.addClass(element, 'remark-container'); 27701 27702 if (element === self.dom.getBodyElement()) { 27703 utils.addClass(self.dom.getHTMLElement(), 'remark-container'); 27704 27705 forwardEvents(self.events, window, [ 27706 'hashchange', 'resize', 'keydown', 'keypress', 'mousewheel', 27707 'message', 'DOMMouseScroll' 27708 ]); 27709 forwardEvents(self.events, self.containerElement, [ 27710 'touchstart', 'touchmove', 'touchend', 'click', 'contextmenu' 27711 ]); 27712 } 27713 else { 27714 element.style.position = 'absolute'; 27715 element.tabIndex = -1; 27716 27717 forwardEvents(self.events, window, ['resize']); 27718 forwardEvents(self.events, element, [ 27719 'keydown', 'keypress', 'mousewheel', 27720 'touchstart', 'touchmove', 'touchend' 27721 ]); 27722 } 27723 27724 // Tap event is handled in slideshow view 27725 // rather than controller as knowledge of 27726 // container width is needed to determine 27727 // whether to move backwards or forwards 27728 self.events.on('tap', function (endX) { 27729 if (endX < self.containerElement.clientWidth / 2) { 27730 self.slideshow.gotoPreviousSlide(); 27731 } 27732 else { 27733 self.slideshow.gotoNextSlide(); 27734 } 27735 }); 27736 }; 27737 27738 function forwardEvents (target, source, events) { 27739 events.forEach(function (eventName) { 27740 source.addEventListener(eventName, function () { 27741 var args = Array.prototype.slice.call(arguments); 27742 target.emit.apply(target, [eventName].concat(args)); 27743 }); 27744 }); 27745 } 27746 27747 SlideshowView.prototype.configureChildElements = function () { 27748 var self = this; 27749 27750 self.containerElement.innerHTML += resources.containerLayout; 27751 27752 self.elementArea = self.containerElement.getElementsByClassName('remark-slides-area')[0]; 27753 self.previewArea = self.containerElement.getElementsByClassName('remark-preview-area')[0]; 27754 self.notesArea = self.containerElement.getElementsByClassName('remark-notes-area')[0]; 27755 27756 self.notesView = new NotesView (self.events, self.notesArea, function () { 27757 return self.slideViews; 27758 }); 27759 27760 self.backdropElement = self.containerElement.getElementsByClassName('remark-backdrop')[0]; 27761 self.helpElement = self.containerElement.getElementsByClassName('remark-help')[0]; 27762 27763 self.timerElement = self.notesArea.getElementsByClassName('remark-toolbar-timer')[0]; 27764 self.pauseElement = self.containerElement.getElementsByClassName('remark-pause')[0]; 27765 27766 self.events.on('propertiesChanged', function (changes) { 27767 if (changes.hasOwnProperty('ratio')) { 27768 self.updateDimensions(); 27769 } 27770 }); 27771 27772 self.events.on('resize', onResize); 27773 27774 printing.init(); 27775 printing.on('print', onPrint); 27776 27777 function onResize () { 27778 self.scaleElements(); 27779 } 27780 27781 function onPrint (e) { 27782 var slideHeight; 27783 27784 if (e.isPortrait) { 27785 slideHeight = e.pageHeight * 0.4; 27786 } 27787 else { 27788 slideHeight = e.pageHeight; 27789 } 27790 27791 self.slideViews.forEach(function (slideView) { 27792 slideView.scale({ 27793 clientWidth: e.pageWidth, 27794 clientHeight: slideHeight 27795 }); 27796 27797 if (e.isPortrait) { 27798 slideView.scalingElement.style.top = '20px'; 27799 slideView.notesElement.style.top = slideHeight + 40 + 'px'; 27800 } 27801 }); 27802 } 27803 }; 27804 27805 SlideshowView.prototype.updateSlideViews = function () { 27806 var self = this; 27807 27808 self.slideViews.forEach(function (slideView) { 27809 self.elementArea.removeChild(slideView.containerElement); 27810 }); 27811 27812 self.slideViews = self.slideshow.getSlides().map(function (slide) { 27813 return new SlideView(self.events, self.slideshow, self.scaler, slide); 27814 }); 27815 27816 self.slideViews.forEach(function (slideView) { 27817 self.elementArea.appendChild(slideView.containerElement); 27818 }); 27819 27820 self.updateDimensions(); 27821 27822 if (self.slideshow.getCurrentSlideIndex() > -1) { 27823 self.showSlide(self.slideshow.getCurrentSlideIndex()); 27824 } 27825 }; 27826 27827 SlideshowView.prototype.scaleSlideBackgroundImages = function (dimensions) { 27828 var self = this; 27829 27830 self.slideViews.forEach(function (slideView) { 27831 slideView.scaleBackgroundImage(dimensions); 27832 }); 27833 }; 27834 27835 SlideshowView.prototype.showSlide = function (slideIndex) { 27836 var self = this 27837 , slideView = self.slideViews[slideIndex] 27838 , nextSlideView = self.slideViews[slideIndex + 1] 27839 ; 27840 27841 self.events.emit("beforeShowSlide", slideIndex); 27842 27843 slideView.show(); 27844 27845 if (nextSlideView) { 27846 self.previewArea.innerHTML = nextSlideView.containerElement.outerHTML; 27847 } 27848 else { 27849 self.previewArea.innerHTML = ''; 27850 } 27851 27852 self.events.emit("afterShowSlide", slideIndex); 27853 }; 27854 27855 SlideshowView.prototype.hideSlide = function (slideIndex) { 27856 var self = this 27857 , slideView = self.slideViews[slideIndex] 27858 ; 27859 27860 self.events.emit("beforeHideSlide", slideIndex); 27861 slideView.hide(); 27862 self.events.emit("afterHideSlide", slideIndex); 27863 27864 }; 27865 27866 SlideshowView.prototype.updateDimensions = function () { 27867 var self = this 27868 , dimensions = self.scaler.dimensions 27869 ; 27870 27871 self.helpElement.style.width = dimensions.width + 'px'; 27872 self.helpElement.style.height = dimensions.height + 'px'; 27873 27874 self.scaleSlideBackgroundImages(dimensions); 27875 self.scaleElements(); 27876 }; 27877 27878 SlideshowView.prototype.scaleElements = function () { 27879 var self = this; 27880 27881 self.slideViews.forEach(function (slideView) { 27882 slideView.scale(self.elementArea); 27883 }); 27884 27885 if (self.previewArea.children.length) { 27886 self.scaler.scaleToFit(self.previewArea.children[0].children[0], self.previewArea); 27887 } 27888 self.scaler.scaleToFit(self.helpElement, self.containerElement); 27889 self.scaler.scaleToFit(self.pauseElement, self.containerElement); 27890 }; 27891 27892 },{"../components/printing/printing":"components/printing","../components/timer/timer":"components/timer","../resources":23,"../scaler":24,"../utils":25,"./notesView":26,"./slideView":27}],"components/printing":[function(require,module,exports){ 27893 var EventEmitter = require('events').EventEmitter 27894 , styler = require('../styler/styler') 27895 ; 27896 27897 var LANDSCAPE = 'landscape' 27898 , PORTRAIT = 'portrait' 27899 , PAGE_HEIGHT = 681 27900 , PAGE_WIDTH = 908 27901 ; 27902 27903 function PrintComponent () {} 27904 27905 // Add eventing 27906 PrintComponent.prototype = new EventEmitter(); 27907 27908 // Sets up listener for printing 27909 PrintComponent.prototype.init = function () { 27910 var self = this; 27911 27912 this.setPageOrientation(LANDSCAPE); 27913 27914 if (!window.matchMedia) { 27915 return false; 27916 } 27917 27918 window.matchMedia('print').addListener(function (e) { 27919 self.onPrint(e); 27920 }); 27921 }; 27922 27923 // Handles printing event 27924 PrintComponent.prototype.onPrint = function (e) { 27925 var slideHeight; 27926 27927 if (!e.matches) { 27928 return; 27929 } 27930 27931 this.emit('print', { 27932 isPortrait: this._orientation === 'portrait' 27933 , pageHeight: this._pageHeight 27934 , pageWidth: this._pageWidth 27935 }); 27936 }; 27937 27938 PrintComponent.prototype.setPageOrientation = function (orientation) { 27939 if (orientation === PORTRAIT) { 27940 // Flip dimensions for portrait orientation 27941 this._pageHeight = PAGE_WIDTH; 27942 this._pageWidth = PAGE_HEIGHT; 27943 } 27944 else if (orientation === LANDSCAPE) { 27945 this._pageHeight = PAGE_HEIGHT; 27946 this._pageWidth = PAGE_WIDTH; 27947 } 27948 else { 27949 throw new Error('Unknown print orientation: ' + orientation); 27950 } 27951 27952 this._orientation = orientation; 27953 27954 styler.setPageSize(this._pageWidth + 'px ' + this._pageHeight + 'px'); 27955 }; 27956 27957 // Export singleton instance 27958 module.exports = new PrintComponent(); 27959 27960 },{"../styler/styler":"components/styler","events":1}],"components/slide-number":[function(require,module,exports){ 27961 module.exports = SlideNumberViewModel; 27962 27963 function SlideNumberViewModel (slide, slideshow) { 27964 var self = this; 27965 27966 self.slide = slide; 27967 self.slideshow = slideshow; 27968 27969 self.element = document.createElement('div'); 27970 self.element.className = 'remark-slide-number'; 27971 self.element.innerHTML = formatSlideNumber(self.slide, self.slideshow); 27972 } 27973 27974 function formatSlideNumber (slide, slideshow) { 27975 var format = slideshow.getSlideNumberFormat() 27976 , slides = slideshow.getSlides() 27977 , current = getSlideNo(slide, slideshow) 27978 , total = getSlideNo(slides[slides.length - 1], slideshow) 27979 ; 27980 27981 if (typeof format === 'function') { 27982 return format.call(slideshow, current, total); 27983 } 27984 27985 return format 27986 .replace('%current%', current) 27987 .replace('%total%', total); 27988 } 27989 27990 function getSlideNo (slide, slideshow) { 27991 return slide.getSlideNumber(); 27992 } 27993 27994 },{}],"components/styler":[function(require,module,exports){ 27995 var resources = require('../../resources') 27996 , highlighter = require('../../highlighter') 27997 ; 27998 27999 module.exports = { 28000 styleDocument: styleDocument 28001 , setPageSize: setPageSize 28002 }; 28003 28004 // Applies bundled styles to document 28005 function styleDocument () { 28006 var headElement, styleElement, style; 28007 28008 // Bail out if document has already been styled 28009 if (getRemarkStylesheet()) { 28010 return; 28011 } 28012 28013 headElement = document.getElementsByTagName('head')[0]; 28014 styleElement = document.createElement('style'); 28015 styleElement.type = 'text/css'; 28016 28017 // Set title in order to enable lookup 28018 styleElement.title = 'remark'; 28019 28020 // Set document styles 28021 styleElement.innerHTML = resources.documentStyles; 28022 28023 // Append highlighting styles 28024 for (style in highlighter.styles) { 28025 if (highlighter.styles.hasOwnProperty(style)) { 28026 styleElement.innerHTML = styleElement.innerHTML + 28027 highlighter.styles[style]; 28028 } 28029 } 28030 28031 // Put element first to prevent overriding user styles 28032 headElement.insertBefore(styleElement, headElement.firstChild); 28033 } 28034 28035 function setPageSize (size) { 28036 var stylesheet = getRemarkStylesheet() 28037 , pageRule = getPageRule(stylesheet) 28038 ; 28039 28040 pageRule.style.size = size; 28041 } 28042 28043 // Locates the embedded remark stylesheet 28044 function getRemarkStylesheet () { 28045 var i, l = document.styleSheets.length; 28046 28047 for (i = 0; i < l; ++i) { 28048 if (document.styleSheets[i].title === 'remark') { 28049 return document.styleSheets[i]; 28050 } 28051 } 28052 } 28053 28054 // Locates the CSS @page rule 28055 function getPageRule (stylesheet) { 28056 var i, l = stylesheet.cssRules.length; 28057 28058 for (i = 0; i < l; ++i) { 28059 if (stylesheet.cssRules[i] instanceof window.CSSPageRule) { 28060 return stylesheet.cssRules[i]; 28061 } 28062 } 28063 } 28064 28065 },{"../../highlighter":15,"../../resources":23}],"components/timer":[function(require,module,exports){ 28066 var utils = require('../../utils'); 28067 var extend = require('extend'); 28068 28069 module.exports = TimerViewModel; 28070 28071 function TimerViewModel(events, element, options) { 28072 var self = this; 28073 28074 self.options = extend({}, { enabled: true, resetable: true, startOnChange: true, formatter: defaultFormatter }, options || {}); 28075 self.element = element; 28076 self.reset(); 28077 28078 events.on('start', function () { 28079 if (self.options.startOnChange) { 28080 events.emit('startTimer'); 28081 } 28082 }); 28083 28084 events.on('startTimer', function () { 28085 self.start(); 28086 }); 28087 28088 events.on('pauseTimer', function () { 28089 self.pause(); 28090 }); 28091 28092 events.on('toggleTimer', function () { 28093 self.toggle(); 28094 }); 28095 28096 events.on('resetTimer', function () { 28097 if (self.options.resetable) { 28098 self.reset(); 28099 } 28100 }); 28101 28102 28103 setInterval(function () { 28104 self.tick(); 28105 }, 100); 28106 } 28107 TimerViewModel.prototype.tick = function () { 28108 var self = this; 28109 28110 self.chronos.tick(); 28111 self.state.update(self.chronos); 28112 self.view.update(self.chronos.elapsedTime); 28113 }; 28114 TimerViewModel.prototype.start = function () { 28115 var self = this; 28116 28117 self.state = self.RUNNING; 28118 }; 28119 TimerViewModel.prototype.pause = function () { 28120 var self = this; 28121 28122 self.state = self.PAUSED; 28123 }; 28124 TimerViewModel.prototype.toggle = function () { 28125 var self = this; 28126 28127 if (self.state === self.RUNNING) { 28128 self.state = self.PAUSED; 28129 } else { // state === PAUSED || state == INITIAL 28130 self.state = self.RUNNING; 28131 } 28132 }; 28133 TimerViewModel.prototype.reset = function () { 28134 var self = this; 28135 28136 self.chronos = new Chronos(); 28137 self.state = self.INITIAL; 28138 self.view = new TimerView(self.element, self.options); 28139 }; 28140 28141 TimerViewModel.prototype.INITIAL = new State('INITIAL', function (chronos) { /* do nothing */ }); 28142 TimerViewModel.prototype.RUNNING = new State('RUNNING', function (chronos) { chronos.addDelta(); }); 28143 TimerViewModel.prototype.PAUSED = new State('PAUSED', function (chronos) { /* do nothing */ }); 28144 28145 function Chronos() { 28146 var self = this; 28147 28148 var now = new Date().getTime(); 28149 self.currentTick = now; 28150 self.lastTick = now; 28151 self.elapsedTime = 0; 28152 } 28153 Chronos.prototype.tick = function () { 28154 var self = this; 28155 28156 var now = new Date().getTime(); 28157 self.lastTick = self.currentTick; 28158 self.currentTick = now; 28159 }; 28160 Chronos.prototype.addDelta = function () { 28161 var self = this; 28162 28163 var delta = self.currentTick - self.lastTick; 28164 self.elapsedTime += delta; 28165 }; 28166 28167 function State(identifier, updater) { 28168 var self = this; 28169 28170 self.identifier = identifier; 28171 self.updater = updater; 28172 } 28173 State.prototype.update = function (chronos) { 28174 this.updater(chronos); 28175 }; 28176 28177 function TimerView(element, options) { 28178 var self = this; 28179 28180 self.element = element; 28181 self.enabled = options.enabled; 28182 self.formatter = options.formatter; 28183 28184 if (!self.enabled) { 28185 self.element.style = 'display: none'; 28186 } 28187 } 28188 TimerView.prototype.update = function (elapsedTime) { 28189 var self = this; 28190 28191 var content = self.enabled ? self.formatter(elapsedTime) : ''; 28192 self.element.innerHTML = content; 28193 }; 28194 28195 function defaultFormatter(elapsedTime) { 28196 var left = elapsedTime; 28197 var millis = left % 1000; left = idiv(left, 1000); 28198 var seconds = left % 60; left = idiv(left, 60); 28199 var minutes = left % 60; left = idiv(left, 60); 28200 var hours = left; 28201 28202 return '' + hours + ':' + ([minutes, seconds] 28203 .map(function (d) { return '' + d; }) 28204 .map(function (s) { return padStart(s, 2, '0'); }) 28205 .join(':')); 28206 } 28207 28208 function idiv(n, d) { 28209 return Math.floor(n / d); 28210 } 28211 28212 function padStart(s, length, pad) { 28213 var result = s; 28214 while (result.length < length) { 28215 result = pad + result; 28216 } 28217 return result; 28218 } 28219 },{"../../utils":25,"extend":2}]},{},[5]);