HEX
Server: nginx/1.28.3
System: Linux ip-172-31-12-242 6.17.0-1007-aws #7~24.04.1-Ubuntu SMP Thu Jan 22 21:04:49 UTC 2026 x86_64
User: root (0)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/panel/BTPanel/static/editor/diff/beautify-html.min.js
!(function () {
	!(function () {
		'use strict'
		var i = [
				,
				,
				function (t) {
					function _(t) {
						;(this.__parent = t),
							(this.__character_count = 0),
							(this.__indent_count = -1),
							(this.__alignment_count = 0),
							(this.__wrap_point_index = 0),
							(this.__wrap_point_character_count = 0),
							(this.__wrap_point_indent_count = -1),
							(this.__wrap_point_alignment_count = 0),
							(this.__items = [])
					}
					function n(t, e) {
						;(this.__cache = ['']),
							(this.__indent_size = t.indent_size),
							(this.__indent_string = t.indent_char),
							t.indent_with_tabs ||
								(this.__indent_string = new Array(t.indent_size + 1).join(t.indent_char)),
							(e = e || ''),
							0 < t.indent_level && (e = new Array(t.indent_level + 1).join(this.__indent_string)),
							(this.__base_string = e),
							(this.__base_string_length = e.length)
					}
					function e(t, e) {
						;(this.__indent_cache = new n(t, e)),
							(this.raw = !1),
							(this._end_with_newline = t.end_with_newline),
							(this.indent_size = t.indent_size),
							(this.wrap_line_length = t.wrap_line_length),
							(this.indent_empty_lines = t.indent_empty_lines),
							(this.__lines = []),
							(this.previous_line = null),
							(this.current_line = null),
							(this.next_line = new _(this)),
							(this.space_before_token = !1),
							(this.non_breaking_space = !1),
							(this.previous_token_wrapped = !1),
							this.__add_outputline()
					}
					;(_.prototype.clone_empty = function () {
						var t = new _(this.__parent)
						return t.set_indent(this.__indent_count, this.__alignment_count), t
					}),
						(_.prototype.item = function (t) {
							return t < 0 ? this.__items[this.__items.length + t] : this.__items[t]
						}),
						(_.prototype.has_match = function (t) {
							for (var e = this.__items.length - 1; 0 <= e; e--)
								if (this.__items[e].match(t)) return !0
							return !1
						}),
						(_.prototype.set_indent = function (t, e) {
							this.is_empty() &&
								((this.__indent_count = t || 0),
								(this.__alignment_count = e || 0),
								(this.__character_count = this.__parent.get_indent_size(
									this.__indent_count,
									this.__alignment_count
								)))
						}),
						(_.prototype._set_wrap_point = function () {
							this.__parent.wrap_line_length &&
								((this.__wrap_point_index = this.__items.length),
								(this.__wrap_point_character_count = this.__character_count),
								(this.__wrap_point_indent_count = this.__parent.next_line.__indent_count),
								(this.__wrap_point_alignment_count = this.__parent.next_line.__alignment_count))
						}),
						(_.prototype._should_wrap = function () {
							return (
								this.__wrap_point_index &&
								this.__character_count > this.__parent.wrap_line_length &&
								this.__wrap_point_character_count > this.__parent.next_line.__character_count
							)
						}),
						(_.prototype._allow_wrap = function () {
							var t
							return (
								!!this._should_wrap() &&
								(this.__parent.add_new_line(),
								(t = this.__parent.current_line).set_indent(
									this.__wrap_point_indent_count,
									this.__wrap_point_alignment_count
								),
								(t.__items = this.__items.slice(this.__wrap_point_index)),
								(this.__items = this.__items.slice(0, this.__wrap_point_index)),
								(t.__character_count += this.__character_count - this.__wrap_point_character_count),
								(this.__character_count = this.__wrap_point_character_count),
								' ' === t.__items[0] && (t.__items.splice(0, 1), --t.__character_count),
								!0)
							)
						}),
						(_.prototype.is_empty = function () {
							return 0 === this.__items.length
						}),
						(_.prototype.last = function () {
							return this.is_empty() ? null : this.__items[this.__items.length - 1]
						}),
						(_.prototype.push = function (t) {
							this.__items.push(t)
							var e = t.lastIndexOf('\n')
							;-1 !== e
								? (this.__character_count = t.length - e)
								: (this.__character_count += t.length)
						}),
						(_.prototype.pop = function () {
							var t = null
							return (
								this.is_empty() || ((t = this.__items.pop()), (this.__character_count -= t.length)),
								t
							)
						}),
						(_.prototype._remove_indent = function () {
							0 < this.__indent_count &&
								(--this.__indent_count, (this.__character_count -= this.__parent.indent_size))
						}),
						(_.prototype._remove_wrap_indent = function () {
							0 < this.__wrap_point_indent_count && --this.__wrap_point_indent_count
						}),
						(_.prototype.trim = function () {
							for (; ' ' === this.last(); ) this.__items.pop(), --this.__character_count
						}),
						(_.prototype.toString = function () {
							var t = ''
							return (
								this.is_empty()
									? this.__parent.indent_empty_lines &&
									  (t = this.__parent.get_indent_string(this.__indent_count))
									: ((t = this.__parent.get_indent_string(
											this.__indent_count,
											this.__alignment_count
									  )),
									  (t += this.__items.join(''))),
								t
							)
						}),
						(n.prototype.get_indent_size = function (t, e) {
							var n = this.__base_string_length
							return (n = (n = t < 0 ? 0 : n) + t * this.__indent_size + (e = e || 0))
						}),
						(n.prototype.get_indent_string = function (t, e) {
							var n = this.__base_string
							return (
								(e = e || 0),
								t < 0 && ((t = 0), (n = '')),
								(e += t * this.__indent_size),
								this.__ensure_cache(e),
								(n += this.__cache[e])
							)
						}),
						(n.prototype.__ensure_cache = function (t) {
							for (; t >= this.__cache.length; ) this.__add_column()
						}),
						(n.prototype.__add_column = function () {
							var t,
								e = this.__cache.length,
								n = ''
							this.__indent_size &&
								e >= this.__indent_size &&
								((e -= (t = Math.floor(e / this.__indent_size)) * this.__indent_size),
								(n = new Array(t + 1).join(this.__indent_string))),
								e && (n += new Array(e + 1).join(' ')),
								this.__cache.push(n)
						}),
						(e.prototype.__add_outputline = function () {
							;(this.previous_line = this.current_line),
								(this.current_line = this.next_line.clone_empty()),
								this.__lines.push(this.current_line)
						}),
						(e.prototype.get_line_number = function () {
							return this.__lines.length
						}),
						(e.prototype.get_indent_string = function (t, e) {
							return this.__indent_cache.get_indent_string(t, e)
						}),
						(e.prototype.get_indent_size = function (t, e) {
							return this.__indent_cache.get_indent_size(t, e)
						}),
						(e.prototype.is_empty = function () {
							return !this.previous_line && this.current_line.is_empty()
						}),
						(e.prototype.add_new_line = function (t) {
							return (
								!(this.is_empty() || (!t && this.just_added_newline())) &&
								(this.raw || this.__add_outputline(), !0)
							)
						}),
						(e.prototype.get_code = function (t) {
							this.trim(!0)
							var e = this.current_line.pop(),
								e =
									(e &&
										('\n' === e[e.length - 1] && (e = e.replace(/\n+$/g, '')),
										this.current_line.push(e)),
									this._end_with_newline && this.__add_outputline(),
									this.__lines.join('\n'))
							return (e = '\n' !== t ? e.replace(/[\n]/g, t) : e)
						}),
						(e.prototype.set_wrap_point = function () {
							this.current_line._set_wrap_point()
						}),
						(e.prototype.set_indent = function (t, e) {
							return (
								this.next_line.set_indent((t = t || 0), (e = e || 0)),
								1 < this.__lines.length
									? (this.current_line.set_indent(t, e), !0)
									: (this.current_line.set_indent(), !1)
							)
						}),
						(e.prototype.add_raw_token = function (t) {
							for (var e = 0; e < t.newlines; e++) this.__add_outputline()
							this.current_line.set_indent(-1),
								this.current_line.push(t.whitespace_before),
								this.current_line.push(t.text),
								(this.space_before_token = !1),
								(this.non_breaking_space = !1),
								(this.previous_token_wrapped = !1)
						}),
						(e.prototype.add_token = function (t) {
							this.__add_space_before_token(),
								this.current_line.push(t),
								(this.space_before_token = !1),
								(this.non_breaking_space = !1),
								(this.previous_token_wrapped = this.current_line._allow_wrap())
						}),
						(e.prototype.__add_space_before_token = function () {
							this.space_before_token &&
								!this.just_added_newline() &&
								(this.non_breaking_space || this.set_wrap_point(), this.current_line.push(' '))
						}),
						(e.prototype.remove_indent = function (t) {
							for (var e = this.__lines.length; t < e; ) this.__lines[t]._remove_indent(), t++
							this.current_line._remove_wrap_indent()
						}),
						(e.prototype.trim = function (t) {
							for (
								t = void 0 !== t && t, this.current_line.trim();
								t && 1 < this.__lines.length && this.current_line.is_empty();

							)
								this.__lines.pop(),
									(this.current_line = this.__lines[this.__lines.length - 1]),
									this.current_line.trim()
							this.previous_line =
								1 < this.__lines.length ? this.__lines[this.__lines.length - 2] : null
						}),
						(e.prototype.just_added_newline = function () {
							return this.current_line.is_empty()
						}),
						(e.prototype.just_added_blankline = function () {
							return (
								this.is_empty() || (this.current_line.is_empty() && this.previous_line.is_empty())
							)
						}),
						(e.prototype.ensure_empty_line_above = function (t, e) {
							for (var n = this.__lines.length - 2; 0 <= n; ) {
								var i = this.__lines[n]
								if (i.is_empty()) break
								if (0 !== i.item(0).indexOf(t) && i.item(-1) !== e) {
									this.__lines.splice(n + 1, 0, new _(this)),
										(this.previous_line = this.__lines[this.__lines.length - 2])
									break
								}
								n--
							}
						}),
						(t.exports.Output = e)
				},
				function (t) {
					t.exports.Token = function (t, e, n, i) {
						;(this.type = t),
							(this.text = e),
							(this.comments_before = null),
							(this.newlines = n || 0),
							(this.whitespace_before = i || ''),
							(this.parent = null),
							(this.next = null),
							(this.previous = null),
							(this.opened = null),
							(this.closed = null),
							(this.directives = null)
					}
				},
				,
				,
				function (t) {
					function e(t, e) {
						;(this.raw_options = n(t, e)),
							(this.disabled = this._get_boolean('disabled')),
							(this.eol = this._get_characters('eol', 'auto')),
							(this.end_with_newline = this._get_boolean('end_with_newline')),
							(this.indent_size = this._get_number('indent_size', 4)),
							(this.indent_char = this._get_characters('indent_char', ' ')),
							(this.indent_level = this._get_number('indent_level')),
							(this.preserve_newlines = this._get_boolean('preserve_newlines', !0)),
							(this.max_preserve_newlines = this._get_number('max_preserve_newlines', 32786)),
							this.preserve_newlines || (this.max_preserve_newlines = 0),
							(this.indent_with_tabs = this._get_boolean(
								'indent_with_tabs',
								'\t' === this.indent_char
							)),
							this.indent_with_tabs &&
								((this.indent_char = '\t'), 1 === this.indent_size && (this.indent_size = 4)),
							(this.wrap_line_length = this._get_number(
								'wrap_line_length',
								this._get_number('max_char')
							)),
							(this.indent_empty_lines = this._get_boolean('indent_empty_lines')),
							(this.templating = this._get_selection_list(
								'templating',
								['auto', 'none', 'django', 'erb', 'handlebars', 'php', 'smarty'],
								['auto']
							))
					}
					function n(t, e) {
						var n,
							i = {}
						for (n in (t = _(t))) n !== e && (i[n] = t[n])
						if (e && t[e]) for (n in t[e]) i[n] = t[e][n]
						return i
					}
					function _(t) {
						var e,
							n = {}
						for (e in t) n[e.replace(/-/g, '_')] = t[e]
						return n
					}
					;(e.prototype._get_array = function (t, e) {
						;(t = this.raw_options[t]), (e = e || [])
						return (
							'object' == typeof t
								? null !== t && 'function' == typeof t.concat && (e = t.concat())
								: 'string' == typeof t && (e = t.split(/[^a-zA-Z0-9_\/\-]+/)),
							e
						)
					}),
						(e.prototype._get_boolean = function (t, e) {
							t = this.raw_options[t]
							return void 0 === t ? !!e : !!t
						}),
						(e.prototype._get_characters = function (t, e) {
							;(t = this.raw_options[t]), (e = e || '')
							return (e =
								'string' == typeof t
									? t.replace(/\\r/, '\r').replace(/\\n/, '\n').replace(/\\t/, '\t')
									: e)
						}),
						(e.prototype._get_number = function (t, e) {
							;(t = this.raw_options[t]),
								(e = parseInt(e, 10)),
								isNaN(e) && (e = 0),
								(t = parseInt(t, 10))
							return (t = isNaN(t) ? e : t)
						}),
						(e.prototype._get_selection = function (t, e, n) {
							n = this._get_selection_list(t, e, n)
							if (1 !== n.length)
								throw new Error(
									"Invalid Option Value: The option '" +
										t +
										"' can only be one of the following values:\n" +
										e +
										"\nYou passed in: '" +
										this.raw_options[t] +
										"'"
								)
							return n[0]
						}),
						(e.prototype._get_selection_list = function (t, e, n) {
							if (!e || 0 === e.length) throw new Error('Selection list cannot be empty.')
							if (((n = n || [e[0]]), !this._is_valid_selection(n, e)))
								throw new Error('Invalid Default Value!')
							n = this._get_array(t, n)
							if (this._is_valid_selection(n, e)) return n
							throw new Error(
								"Invalid Option Value: The option '" +
									t +
									"' can contain only the following values:\n" +
									e +
									"\nYou passed in: '" +
									this.raw_options[t] +
									"'"
							)
						}),
						(e.prototype._is_valid_selection = function (t, e) {
							return (
								t.length &&
								e.length &&
								!t.some(function (t) {
									return -1 === e.indexOf(t)
								})
							)
						}),
						(t.exports.Options = e),
						(t.exports.normalizeOpts = _),
						(t.exports.mergeOpts = n)
				},
				,
				function (t) {
					var i = RegExp.prototype.hasOwnProperty('sticky')
					function e(t) {
						;(this.__input = t || ''),
							(this.__input_length = this.__input.length),
							(this.__position = 0)
					}
					;(e.prototype.restart = function () {
						this.__position = 0
					}),
						(e.prototype.back = function () {
							0 < this.__position && --this.__position
						}),
						(e.prototype.hasNext = function () {
							return this.__position < this.__input_length
						}),
						(e.prototype.next = function () {
							var t = null
							return (
								this.hasNext() &&
									((t = this.__input.charAt(this.__position)), (this.__position += 1)),
								t
							)
						}),
						(e.prototype.peek = function (t) {
							var e = null
							return (
								(t = t || 0),
								(e =
									0 <= (t += this.__position) && t < this.__input_length
										? this.__input.charAt(t)
										: e)
							)
						}),
						(e.prototype.__match = function (t, e) {
							t.lastIndex = e
							var n = t.exec(this.__input)
							return !n || (i && t.sticky) || (n.index !== e && (n = null)), n
						}),
						(e.prototype.test = function (t, e) {
							return (
								(e = e || 0),
								0 <= (e += this.__position) && e < this.__input_length && !!this.__match(t, e)
							)
						}),
						(e.prototype.testChar = function (t, e) {
							e = this.peek(e)
							return (t.lastIndex = 0), null !== e && t.test(e)
						}),
						(e.prototype.match = function (t) {
							t = this.__match(t, this.__position)
							return t ? (this.__position += t[0].length) : (t = null), t
						}),
						(e.prototype.read = function (t, e, n) {
							var i,
								_ = ''
							return (
								t && (i = this.match(t)) && (_ += i[0]),
								!e || (!i && t) || (_ += this.readUntil(e, n)),
								_
							)
						}),
						(e.prototype.readUntil = function (t, e) {
							var n = this.__position,
								t = ((t.lastIndex = this.__position), t.exec(this.__input))
							return (
								t ? ((n = t.index), e && (n += t[0].length)) : (n = this.__input_length),
								(e = this.__input.substring(this.__position, n)),
								(this.__position = n),
								e
							)
						}),
						(e.prototype.readUntilAfter = function (t) {
							return this.readUntil(t, !0)
						}),
						(e.prototype.get_regexp = function (t, e) {
							var n = null,
								e = e && i ? 'y' : 'g'
							return (
								'string' == typeof t && '' !== t
									? (n = new RegExp(t, e))
									: t && (n = new RegExp(t.source, e)),
								n
							)
						}),
						(e.prototype.get_literal_regexp = function (t) {
							return RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'))
						}),
						(e.prototype.peekUntilAfter = function (t) {
							var e = this.__position,
								t = this.readUntilAfter(t)
							return (this.__position = e), t
						}),
						(e.prototype.lookBack = function (t) {
							var e = this.__position - 1
							return e >= t.length && this.__input.substring(e - t.length, e).toLowerCase() === t
						}),
						(t.exports.InputScanner = e)
				},
				function (t, e, n) {
					function i(t, e) {
						;(this._input = new _(t)),
							(this._options = e || {}),
							(this.__tokens = null),
							(this._patterns = {}),
							(this._patterns.whitespace = new a(this._input))
					}
					var _ = n(8).InputScanner,
						s = n(3).Token,
						r = n(10).TokenStream,
						a = n(11).WhitespacePattern,
						o = { START: 'TK_START', RAW: 'TK_RAW', EOF: 'TK_EOF' }
					;(i.prototype.tokenize = function () {
						this._input.restart(), (this.__tokens = new r()), this._reset()
						for (var t, e = new s(o.START, ''), n = null, i = [], _ = new r(); e.type !== o.EOF; ) {
							for (t = this._get_next_token(e, n); this._is_comment(t); )
								_.add(t), (t = this._get_next_token(e, n))
							_.isEmpty() || ((t.comments_before = _), (_ = new r())),
								(t.parent = n),
								this._is_opening(t)
									? (i.push(n), (n = t))
									: n &&
									  this._is_closing(t, n) &&
									  (((t.opened = n).closed = t), (n = i.pop()), (t.parent = n)),
								((t.previous = e).next = t),
								this.__tokens.add(t),
								(e = t)
						}
						return this.__tokens
					}),
						(i.prototype._is_first_token = function () {
							return this.__tokens.isEmpty()
						}),
						(i.prototype._reset = function () {}),
						(i.prototype._get_next_token = function (t, e) {
							this._readWhitespace()
							var n = this._input.read(/.+/g)
							return n ? this._create_token(o.RAW, n) : this._create_token(o.EOF, '')
						}),
						(i.prototype._is_comment = function (t) {
							return !1
						}),
						(i.prototype._is_opening = function (t) {
							return !1
						}),
						(i.prototype._is_closing = function (t, e) {
							return !1
						}),
						(i.prototype._create_token = function (t, e) {
							return new s(
								t,
								e,
								this._patterns.whitespace.newline_count,
								this._patterns.whitespace.whitespace_before_token
							)
						}),
						(i.prototype._readWhitespace = function () {
							return this._patterns.whitespace.read()
						}),
						(t.exports.Tokenizer = i),
						(t.exports.TOKEN = o)
				},
				function (t) {
					function e(t) {
						;(this.__tokens = []),
							(this.__tokens_length = this.__tokens.length),
							(this.__position = 0),
							(this.__parent_token = t)
					}
					;(e.prototype.restart = function () {
						this.__position = 0
					}),
						(e.prototype.isEmpty = function () {
							return 0 === this.__tokens_length
						}),
						(e.prototype.hasNext = function () {
							return this.__position < this.__tokens_length
						}),
						(e.prototype.next = function () {
							var t = null
							return (
								this.hasNext() && ((t = this.__tokens[this.__position]), (this.__position += 1)), t
							)
						}),
						(e.prototype.peek = function (t) {
							var e = null
							return (
								(t = t || 0),
								(e = 0 <= (t += this.__position) && t < this.__tokens_length ? this.__tokens[t] : e)
							)
						}),
						(e.prototype.add = function (t) {
							this.__parent_token && (t.parent = this.__parent_token),
								this.__tokens.push(t),
								(this.__tokens_length += 1)
						}),
						(t.exports.TokenStream = e)
				},
				function (t, e, n) {
					var i = n(12).Pattern
					function _(t, e) {
						i.call(this, t, e),
							e
								? (this._line_regexp = this._input.get_regexp(e._line_regexp))
								: this.__set_whitespace_patterns('', ''),
							(this.newline_count = 0),
							(this.whitespace_before_token = '')
					}
					;((_.prototype = new i()).__set_whitespace_patterns = function (t, e) {
						;(this._match_pattern = this._input.get_regexp(
							'[' + (t += '\\t ') + (e += '\\n\\r') + ']+',
							!0
						)),
							(this._newline_regexp = this._input.get_regexp('\\r\\n|[' + e + ']'))
					}),
						(_.prototype.read = function () {
							;(this.newline_count = 0), (this.whitespace_before_token = '')
							var t,
								e = this._input.read(this._match_pattern)
							return (
								' ' === e
									? (this.whitespace_before_token = ' ')
									: e &&
									  ((t = this.__split(this._newline_regexp, e)),
									  (this.newline_count = t.length - 1),
									  (this.whitespace_before_token = t[this.newline_count])),
								e
							)
						}),
						(_.prototype.matching = function (t, e) {
							var n = this._create()
							return n.__set_whitespace_patterns(t, e), n._update(), n
						}),
						(_.prototype._create = function () {
							return new _(this._input, this)
						}),
						(_.prototype.__split = function (t, e) {
							for (var n = (t.lastIndex = 0), i = [], _ = t.exec(e); _; )
								i.push(e.substring(n, _.index)), (n = _.index + _[0].length), (_ = t.exec(e))
							return n < e.length ? i.push(e.substring(n, e.length)) : i.push(''), i
						}),
						(t.exports.WhitespacePattern = _)
				},
				function (t) {
					function e(t, e) {
						;(this._input = t),
							(this._starting_pattern = null),
							(this._match_pattern = null),
							(this._until_pattern = null),
							(this._until_after = !1),
							e &&
								((this._starting_pattern = this._input.get_regexp(e._starting_pattern, !0)),
								(this._match_pattern = this._input.get_regexp(e._match_pattern, !0)),
								(this._until_pattern = this._input.get_regexp(e._until_pattern)),
								(this._until_after = e._until_after))
					}
					;(e.prototype.read = function () {
						var t = this._input.read(this._starting_pattern)
						return (
							(this._starting_pattern && !t) ||
								(t += this._input.read(
									this._match_pattern,
									this._until_pattern,
									this._until_after
								)),
							t
						)
					}),
						(e.prototype.read_match = function () {
							return this._input.match(this._match_pattern)
						}),
						(e.prototype.until_after = function (t) {
							var e = this._create()
							return (
								(e._until_after = !0),
								(e._until_pattern = this._input.get_regexp(t)),
								e._update(),
								e
							)
						}),
						(e.prototype.until = function (t) {
							var e = this._create()
							return (
								(e._until_after = !1),
								(e._until_pattern = this._input.get_regexp(t)),
								e._update(),
								e
							)
						}),
						(e.prototype.starting_with = function (t) {
							var e = this._create()
							return (e._starting_pattern = this._input.get_regexp(t, !0)), e._update(), e
						}),
						(e.prototype.matching = function (t) {
							var e = this._create()
							return (e._match_pattern = this._input.get_regexp(t, !0)), e._update(), e
						}),
						(e.prototype._create = function () {
							return new e(this._input, this)
						}),
						(e.prototype._update = function () {}),
						(t.exports.Pattern = e)
				},
				function (t) {
					function e(t, e) {
						;(t = 'string' == typeof t ? t : t.source),
							(e = 'string' == typeof e ? e : e.source),
							(this.__directives_block_pattern = new RegExp(
								t + / beautify( \w+[:]\w+)+ /.source + e,
								'g'
							)),
							(this.__directive_pattern = / (\w+)[:](\w+)/g),
							(this.__directives_end_ignore_pattern = new RegExp(
								t + /\sbeautify\signore:end\s/.source + e,
								'g'
							))
					}
					;(e.prototype.get_directives = function (t) {
						if (!t.match(this.__directives_block_pattern)) return null
						for (
							var e = {},
								n = ((this.__directive_pattern.lastIndex = 0), this.__directive_pattern.exec(t));
							n;

						)
							(e[n[1]] = n[2]), (n = this.__directive_pattern.exec(t))
						return e
					}),
						(e.prototype.readIgnored = function (t) {
							return t.readUntilAfter(this.__directives_end_ignore_pattern)
						}),
						(t.exports.Directives = e)
				},
				function (t, e, n) {
					var i = n(12).Pattern,
						_ = { django: !1, erb: !1, handlebars: !1, php: !1, smarty: !1 }
					function s(t, e) {
						i.call(this, t, e),
							(this.__template_pattern = null),
							(this._disabled = Object.assign({}, _)),
							(this._excluded = Object.assign({}, _)),
							e &&
								((this.__template_pattern = this._input.get_regexp(e.__template_pattern)),
								(this._excluded = Object.assign(this._excluded, e._excluded)),
								(this._disabled = Object.assign(this._disabled, e._disabled)))
						e = new i(t)
						this.__patterns = {
							handlebars_comment: e.starting_with(/{{!--/).until_after(/--}}/),
							handlebars_unescaped: e.starting_with(/{{{/).until_after(/}}}/),
							handlebars: e.starting_with(/{{/).until_after(/}}/),
							php: e.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),
							erb: e.starting_with(/<%[^%]/).until_after(/[^%]%>/),
							django: e.starting_with(/{%/).until_after(/%}/),
							django_value: e.starting_with(/{{/).until_after(/}}/),
							django_comment: e.starting_with(/{#/).until_after(/#}/),
							smarty: e.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),
							smarty_comment: e.starting_with(/{\*/).until_after(/\*}/),
							smarty_literal: e.starting_with(/{literal}/).until_after(/{\/literal}/),
						}
					}
					;((s.prototype = new i())._create = function () {
						return new s(this._input, this)
					}),
						(s.prototype._update = function () {
							this.__set_templated_pattern()
						}),
						(s.prototype.disable = function (t) {
							var e = this._create()
							return (e._disabled[t] = !0), e._update(), e
						}),
						(s.prototype.read_options = function (t) {
							var e,
								n = this._create()
							for (e in _) n._disabled[e] = -1 === t.templating.indexOf(e)
							return n._update(), n
						}),
						(s.prototype.exclude = function (t) {
							var e = this._create()
							return (e._excluded[t] = !0), e._update(), e
						}),
						(s.prototype.read = function () {
							for (
								var t = '',
									t = this._match_pattern
										? this._input.read(this._starting_pattern)
										: this._input.read(this._starting_pattern, this.__template_pattern),
									e = this._read_template();
								e;

							)
								this._match_pattern
									? (e += this._input.read(this._match_pattern))
									: (e += this._input.readUntil(this.__template_pattern)),
									(t += e),
									(e = this._read_template())
							return this._until_after && (t += this._input.readUntilAfter(this._until_pattern)), t
						}),
						(s.prototype.__set_templated_pattern = function () {
							var t = []
							this._disabled.php || t.push(this.__patterns.php._starting_pattern.source),
								this._disabled.handlebars ||
									t.push(this.__patterns.handlebars._starting_pattern.source),
								this._disabled.erb || t.push(this.__patterns.erb._starting_pattern.source),
								this._disabled.django ||
									(t.push(this.__patterns.django._starting_pattern.source),
									t.push(this.__patterns.django_value._starting_pattern.source),
									t.push(this.__patterns.django_comment._starting_pattern.source)),
								this._disabled.smarty || t.push(this.__patterns.smarty._starting_pattern.source),
								this._until_pattern && t.push(this._until_pattern.source),
								(this.__template_pattern = this._input.get_regexp('(?:' + t.join('|') + ')'))
						}),
						(s.prototype._read_template = function () {
							var t,
								e = '',
								n = this._input.peek()
							return (
								'<' === n
									? ((t = this._input.peek(1)),
									  this._disabled.php ||
											this._excluded.php ||
											'?' !== t ||
											(e = e || this.__patterns.php.read()),
									  this._disabled.erb ||
											this._excluded.erb ||
											'%' !== t ||
											(e = e || this.__patterns.erb.read()))
									: '{' === n &&
									  (this._disabled.handlebars ||
											this._excluded.handlebars ||
											(e =
												(e =
													(e = e || this.__patterns.handlebars_comment.read()) ||
													this.__patterns.handlebars_unescaped.read()) ||
												this.__patterns.handlebars.read()),
									  this._disabled.django ||
											(this._excluded.django ||
												this._excluded.handlebars ||
												(e = e || this.__patterns.django_value.read()),
											this._excluded.django ||
												(e =
													(e = e || this.__patterns.django_comment.read()) ||
													this.__patterns.django.read())),
									  this._disabled.smarty ||
											(this._disabled.django &&
												this._disabled.handlebars &&
												(e =
													(e =
														(e = e || this.__patterns.smarty_comment.read()) ||
														this.__patterns.smarty_literal.read()) ||
													this.__patterns.smarty.read()))),
								e
							)
						}),
						(t.exports.TemplatablePattern = s)
				},
				,
				,
				,
				function (t, e, n) {
					var _ = n(19).Beautifier,
						i = n(20).Options
					;(t.exports = function (t, e, n, i) {
						return new _(t, e, n, i).beautify()
					}),
						(t.exports.defaultOptions = function () {
							return new i()
						})
				},
				function (t, e, n) {
					function p(t, e) {
						;(this.indent_level = 0),
							(this.alignment_size = 0),
							(this.max_preserve_newlines = t.max_preserve_newlines),
							(this.preserve_newlines = t.preserve_newlines),
							(this._output = new i(t, e))
					}
					function s(t, e) {
						var n = null,
							i = null
						return e.closed
							? ('script' === t ? (n = 'text/javascript') : 'style' === t && (n = 'text/css'),
							  -1 <
							  (n =
									(function (t) {
										for (var e = null, n = t.next; n.type !== u.EOF && t.closed !== n; ) {
											if (n.type === u.ATTRIBUTE && 'type' === n.text) {
												n.next &&
													n.next.type === u.EQUALS &&
													n.next.next &&
													n.next.next.type === u.VALUE &&
													(e = n.next.next.text)
												break
											}
											n = n.next
										}
										return e
									})(e) || n).search('text/css')
									? (i = 'css')
									: -1 <
									    n.search(
												/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/
									    )
									  ? (i = 'javascript')
									  : -1 < n.search(/(text|application|dojo)\/(x-)?(html)/)
									    ? (i = 'html')
									    : -1 < n.search(/test\/null/) && (i = 'null'),
							  i)
							: null
					}
					var _ = n(20).Options,
						i = n(2).Output,
						h = n(21).Tokenizer,
						u = n(21).TOKEN,
						l = /\r\n|[\r\n]/,
						c = /\r\n|[\r\n]/g
					;(p.prototype.current_line_has_match = function (t) {
						return this._output.current_line.has_match(t)
					}),
						(p.prototype.set_space_before_token = function (t, e) {
							;(this._output.space_before_token = t), (this._output.non_breaking_space = e)
						}),
						(p.prototype.set_wrap_point = function () {
							this._output.set_indent(this.indent_level, this.alignment_size),
								this._output.set_wrap_point()
						}),
						(p.prototype.add_raw_token = function (t) {
							this._output.add_raw_token(t)
						}),
						(p.prototype.print_preserved_newlines = function (t) {
							var e = 0
							t.type !== u.TEXT && t.previous.type !== u.TEXT && (e = t.newlines ? 1 : 0),
								this.preserve_newlines &&
									(e =
										t.newlines < this.max_preserve_newlines + 1
											? t.newlines
											: this.max_preserve_newlines + 1)
							for (var n = 0; n < e; n++) this.print_newline(0 < n)
							return 0 !== e
						}),
						(p.prototype.traverse_whitespace = function (t) {
							return (
								!(!t.whitespace_before && !t.newlines) &&
								(this.print_preserved_newlines(t) || (this._output.space_before_token = !0), !0)
							)
						}),
						(p.prototype.previous_token_wrapped = function () {
							return this._output.previous_token_wrapped
						}),
						(p.prototype.print_newline = function (t) {
							this._output.add_new_line(t)
						}),
						(p.prototype.print_token = function (t) {
							t.text &&
								(this._output.set_indent(this.indent_level, this.alignment_size),
								this._output.add_token(t.text))
						}),
						(p.prototype.indent = function () {
							this.indent_level++
						}),
						(p.prototype.get_full_indent = function (t) {
							return (t = this.indent_level + (t || 0)) < 1 ? '' : this._output.get_indent_string(t)
						})
					function r(t, e) {
						return -1 !== e.indexOf(t)
					}
					function a(t, e, n) {
						;(this.parent = t || null),
							(this.tag = e ? e.tag_name : ''),
							(this.indent_level = n || 0),
							(this.parser_token = e || null)
					}
					function d(t) {
						;(this._printer = t), (this._current_frame = null)
					}
					function g(t, e, n, i) {
						;(this._source_text = t || ''),
							(e = e || {}),
							(this._js_beautify = n),
							(this._css_beautify = i),
							(this._tag_stack = null)
						t = new _(e, 'html')
						;(this._options = t),
							(this._is_wrap_attributes_force =
								'force' === this._options.wrap_attributes.substr(0, 'force'.length)),
							(this._is_wrap_attributes_force_expand_multiline =
								'force-expand-multiline' === this._options.wrap_attributes),
							(this._is_wrap_attributes_force_aligned =
								'force-aligned' === this._options.wrap_attributes),
							(this._is_wrap_attributes_aligned_multiple =
								'aligned-multiple' === this._options.wrap_attributes),
							(this._is_wrap_attributes_preserve =
								'preserve' === this._options.wrap_attributes.substr(0, 'preserve'.length)),
							(this._is_wrap_attributes_preserve_aligned =
								'preserve-aligned' === this._options.wrap_attributes)
					}
					;(d.prototype.get_parser_token = function () {
						return this._current_frame ? this._current_frame.parser_token : null
					}),
						(d.prototype.record_tag = function (t) {
							t = new a(this._current_frame, t, this._printer.indent_level)
							this._current_frame = t
						}),
						(d.prototype._try_pop_frame = function (t) {
							var e = null
							return (
								t &&
									((e = t.parser_token),
									(this._printer.indent_level = t.indent_level),
									(this._current_frame = t.parent)),
								e
							)
						}),
						(d.prototype._get_frame = function (t, e) {
							for (var n = this._current_frame; n && -1 === t.indexOf(n.tag); ) {
								if (e && -1 !== e.indexOf(n.tag)) {
									n = null
									break
								}
								n = n.parent
							}
							return n
						}),
						(d.prototype.try_pop = function (t, e) {
							t = this._get_frame([t], e)
							return this._try_pop_frame(t)
						}),
						(d.prototype.indent_to_tag = function (t) {
							t = this._get_frame(t)
							t && (this._printer.indent_level = t.indent_level)
						}),
						(g.prototype.beautify = function () {
							if (this._options.disabled) return this._source_text
							for (
								var t = this._source_text,
									e = this._options.eol,
									n =
										('auto' === this._options.eol &&
											((e = '\n'), t && l.test(t) && (e = t.match(l)[0])),
										(t = t.replace(c, '\n')).match(/^[\t ]*/)[0]),
									i = { text: '', type: '' },
									_ = new f(),
									s = new p(this._options, n),
									r = new h(t, this._options).tokenize(),
									a = ((this._tag_stack = new d(s)), null),
									o = r.next();
								o.type !== u.EOF;

							)
								o.type === u.TAG_OPEN || o.type === u.COMMENT
									? (_ = a = this._handle_tag_open(s, o, _, i))
									: o.type === u.ATTRIBUTE ||
									    o.type === u.EQUALS ||
									    o.type === u.VALUE ||
									    (o.type === u.TEXT && !_.tag_complete)
									  ? (a = this._handle_inside_tag(s, o, _, r))
									  : o.type === u.TAG_CLOSE
									    ? (a = this._handle_tag_close(s, o, _))
									    : o.type === u.TEXT
									      ? (a = this._handle_text(s, o, _))
									      : s.add_raw_token(o),
									(i = a),
									(o = r.next())
							return s._output.get_code(e)
						}),
						(g.prototype._handle_tag_close = function (t, e, n) {
							var i = { text: e.text, type: e.type }
							return (
								(t.alignment_size = 0),
								(n.tag_complete = !0),
								t.set_space_before_token(e.newlines || '' !== e.whitespace_before, !0),
								n.is_unformatted
									? t.add_raw_token(e)
									: ('<' === n.tag_start_char &&
											(t.set_space_before_token('/' === e.text[0], !0),
											this._is_wrap_attributes_force_expand_multiline &&
												n.has_wrapped_attrs &&
												t.print_newline(!1)),
									  t.print_token(e)),
								!n.indent_content ||
									n.is_unformatted ||
									n.is_content_unformatted ||
									(t.indent(), (n.indent_content = !1)),
								n.is_inline_element ||
									n.is_unformatted ||
									n.is_content_unformatted ||
									t.set_wrap_point(),
								i
							)
						}),
						(g.prototype._handle_inside_tag = function (t, e, n, i) {
							var _ = n.has_wrapped_attrs,
								s = { text: e.text, type: e.type }
							if (
								(t.set_space_before_token(e.newlines || '' !== e.whitespace_before, !0),
								n.is_unformatted)
							)
								t.add_raw_token(e)
							else if ('{' === n.tag_start_char && e.type === u.TEXT)
								t.print_preserved_newlines(e)
									? ((e.newlines = 0), t.add_raw_token(e))
									: t.print_token(e)
							else {
								if (
									(e.type === u.ATTRIBUTE
										? (t.set_space_before_token(!0), (n.attr_count += 1))
										: (e.type === u.EQUALS ||
												(e.type === u.VALUE && e.previous.type === u.EQUALS)) &&
										  t.set_space_before_token(!1),
									e.type === u.ATTRIBUTE &&
										'<' === n.tag_start_char &&
										((this._is_wrap_attributes_preserve ||
											this._is_wrap_attributes_preserve_aligned) &&
											(t.traverse_whitespace(e), (_ = _ || 0 !== e.newlines)),
										this._is_wrap_attributes_force))
								) {
									var r = 1 < n.attr_count
									if (this._is_wrap_attributes_force_expand_multiline && 1 === n.attr_count) {
										var a,
											o = !0,
											p = 0
										do {
											if ((a = i.peek(p)).type === u.ATTRIBUTE) {
												o = !1
												break
											}
										} while ((p += 1) < 4 && a.type !== u.EOF && a.type !== u.TAG_CLOSE)
										r = !o
									}
									r && (t.print_newline(!1), (_ = !0))
								}
								t.print_token(e), (_ = _ || t.previous_token_wrapped()), (n.has_wrapped_attrs = _)
							}
							return s
						}),
						(g.prototype._handle_text = function (t, e, n) {
							var i = { text: e.text, type: 'TK_CONTENT' }
							return (
								n.custom_beautifier_name
									? this._print_custom_beatifier_text(t, e, n)
									: n.is_unformatted || n.is_content_unformatted
									  ? t.add_raw_token(e)
									  : (t.traverse_whitespace(e), t.print_token(e)),
								i
							)
						}),
						(g.prototype._print_custom_beatifier_text = function (t, e, n) {
							var i = this
							if ('' !== e.text) {
								var _,
									s = e.text,
									r = 1,
									a = '',
									o = '',
									r =
										('javascript' === n.custom_beautifier_name &&
										'function' == typeof this._js_beautify
											? (_ = this._js_beautify)
											: 'css' === n.custom_beautifier_name &&
											    'function' == typeof this._css_beautify
											  ? (_ = this._css_beautify)
											  : 'html' === n.custom_beautifier_name &&
											    (_ = function (t, e) {
														return new g(t, e, i._js_beautify, i._css_beautify).beautify()
											    }),
										'keep' === this._options.indent_scripts
											? (r = 0)
											: 'separate' === this._options.indent_scripts && (r = -t.indent_level),
										t.get_full_indent(r))
								if (
									((s = s.replace(/\n[ \t]*$/, '')),
									'html' !== n.custom_beautifier_name &&
										'<' === s[0] &&
										s.match(/^(<!--|<!\[CDATA\[)/))
								) {
									var n = /^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(s)
									if (!n) return void t.add_raw_token(e)
									;(a = r + n[1] + '\n'),
										(s = n[4]),
										n[5] && (o = r + n[5]),
										(s = s.replace(/\n[ \t]*$/, '')),
										(n[2] || -1 !== n[3].indexOf('\n')) &&
											(n = n[3].match(/[ \t]+$/)) &&
											(e.whitespace_before = n[0])
								}
								;(s =
									s &&
									(_
										? (((n = function () {
												this.eol = '\n'
										  }).prototype = this._options.raw_options),
										  _(r + s, new n()))
										: r +
										  (s = (_ = e.whitespace_before)
												? s.replace(new RegExp('\n(' + _ + ')?', 'g'), '\n')
												: s).replace(/\n/g, '\n' + r))),
									a && (s = s ? a + s + '\n' + o : a + o),
									t.print_newline(!1),
									s &&
										((e.text = s),
										(e.whitespace_before = ''),
										(e.newlines = 0),
										t.add_raw_token(e),
										t.print_newline(!0))
							}
						}),
						(g.prototype._handle_tag_open = function (t, e, n, i) {
							var _ = this._get_tag_open_token(e)
							return (
								(!n.is_unformatted && !n.is_content_unformatted) ||
								n.is_empty_element ||
								e.type !== u.TAG_OPEN ||
								0 !== e.text.indexOf('</')
									? (t.traverse_whitespace(e),
									  this._set_tag_position(t, e, _, n, i),
									  _.is_inline_element || t.set_wrap_point(),
									  t.print_token(e))
									: (t.add_raw_token(e), (_.start_tag_token = this._tag_stack.try_pop(_.tag_name))),
								(this._is_wrap_attributes_force_aligned ||
									this._is_wrap_attributes_aligned_multiple ||
									this._is_wrap_attributes_preserve_aligned) &&
									(_.alignment_size = e.text.length + 1),
								_.tag_complete || _.is_unformatted || (t.alignment_size = _.alignment_size),
								_
							)
						})
					var f = function (t, e) {
							var n
							;(this.parent = t || null),
								(this.text = ''),
								(this.type = 'TK_TAG_OPEN'),
								(this.tag_name = ''),
								(this.is_inline_element = !1),
								(this.is_unformatted = !1),
								(this.is_content_unformatted = !1),
								(this.is_empty_element = !1),
								(this.is_start_tag = !1),
								(this.is_end_tag = !1),
								(this.indent_content = !1),
								(this.multiline_content = !1),
								(this.custom_beautifier_name = null),
								(this.start_tag_token = null),
								(this.attr_count = 0),
								(this.has_wrapped_attrs = !1),
								(this.alignment_size = 0),
								(this.tag_complete = !1),
								(this.tag_start_char = ''),
								(this.tag_check = ''),
								e
									? ((this.tag_start_char = e.text[0]),
									  (this.text = e.text),
									  '<' === this.tag_start_char
											? ((n = e.text.match(/^<([^\s>]*)/)), (this.tag_check = n ? n[1] : ''))
											: ((n = e.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/)),
											  (this.tag_check = n ? n[1] : ''),
											  (e.text.startsWith('{{#>') || e.text.startsWith('{{~#>')) &&
													'>' === this.tag_check[0] &&
													('>' === this.tag_check && null !== e.next
														? (this.tag_check = e.next.text.split(' ')[0])
														: (this.tag_check = e.text.split('>')[1]))),
									  (this.tag_check = this.tag_check.toLowerCase()),
									  e.type === u.COMMENT && (this.tag_complete = !0),
									  (this.is_start_tag = '/' !== this.tag_check.charAt(0)),
									  (this.tag_name = this.is_start_tag ? this.tag_check : this.tag_check.substr(1)),
									  (this.is_end_tag = !this.is_start_tag || (e.closed && '/>' === e.closed.text)),
									  (t = 2),
									  '{' === this.tag_start_char &&
											3 <= this.text.length &&
											'~' === this.text.charAt(2) &&
											(t = 3),
									  (this.is_end_tag =
											this.is_end_tag ||
											('{' === this.tag_start_char &&
												(this.text.length < 3 || /[^#\^]/.test(this.text.charAt(t))))))
									: (this.tag_complete = !0)
						},
						o =
							((g.prototype._get_tag_open_token = function (t) {
								t = new f(this._tag_stack.get_parser_token(), t)
								return (
									(t.alignment_size = this._options.wrap_attributes_indent_size),
									(t.is_end_tag = t.is_end_tag || r(t.tag_check, this._options.void_elements)),
									(t.is_empty_element = t.tag_complete || (t.is_start_tag && t.is_end_tag)),
									(t.is_unformatted = !t.tag_complete && r(t.tag_check, this._options.unformatted)),
									(t.is_content_unformatted =
										!t.is_empty_element && r(t.tag_check, this._options.content_unformatted)),
									(t.is_inline_element =
										r(t.tag_name, this._options.inline) ||
										t.tag_name.includes('-') ||
										'{' === t.tag_start_char),
									t
								)
							}),
							(g.prototype._set_tag_position = function (t, e, n, i, _) {
								n.is_empty_element ||
									(n.is_end_tag
										? (n.start_tag_token = this._tag_stack.try_pop(n.tag_name))
										: (this._do_optional_end_element(n) &&
												!n.is_inline_element &&
												t.print_newline(!1),
										  this._tag_stack.record_tag(n),
										  ('script' !== n.tag_name && 'style' !== n.tag_name) ||
												n.is_unformatted ||
												n.is_content_unformatted ||
												(n.custom_beautifier_name = s(n.tag_check, e)))),
									r(n.tag_check, this._options.extra_liners) &&
										(t.print_newline(!1), t._output.just_added_blankline() || t.print_newline(!0)),
									n.is_empty_element
										? ('{' === n.tag_start_char &&
												'else' === n.tag_check &&
												(this._tag_stack.indent_to_tag(['if', 'unless', 'each']),
												(n.indent_content = !0),
												t.current_line_has_match(/{{#if/) || t.print_newline(!1)),
										  ('!--' === n.tag_name &&
												_.type === u.TAG_CLOSE &&
												i.is_end_tag &&
												-1 === n.text.indexOf('\n')) ||
												(n.is_inline_element || n.is_unformatted || t.print_newline(!1),
												this._calcluate_parent_multiline(t, n)))
										: n.is_end_tag
										  ? ((e = !1),
										    (e =
													(e = n.start_tag_token && n.start_tag_token.multiline_content) ||
													(!n.is_inline_element &&
														!(i.is_inline_element || i.is_unformatted) &&
														!(_.type === u.TAG_CLOSE && n.start_tag_token === i) &&
														'TK_CONTENT' !== _.type)),
										    (e = n.is_content_unformatted || n.is_unformatted ? !1 : e) &&
													t.print_newline(!1))
										  : ((n.indent_content = !n.custom_beautifier_name),
										    '<' === n.tag_start_char &&
													('html' === n.tag_name
														? (n.indent_content = this._options.indent_inner_html)
														: 'head' === n.tag_name
														  ? (n.indent_content = this._options.indent_head_inner_html)
														  : 'body' === n.tag_name &&
														    (n.indent_content = this._options.indent_body_inner_html)),
										    n.is_inline_element ||
													n.is_unformatted ||
													('TK_CONTENT' === _.type && !n.is_content_unformatted) ||
													t.print_newline(!1),
										    this._calcluate_parent_multiline(t, n))
							}),
							(g.prototype._calcluate_parent_multiline = function (t, e) {
								!e.parent ||
									!t._output.just_added_newline() ||
									((e.is_inline_element || e.is_unformatted) && e.parent.is_inline_element) ||
									(e.parent.multiline_content = !0)
							}),
							[
								'address',
								'article',
								'aside',
								'blockquote',
								'details',
								'div',
								'dl',
								'fieldset',
								'figcaption',
								'figure',
								'footer',
								'form',
								'h1',
								'h2',
								'h3',
								'h4',
								'h5',
								'h6',
								'header',
								'hr',
								'main',
								'nav',
								'ol',
								'p',
								'pre',
								'section',
								'table',
								'ul',
							]),
						m = ['a', 'audio', 'del', 'ins', 'map', 'noscript', 'video']
					;(g.prototype._do_optional_end_element = function (t) {
						var e,
							n = null
						if (!t.is_empty_element && t.is_start_tag && t.parent)
							return (
								'body' === t.tag_name
									? (n = n || this._tag_stack.try_pop('head'))
									: 'li' === t.tag_name
									  ? (n = n || this._tag_stack.try_pop('li', ['ol', 'ul']))
									  : 'dd' === t.tag_name || 'dt' === t.tag_name
									    ? (n =
													(n = n || this._tag_stack.try_pop('dt', ['dl'])) ||
													this._tag_stack.try_pop('dd', ['dl']))
									    : 'p' === t.parent.tag_name && -1 !== o.indexOf(t.tag_name)
									      ? ((e = t.parent.parent) && -1 !== m.indexOf(e.tag_name)) ||
									        (n = n || this._tag_stack.try_pop('p'))
									      : 'rp' === t.tag_name || 'rt' === t.tag_name
									        ? (n =
															(n = n || this._tag_stack.try_pop('rt', ['ruby', 'rtc'])) ||
															this._tag_stack.try_pop('rp', ['ruby', 'rtc']))
									        : 'optgroup' === t.tag_name
									          ? (n = n || this._tag_stack.try_pop('optgroup', ['select']))
									          : 'option' === t.tag_name
									            ? (n =
																	n ||
																	this._tag_stack.try_pop('option', [
																		'select',
																		'datalist',
																		'optgroup',
																	]))
									            : 'colgroup' === t.tag_name
									              ? (n = n || this._tag_stack.try_pop('caption', ['table']))
									              : 'thead' === t.tag_name
									                ? (n =
																			(n = n || this._tag_stack.try_pop('caption', ['table'])) ||
																			this._tag_stack.try_pop('colgroup', ['table']))
									                : 'tbody' === t.tag_name || 'tfoot' === t.tag_name
									                  ? (n =
																				(n =
																					(n =
																						(n =
																							n || this._tag_stack.try_pop('caption', ['table'])) ||
																						this._tag_stack.try_pop('colgroup', ['table'])) ||
																					this._tag_stack.try_pop('thead', ['table'])) ||
																				this._tag_stack.try_pop('tbody', ['table']))
									                  : 'tr' === t.tag_name
									                    ? (n =
																					(n =
																						(n =
																							n || this._tag_stack.try_pop('caption', ['table'])) ||
																						this._tag_stack.try_pop('colgroup', ['table'])) ||
																					this._tag_stack.try_pop('tr', [
																						'table',
																						'thead',
																						'tbody',
																						'tfoot',
																					]))
									                    : ('th' !== t.tag_name && 'td' !== t.tag_name) ||
									                      (n =
																					(n =
																						n ||
																						this._tag_stack.try_pop('td', [
																							'table',
																							'thead',
																							'tbody',
																							'tfoot',
																							'tr',
																						])) ||
																					this._tag_stack.try_pop('th', [
																						'table',
																						'thead',
																						'tbody',
																						'tfoot',
																						'tr',
																					])),
								(t.parent = this._tag_stack.get_parser_token()),
								n
							)
					}),
						(t.exports.Beautifier = g)
				},
				function (t, e, n) {
					var i = n(6).Options
					function _(t) {
						i.call(this, t, 'html'),
							1 === this.templating.length &&
								'auto' === this.templating[0] &&
								(this.templating = ['django', 'erb', 'handlebars', 'php']),
							(this.indent_inner_html = this._get_boolean('indent_inner_html')),
							(this.indent_body_inner_html = this._get_boolean('indent_body_inner_html', !0)),
							(this.indent_head_inner_html = this._get_boolean('indent_head_inner_html', !0)),
							(this.indent_handlebars = this._get_boolean('indent_handlebars', !0)),
							(this.wrap_attributes = this._get_selection('wrap_attributes', [
								'auto',
								'force',
								'force-aligned',
								'force-expand-multiline',
								'aligned-multiple',
								'preserve',
								'preserve-aligned',
							])),
							(this.wrap_attributes_indent_size = this._get_number(
								'wrap_attributes_indent_size',
								this.indent_size
							)),
							(this.extra_liners = this._get_array('extra_liners', ['head', 'body', '/html'])),
							(this.inline = this._get_array('inline', [
								'a',
								'abbr',
								'area',
								'audio',
								'b',
								'bdi',
								'bdo',
								'br',
								'button',
								'canvas',
								'cite',
								'code',
								'data',
								'datalist',
								'del',
								'dfn',
								'em',
								'embed',
								'i',
								'iframe',
								'img',
								'input',
								'ins',
								'kbd',
								'keygen',
								'label',
								'map',
								'mark',
								'math',
								'meter',
								'noscript',
								'object',
								'output',
								'progress',
								'q',
								'ruby',
								's',
								'samp',
								'select',
								'small',
								'span',
								'strong',
								'sub',
								'sup',
								'svg',
								'template',
								'textarea',
								'time',
								'u',
								'var',
								'video',
								'wbr',
								'text',
								'acronym',
								'big',
								'strike',
								'tt',
							])),
							(this.void_elements = this._get_array('void_elements', [
								'area',
								'base',
								'br',
								'col',
								'embed',
								'hr',
								'img',
								'input',
								'keygen',
								'link',
								'menuitem',
								'meta',
								'param',
								'source',
								'track',
								'wbr',
								'!doctype',
								'?xml',
								'basefont',
								'isindex',
							])),
							(this.unformatted = this._get_array('unformatted', [])),
							(this.content_unformatted = this._get_array('content_unformatted', [
								'pre',
								'textarea',
							])),
							(this.unformatted_content_delimiter = this._get_characters(
								'unformatted_content_delimiter'
							)),
							(this.indent_scripts = this._get_selection('indent_scripts', [
								'normal',
								'keep',
								'separate',
							]))
					}
					;(_.prototype = new i()), (t.exports.Options = _)
				},
				function (t, e, n) {
					function i(t, e) {
						_.call(this, t, e), (this._current_tag_name = '')
						var t = new a(this._input).read_options(this._options),
							e = new o(this._input)
						;(this.__patterns = {
							word: t.until(/[\n\r\t <]/),
							single_quote: t.until_after(/'/),
							double_quote: t.until_after(/"/),
							attribute: t.until(/[\n\r\t =>]|\/>/),
							element_name: t.until(/[\n\r\t >\/]/),
							handlebars_comment: e.starting_with(/{{!--/).until_after(/--}}/),
							handlebars: e.starting_with(/{{/).until_after(/}}/),
							handlebars_open: e.until(/[\n\r\t }]/),
							handlebars_raw_close: e.until(/}}/),
							comment: e.starting_with(/<!--/).until_after(/-->/),
							cdata: e.starting_with(/<!\[CDATA\[/).until_after(/]]>/),
							conditional_comment: e.starting_with(/<!\[/).until_after(/]>/),
							processing: e.starting_with(/<\?/).until_after(/\?>/),
						}),
							this._options.indent_handlebars &&
								(this.__patterns.word = this.__patterns.word.exclude('handlebars')),
							(this._unformatted_content_delimiter = null),
							this._options.unformatted_content_delimiter &&
								((t = this._input.get_literal_regexp(this._options.unformatted_content_delimiter)),
								(this.__patterns.unformatted_content_delimiter = e.matching(t).until_after(t)))
					}
					var _ = n(9).Tokenizer,
						s = n(9).TOKEN,
						r = n(13).Directives,
						a = n(14).TemplatablePattern,
						o = n(12).Pattern,
						p = {
							TAG_OPEN: 'TK_TAG_OPEN',
							TAG_CLOSE: 'TK_TAG_CLOSE',
							ATTRIBUTE: 'TK_ATTRIBUTE',
							EQUALS: 'TK_EQUALS',
							VALUE: 'TK_VALUE',
							COMMENT: 'TK_COMMENT',
							TEXT: 'TK_TEXT',
							UNKNOWN: 'TK_UNKNOWN',
							START: s.START,
							RAW: s.RAW,
							EOF: s.EOF,
						},
						h = new r(/<\!--/, /-->/)
					;((i.prototype = new _())._is_comment = function (t) {
						return !1
					}),
						(i.prototype._is_opening = function (t) {
							return t.type === p.TAG_OPEN
						}),
						(i.prototype._is_closing = function (t, e) {
							return (
								t.type === p.TAG_CLOSE &&
								e &&
								((('>' === t.text || '/>' === t.text) && '<' === e.text[0]) ||
									('}}' === t.text && '{' === e.text[0] && '{' === e.text[1]))
							)
						}),
						(i.prototype._reset = function () {
							this._current_tag_name = ''
						}),
						(i.prototype._get_next_token = function (t, e) {
							this._readWhitespace()
							var n = this._input.peek()
							return null === n
								? this._create_token(p.EOF, '')
								: this._read_open_handlebars(n, e) ||
										this._read_attribute(n, t, e) ||
										this._read_close(n, e) ||
										this._read_raw_content(n, t, e) ||
										this._read_content_word(n) ||
										this._read_comment_or_cdata(n) ||
										this._read_processing(n) ||
										this._read_open(n, e) ||
										this._create_token(p.UNKNOWN, this._input.next())
						}),
						(i.prototype._read_comment_or_cdata = function (t) {
							var e = null,
								n = null,
								i = null
							return (
								'<' === t &&
									('!' === this._input.peek(1) &&
										((n = this.__patterns.comment.read())
											? (i = h.get_directives(n)) &&
											  'start' === i.ignore &&
											  (n += h.readIgnored(this._input))
											: (n = this.__patterns.cdata.read())),
									n && ((e = this._create_token(p.COMMENT, n)).directives = i)),
								e
							)
						}),
						(i.prototype._read_processing = function (t) {
							var e = null,
								n = null
							return (
								'<' === t &&
									(n =
										'!' !== (t = this._input.peek(1)) && '?' !== t
											? n
											: (n = this.__patterns.conditional_comment.read()) ||
											  this.__patterns.processing.read()) &&
									((e = this._create_token(p.COMMENT, n)).directives = null),
								e
							)
						}),
						(i.prototype._read_open = function (t, e) {
							var n = null,
								i = null
							return (
								e ||
									('<' === t &&
										((n = this._input.next()),
										'/' === this._input.peek() && (n += this._input.next()),
										(n += this.__patterns.element_name.read()),
										(i = this._create_token(p.TAG_OPEN, n)))),
								i
							)
						}),
						(i.prototype._read_open_handlebars = function (t, e) {
							var n = null,
								i = null
							return (
								e ||
									(this._options.indent_handlebars &&
										'{' === t &&
										'{' === this._input.peek(1) &&
										(i =
											'!' === this._input.peek(2)
												? ((n =
														(n = this.__patterns.handlebars_comment.read()) ||
														this.__patterns.handlebars.read()),
												  this._create_token(p.COMMENT, n))
												: ((n = this.__patterns.handlebars_open.read()),
												  this._create_token(p.TAG_OPEN, n)))),
								i
							)
						}),
						(i.prototype._read_close = function (t, e) {
							var n = null,
								i = null
							return (
								e &&
									('<' === e.text[0] && ('>' === t || ('/' === t && '>' === this._input.peek(1)))
										? ((n = this._input.next()),
										  '/' === t && (n += this._input.next()),
										  (i = this._create_token(p.TAG_CLOSE, n)))
										: '{' === e.text[0] &&
										  '}' === t &&
										  '}' === this._input.peek(1) &&
										  (this._input.next(),
										  this._input.next(),
										  (i = this._create_token(p.TAG_CLOSE, '}}')))),
								i
							)
						}),
						(i.prototype._read_attribute = function (t, e, n) {
							var i = null
							return (
								n &&
									'<' === n.text[0] &&
									('=' === t
										? (i = this._create_token(p.EQUALS, this._input.next()))
										: '"' === t || "'" === t
										  ? ((n = this._input.next()),
										    (n += (
													'"' === t ? this.__patterns.double_quote : this.__patterns.single_quote
										    ).read()),
										    (i = this._create_token(p.VALUE, n)))
										  : (t = this.__patterns.attribute.read()) &&
										    (i =
													e.type === p.EQUALS
														? this._create_token(p.VALUE, t)
														: this._create_token(p.ATTRIBUTE, t))),
								i
							)
						}),
						(i.prototype._is_content_unformatted = function (t) {
							return (
								-1 === this._options.void_elements.indexOf(t) &&
								(-1 !== this._options.content_unformatted.indexOf(t) ||
									-1 !== this._options.unformatted.indexOf(t))
							)
						}),
						(i.prototype._read_raw_content = function (t, e, n) {
							var i = ''
							if (n && '{' === n.text[0]) i = this.__patterns.handlebars_raw_close.read()
							else if (e.type === p.TAG_CLOSE && '<' === e.opened.text[0] && '/' !== e.text[0]) {
								n = e.opened.text.substr(1).toLowerCase()
								if ('script' === n || 'style' === n) {
									e = this._read_comment_or_cdata(t)
									if (e) return (e.type = p.TEXT), e
									i = this._input.readUntil(new RegExp('</' + n + '[\\n\\r\\t ]*?>', 'ig'))
								} else
									this._is_content_unformatted(n) &&
										(i = this._input.readUntil(new RegExp('</' + n + '[\\n\\r\\t ]*?>', 'ig')))
							}
							return i ? this._create_token(p.TEXT, i) : null
						}),
						(i.prototype._read_content_word = function (t) {
							var e = ''
							if (
								(e =
									(e =
										this._options.unformatted_content_delimiter &&
										t === this._options.unformatted_content_delimiter[0]
											? this.__patterns.unformatted_content_delimiter.read()
											: e) || this.__patterns.word.read())
							)
								return this._create_token(p.TEXT, e)
						}),
						(t.exports.Tokenizer = i),
						(t.exports.TOKEN = p)
				},
			],
			_ = {}
		var t = (function t(e) {
			var n = _[e]
			if (void 0 !== n) return n.exports
			n = _[e] = { exports: {} }
			return i[e](n, n.exports, t), n.exports
		})(18)
		e = t
	})()
	var e,
		n,
		i,
		_ = e
	'function' == typeof define && define.amd
		? define(['require', './beautify', './beautify-css'], function (t) {
				var n = t('./beautify'),
					i = t('./beautify-css')
				return {
					html_beautify: function (t, e) {
						return _(t, e, n.js_beautify, i.css_beautify)
					},
				}
		  })
		: 'undefined' != typeof exports
		  ? ((n = require('./beautify.js')),
		    (i = require('./beautify-css.js')),
		    (exports.html_beautify = function (t, e) {
					return _(t, e, n.js_beautify, i.css_beautify)
		    }))
		  : 'undefined' != typeof window
		    ? (window.html_beautify = function (t, e) {
						return _(t, e, window.js_beautify, window.css_beautify)
		      })
		    : 'undefined' != typeof global &&
		      (global.html_beautify = function (t, e) {
						return _(t, e, global.js_beautify, global.css_beautify)
		      })
})()