temporarily bring back old website

add-license-1
Guuq 4 years ago
parent 89d3cf0449
commit 8488622fd8

@ -5,10 +5,9 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/resources/css/404.css">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Error</title>
</head>
@ -43,9 +42,9 @@
<p onclick="window.history.back();" align="center">Click here to go back</p>
</div>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/javall.js" charset="utf-8"></script>
<script src="/resources/scripts/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>

@ -5,10 +5,9 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/resources/css/404.css">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Error</title>
</head>
@ -43,9 +42,9 @@
<p onclick="window.history.back();" align="center">Click here to go back</p>
</div>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/javall.js" charset="utf-8"></script>
<script src="/resources/scripts/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>

@ -5,10 +5,9 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/resources/css/404.css">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<title>Error</title>
</head>
@ -43,9 +42,9 @@
<p onclick="window.history.back();" align="center">Click here to go back</p>
</div>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/javall.js" charset="utf-8"></script>
<script src="/resources/scripts/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>

@ -5,11 +5,11 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/contact/css.css">
<link rel="stylesheet" href="/resources/styles/contact.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<title>Contact</title>
</head>
@ -23,8 +23,10 @@
<input type="text" class="dataInput input" required name="name" autofocus spellcheck="false">
<h3>E-mail<span>*</span></h3>
<input type="text" class="dataInput input" required name="email" spellcheck="false">
<h3>Telefoon</h3>
<input type="text" class="dataInput input" name="phone" spellcheck="false">
<h3>Bericht<span>*</span></h3>
<input type="text" class="dataInput input" required name="message" spellcheck="false"><br>
<textarea type="text" class="dataInput input" required name="message" spellcheck="false"></textarea><br>
<input type="submit" class="submit button">
</form>
</div>
@ -48,9 +50,9 @@
</ul>
</div>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>
</html>

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Thank you</title>
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
@ -33,9 +33,9 @@
<p onclick="window.open('/', '_self')" style="cursor:pointer;">Click here to go home</p>
</div>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/scripts/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>
</html>

@ -7,10 +7,9 @@
<meta name="author" content="Guus van Meerveld">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Feedback</title>
<link rel="stylesheet" href="/resources/css/shortcuts.css">
<link rel="stylesheet" href="/feedback/css.css">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/feedback.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
@ -24,19 +23,19 @@
<img src="/resources/img/user.png" alt="" class="userImg">
<h3>Peer Droog</h3>
</div>
<h2 class="userFeedback">"Een goede en overzichtelijk website met een handige klok, wel mist er de mogelijkheid om je eigen plaatjes toe te voegen aan de shortcuts."</h2>
<h2 class="userFeedback">"Duidelijke wireframe, de website doet erg goed wat het probeert te bereiken behalve dat er in de gallerij asymmetrie te vinden is en de foto links onderin iets te groot is"</h2>
</div><div class="feedback">
<div class="user">
<img src="/resources/img/user.png" alt="" class="userImg">
<h3>Jonathan Bos</h3>
</div>
<h2 class="userFeedback">De website ziet er goed uit. Ik zou misschien wat informatie geven bij de minifier. Het is namelijk nogal onduidelijk.</h2>
<h2 class="userFeedback">"De website ziet er goed uit. Ik zou misschien wat informatie geven bij de minifier. Het is namelijk nogal onduidelijk."</h2>
</div><div class="feedback">
<div class="user">
<img src="/resources/img/user.png" alt="" class="userImg">
<h3>User</h3>
<h3>Dyme Zevenhuizen</h3>
</div>
<h2 class="userFeedback"></h2>
<h2 class="userFeedback">"Het is een mooie website met een aantal leuke mogelijkheden. Wel jammer dat de feedback niet echt bij je aankomt, maar ik begrijp dat je dan een andere hosting nodig hebt."</h2>
</div><div class="feedback">
<div class="user">
<img src="/resources/img/user.png" alt="" class="userImg">
@ -80,10 +79,9 @@
</footer>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/js.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>
</html>

@ -5,9 +5,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Gallerij</title>
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/gallery/css.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<link rel="stylesheet" href="/resources/styles/gallery.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
@ -30,22 +30,22 @@
<div class="rowImg">
<div class="columnImg">
<button onclick="window.open('https://www.pexels.com/photo/scenic-view-of-rocky-mountain-during-evening-1624438/', '_self')"><img src="/resources/img/mountain.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/close-up-photography-of-leaves-with-droplets-807598/', '_self')"><img src="/resources/img/leaves.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/close-up-photography-of-leaves-with-droplets-807598/', '_self')" class="wide"><img src="/resources/img/leaves.jpg" alt="img"></button>
</div>
<div class="columnImg">
<button onclick="window.open('https://www.pexels.com/photo/landscape-photo-of-riverand-pine-trees-2217365/', '_self')"><img src="/resources/img/riverwoods.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/asphalt-dark-dawn-endless-531321/', '_self')"><img src="/resources/img/roadwoods.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/asphalt-dark-dawn-endless-531321/', '_self')" class="wide"><img src="/resources/img/roadwoods.jpg" alt="img"></button>
</div>
<div class="columnImg">
<button onclick="window.open('https://www.pexels.com/photo/concrete-road-between-trees-1563356/', '_self')"><img src="/resources/img/roadwoodsred.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/concrete-road-between-trees-1563356/', '_self')" class="wide"><img src="/resources/img/roadwoodsred.jpg" alt="img"></button>
<button onclick="window.open('https://www.pexels.com/photo/silhouette-of-trees-during-sunset-1723637/', '_self')"><img src="/resources/img/sunset.jpg" alt="img"></button>
</div>
</div>
<script src="/gallery/js.js"></script>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
<script src="/resources/scripts/gallery.js"></script>
</body>
</html>

@ -8,9 +8,9 @@
<meta name="author" content="Guus van Meerveld">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Home</title>
<link rel="stylesheet" href="/css.css">
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/home.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
@ -83,10 +83,10 @@
</footer>
<!-- Javascript -->
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/js.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/home.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>

@ -5,9 +5,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Minify</title>
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/minify/css.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/minify.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
@ -68,9 +68,9 @@
</footer>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/minify/js.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/minify.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>
</html>

@ -6,9 +6,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Playground</title>
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/playground/css.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<link rel="stylesheet" href="/resources/styles/playground.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
@ -77,11 +77,11 @@
</footer>
<script src="/playground/emmet.min.js"></script>
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/playground/js.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
<script src="/resources/scripts/playground.js"></script>
<script src="/resources/scripts/emmet.min.js"></script>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 198 KiB

@ -1,58 +0,0 @@
var d = document.querySelector.bind(document)
function random(e, t) {
return t++, Math.floor(Math.random() * (t - e)) + e
}
function arc(x, y, w, col, stroke) {
c.beginPath();
c.arc(x, y, w, 0, Math.PI * 2, false);
c.fillStyle = col;
c.strokeStyle = col;
if (!stroke) {
c.fill();
} else {
c.stroke()
}
c.closePath();
}
function stroke(x, y, x2, y2, w, col) {
c.beginPath();
c.moveTo(x, y);
c.lineTo(x2, y2);
c.lineWidth = w;
c.strokeStyle = col;
c.stroke();
}
function rect(x, y, w, h, col, fill) {
c.beginPath();
c.rect(x, y, w, h);
if (!fill) {
c.fillStyle = col;
c.fill()
} else {
c.strokeStyle = col
c.stroke()
}
}
function rotate(deg) {
c.rotate(deg*Math.PI/180)
}
function clear() {
c.clearRect(0, 0, can.width, can.height)
}
function image(img,x,y,w,h) {
c.drawImage(img,x,y,w,h)
}
function newImage(url) {
var img = new Image()
img.src = url + ".png"
return img
}
function zero(hms) {
if (hms < 10) {
return '0' + hms;
}
return hms;
}

@ -1,43 +1,43 @@
Navbar = [
{
icon: "/resources/img/favicon.ico",
desc: "Go to the homepage",
link: "/"
},
{
name: "Contact",
desc: "Contact me",
link: "/contact"
},
{
name: "Feedback",
desc: "Feedback for this website",
link: "/feedback"
},
{
name: "Wireframe",
desc: "De wireframe voor deze website",
link: "/wireframe"
},
{
name: "Gallerij",
desc: "Verzameling van foto's",
link: "/gallery"
},
{
name: "Tools",
desc: "Tools voor programmeren",
dropdown: [
{
name: "Playground",
desc: "Test je HTML live!",
link: "/playground"
},
{
name: "Minifier",
desc: "Minify je HTML/CSS/JavaScript",
link: "/minify"
}
]
}
]
Navbar = [
{
icon: "/resources/img/favicon.ico",
desc: "Go to the homepage",
link: "/"
},
{
name: "Contact",
desc: "Contact me",
link: "/contact"
},
{
name: "Feedback",
desc: "Feedback for this website",
link: "/feedback"
},
{
name: "Wireframe",
desc: "De wireframe voor deze website",
link: "/wireframe"
},
{
name: "Gallerij",
desc: "Verzameling van foto's",
link: "/gallery"
},
{
name: "Tools",
desc: "Tools voor programmeren",
dropdown: [
{
name: "Playground",
desc: "Test je HTML live!",
link: "/playground"
},
{
name: "Minifier",
desc: "Minify je HTML/CSS/JavaScript",
link: "/minify"
}
]
}
]

@ -1,336 +1,336 @@
var _=function(){function e(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;if(a._chain)a=a._wrapped;if(b._chain)b=b._wrapped;if(a.isEqual&&k.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&k.isFunction(b.isEqual))return b.isEqual(a);var g=f.call(a);if(g!=f.call(b))return!1;switch(g){case "[object String]":return a==String(b);case "[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case "[object Date]":case "[object Boolean]":return+a==+b;case "[object RegExp]":return a.source==
b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;for(var d=c.length;d--;)if(c[d]==a)return!0;c.push(a);var d=0,j=!0;if(g=="[object Array]"){if(d=a.length,j=d==b.length)for(;d--;)if(!(j=d in a==d in b&&e(a[d],b[d],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var l in a)if(k.has(a,l)&&(d++,!(j=k.has(b,l)&&e(a[l],b[l],c))))break;if(j){for(l in b)if(k.has(b,l)&&!d--)break;
j=!d}}c.pop();return j}var d=this,h=d._,i={},b=Array.prototype,c=Object.prototype,a=b.slice,g=b.unshift,f=c.toString,j=c.hasOwnProperty,l=b.forEach,n=b.map,m=b.reduce,o=b.reduceRight,p=b.filter,r=b.every,q=b.some,u=b.indexOf,s=b.lastIndexOf,c=Array.isArray,v=Object.keys,w=Function.prototype.bind,k=function(a){return new x(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=k;exports._=k}else d._=k;k.VERSION="1.3.3";var t=k.each=k.forEach=function(a,
b,c){if(a!=null)if(l&&a.forEach===l)a.forEach(b,c);else if(a.length===+a.length)for(var f=0,d=a.length;f<d;f++){if(f in a&&b.call(c,a[f],f,a)===i)break}else for(f in a)if(k.has(a,f)&&b.call(c,a[f],f,a)===i)break};k.map=k.collect=function(a,b,c){var f=[];if(a==null)return f;if(n&&a.map===n)return a.map(b,c);t(a,function(a,d,g){f[f.length]=b.call(c,a,d,g)});if(a.length===+a.length)f.length=a.length;return f};k.reduce=k.foldl=k.inject=function(a,b,c,f){var d=arguments.length>2;a==null&&(a=[]);if(m&&
a.reduce===m)return f&&(b=k.bind(b,f)),d?a.reduce(b,c):a.reduce(b);t(a,function(a,g,k){d?c=b.call(f,c,a,g,k):(c=a,d=!0)});if(!d)throw new TypeError("Reduce of empty array with no initial value");return c};k.reduceRight=k.foldr=function(a,b,c,f){var d=arguments.length>2;a==null&&(a=[]);if(o&&a.reduceRight===o)return f&&(b=k.bind(b,f)),d?a.reduceRight(b,c):a.reduceRight(b);var g=k.toArray(a).reverse();f&&!d&&(b=k.bind(b,f));return d?k.reduce(g,b,c,f):k.reduce(g,b)};k.find=k.detect=function(a,b,c){var f;
D(a,function(a,d,g){if(b.call(c,a,d,g))return f=a,!0});return f};k.filter=k.select=function(a,b,c){var f=[];if(a==null)return f;if(p&&a.filter===p)return a.filter(b,c);t(a,function(a,d,g){b.call(c,a,d,g)&&(f[f.length]=a)});return f};k.reject=function(a,b,c){var f=[];if(a==null)return f;t(a,function(a,d,g){b.call(c,a,d,g)||(f[f.length]=a)});return f};k.every=k.all=function(a,b,c){var f=!0;if(a==null)return f;if(r&&a.every===r)return a.every(b,c);t(a,function(a,d,g){if(!(f=f&&b.call(c,a,d,g)))return i});
return!!f};var D=k.some=k.any=function(a,b,c){b||(b=k.identity);var f=!1;if(a==null)return f;if(q&&a.some===q)return a.some(b,c);t(a,function(a,d,g){if(f||(f=b.call(c,a,d,g)))return i});return!!f};k.include=k.contains=function(a,b){var c=!1;return a==null?c:u&&a.indexOf===u?a.indexOf(b)!=-1:c=D(a,function(a){return a===b})};k.invoke=function(b,c){var f=a.call(arguments,2);return k.map(b,function(a){return(k.isFunction(c)?c||a:a[c]).apply(a,f)})};k.pluck=function(a,b){return k.map(a,function(a){return a[b]})};
k.max=function(a,b,c){if(!b&&k.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&k.isEmpty(a))return-Infinity;var f={computed:-Infinity};t(a,function(a,d,g){d=b?b.call(c,a,d,g):a;d>=f.computed&&(f={value:a,computed:d})});return f.value};k.min=function(a,b,c){if(!b&&k.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&k.isEmpty(a))return Infinity;var f={computed:Infinity};t(a,function(a,d,g){d=b?b.call(c,a,d,g):a;d<f.computed&&(f={value:a,computed:d})});return f.value};k.shuffle=
function(a){var b=[],c;t(a,function(a,f){c=Math.floor(Math.random()*(f+1));b[f]=b[c];b[c]=a});return b};k.sortBy=function(a,b,c){var f=k.isFunction(b)?b:function(a){return a[b]};return k.pluck(k.map(a,function(a,b,d){return{value:a,criteria:f.call(c,a,b,d)}}).sort(function(a,b){var c=a.criteria,f=b.criteria;return c===void 0?1:f===void 0?-1:c<f?-1:c>f?1:0}),"value")};k.groupBy=function(a,b){var c={},f=k.isFunction(b)?b:function(a){return a[b]};t(a,function(a,b){var d=f(a,b);(c[d]||(c[d]=[])).push(a)});
return c};k.sortedIndex=function(a,b,c){c||(c=k.identity);for(var f=0,d=a.length;f<d;){var g=f+d>>1;c(a[g])<c(b)?f=g+1:d=g}return f};k.toArray=function(b){return!b?[]:k.isArray(b)?a.call(b):k.isArguments(b)?a.call(b):b.toArray&&k.isFunction(b.toArray)?b.toArray():k.values(b)};k.size=function(a){return k.isArray(a)?a.length:k.keys(a).length};k.first=k.head=k.take=function(b,c,f){return c!=null&&!f?a.call(b,0,c):b[0]};k.initial=function(b,c,f){return a.call(b,0,b.length-(c==null||f?1:c))};k.last=function(b,
c,f){return c!=null&&!f?a.call(b,Math.max(b.length-c,0)):b[b.length-1]};k.rest=k.tail=function(b,c,f){return a.call(b,c==null||f?1:c)};k.compact=function(a){return k.filter(a,function(a){return!!a})};k.flatten=function(a,b){return k.reduce(a,function(a,c){if(k.isArray(c))return a.concat(b?c:k.flatten(c));a[a.length]=c;return a},[])};k.without=function(b){return k.difference(b,a.call(arguments,1))};k.uniq=k.unique=function(a,b,c){var c=c?k.map(a,c):a,f=[];a.length<3&&(b=!0);k.reduce(c,function(c,d,
g){if(b?k.last(c)!==d||!c.length:!k.include(c,d))c.push(d),f.push(a[g]);return c},[]);return f};k.union=function(){return k.uniq(k.flatten(arguments,!0))};k.intersection=k.intersect=function(b){var c=a.call(arguments,1);return k.filter(k.uniq(b),function(a){return k.every(c,function(b){return k.indexOf(b,a)>=0})})};k.difference=function(b){var c=k.flatten(a.call(arguments,1),!0);return k.filter(b,function(a){return!k.include(c,a)})};k.zip=function(){for(var b=a.call(arguments),c=k.max(k.pluck(b,"length")),
f=Array(c),d=0;d<c;d++)f[d]=k.pluck(b,""+d);return f};k.indexOf=function(a,b,c){if(a==null)return-1;var f;if(c)return c=k.sortedIndex(a,b),a[c]===b?c:-1;if(u&&a.indexOf===u)return a.indexOf(b);c=0;for(f=a.length;c<f;c++)if(c in a&&a[c]===b)return c;return-1};k.lastIndexOf=function(a,b){if(a==null)return-1;if(s&&a.lastIndexOf===s)return a.lastIndexOf(b);for(var c=a.length;c--;)if(c in a&&a[c]===b)return c;return-1};k.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0);for(var c=arguments[2]||1,
f=Math.max(Math.ceil((b-a)/c),0),d=0,g=Array(f);d<f;)g[d++]=a,a+=c;return g};var E=function(){};k.bind=function(b,c){var f,d;if(b.bind===w&&w)return w.apply(b,a.call(arguments,1));if(!k.isFunction(b))throw new TypeError;d=a.call(arguments,2);return f=function(){if(!(this instanceof f))return b.apply(c,d.concat(a.call(arguments)));E.prototype=b.prototype;var g=new E,k=b.apply(g,d.concat(a.call(arguments)));return Object(k)===k?k:g}};k.bindAll=function(b){var c=a.call(arguments,1);c.length==0&&(c=k.functions(b));
t(c,function(a){b[a]=k.bind(b[a],b)});return b};k.memoize=function(a,b){var c={};b||(b=k.identity);return function(){var f=b.apply(this,arguments);return k.has(c,f)?c[f]:c[f]=a.apply(this,arguments)}};k.delay=function(b,c){var f=a.call(arguments,2);return setTimeout(function(){return b.apply(null,f)},c)};k.defer=function(b){return k.delay.apply(k,[b,1].concat(a.call(arguments,1)))};k.throttle=function(a,b){var c,f,d,g,j,l,e=k.debounce(function(){j=g=!1},b);return function(){c=this;f=arguments;var k;
d||(d=setTimeout(function(){d=null;j&&a.apply(c,f);e()},b));g?j=!0:l=a.apply(c,f);e();g=!0;return l}};k.debounce=function(a,b,c){var f;return function(){var d=this,g=arguments;c&&!f&&a.apply(d,g);clearTimeout(f);f=setTimeout(function(){f=null;c||a.apply(d,g)},b)}};k.once=function(a){var b=!1,c;return function(){if(b)return c;b=!0;return c=a.apply(this,arguments)}};k.wrap=function(b,c){return function(){var f=[b].concat(a.call(arguments,0));return c.apply(this,f)}};k.compose=function(){var a=arguments;
return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}};k.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};k.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],c;for(c in a)k.has(a,c)&&(b[b.length]=c);return b};k.values=function(a){return k.map(a,k.identity)};k.functions=k.methods=function(a){var b=[],c;for(c in a)k.isFunction(a[c])&&b.push(c);return b.sort()};k.extend=function(b){t(a.call(arguments,
1),function(a){for(var c in a)b[c]=a[c]});return b};k.pick=function(b){var c={};t(k.flatten(a.call(arguments,1)),function(a){a in b&&(c[a]=b[a])});return c};k.defaults=function(b){t(a.call(arguments,1),function(a){for(var c in a)b[c]==null&&(b[c]=a[c])});return b};k.clone=function(a){return!k.isObject(a)?a:k.isArray(a)?a.slice():k.extend({},a)};k.tap=function(a,b){b(a);return a};k.isEqual=function(a,b){return e(a,b,[])};k.isEmpty=function(a){if(a==null)return!0;if(k.isArray(a)||k.isString(a))return a.length===
0;for(var b in a)if(k.has(a,b))return!1;return!0};k.isElement=function(a){return!!(a&&a.nodeType==1)};k.isArray=c||function(a){return f.call(a)=="[object Array]"};k.isObject=function(a){return a===Object(a)};k.isArguments=function(a){return f.call(a)=="[object Arguments]"};if(!k.isArguments(arguments))k.isArguments=function(a){return!(!a||!k.has(a,"callee"))};k.isFunction=function(a){return f.call(a)=="[object Function]"};k.isString=function(a){return f.call(a)=="[object String]"};k.isNumber=function(a){return f.call(a)==
"[object Number]"};k.isFinite=function(a){return k.isNumber(a)&&isFinite(a)};k.isNaN=function(a){return a!==a};k.isBoolean=function(a){return a===!0||a===!1||f.call(a)=="[object Boolean]"};k.isDate=function(a){return f.call(a)=="[object Date]"};k.isRegExp=function(a){return f.call(a)=="[object RegExp]"};k.isNull=function(a){return a===null};k.isUndefined=function(a){return a===void 0};k.has=function(a,b){return j.call(a,b)};k.noConflict=function(){d._=h;return this};k.identity=function(a){return a};
k.times=function(a,b,c){for(var f=0;f<a;f++)b.call(c,f)};k.escape=function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};k.result=function(a,b){if(a==null)return null;var c=a[b];return k.isFunction(c)?c.call(a):c};k.mixin=function(a){t(k.functions(a),function(b){F(b,k[b]=a[b])})};var G=0;k.uniqueId=function(a){var b=G++;return a?a+b:b};k.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,
escape:/<%-([\s\S]+?)%>/g};var z=/.^/,y={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},A;for(A in y)y[y[A]]=A;var H=/\\|'|\r|\n|\t|\u2028|\u2029/g,I=/\\(\\|'|r|n|t|u2028|u2029)/g,B=function(a){return a.replace(I,function(a,b){return y[b]})};k.template=function(a,b,c){c=k.defaults(c||{},k.templateSettings);a="__p+='"+a.replace(H,function(a){return"\\"+y[a]}).replace(c.escape||z,function(a,b){return"'+\n_.escape("+B(b)+")+\n'"}).replace(c.interpolate||z,function(a,b){return"'+\n("+
B(b)+")+\n'"}).replace(c.evaluate||z,function(a,b){return"';\n"+B(b)+"\n;__p+='"})+"';\n";c.variable||(a="with(obj||{}){\n"+a+"}\n");var a="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+a+"return __p;\n",f=new Function(c.variable||"obj","_",a);if(b)return f(b,k);b=function(a){return f.call(this,a,k)};b.source="function("+(c.variable||"obj")+"){\n"+a+"}";return b};k.chain=function(a){return k(a).chain()};var x=function(a){this._wrapped=a};k.prototype=x.prototype;
var C=function(a,b){return b?k(a).chain():a},F=function(b,c){x.prototype[b]=function(){var b=a.call(arguments);g.call(b,this._wrapped);return C(c.apply(k,b),this._chain)}};k.mixin(k);t(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=b[a];x.prototype[a]=function(){var b=this._wrapped;c.apply(b,arguments);var f=b.length;(a=="shift"||a=="splice")&&f===0&&delete b[0];return C(b,this._chain)}});t(["concat","join","slice"],function(a){var c=b[a];x.prototype[a]=function(){return C(c.apply(this._wrapped,
arguments),this._chain)}});x.prototype.chain=function(){this._chain=!0;return this};x.prototype.value=function(){return this._wrapped};return k}.call({}),emmet=function(e){function d(a,b,d){var l;l=b&&b.hasOwnProperty("constructor")?b.constructor:function(){a.apply(this,arguments)};_.extend(l,a);c.prototype=a.prototype;l.prototype=new c;b&&_.extend(l.prototype,b);d&&_.extend(l,d);l.prototype.constructor=l;l.__super__=a.prototype;return l}function h(c){!(c in b)&&a&&a(c);return b[c]}if(typeof _=="undefined")try{_=
e.require("underscore")}catch(i){}if(typeof _=="undefined")throw"Cannot access to Underscore.js lib";var b={_:_},c=function(){},a=null;return{define:function(a,c){a in b||(b[a]=_.isFunction(c)?this.exec(c):c)},require:h,exec:function(a,b){return a.call(b||e,_.bind(h,this),_,this)},extend:function(a,b){var c=d(this,a,b);c.extend=this.extend;if(a.hasOwnProperty("toString"))c.prototype.toString=a.toString;return c},expandAbbreviation:function(a,b,c,d){if(!a)return"";var b=b||"html",e=h("filters"),i=
h("abbreviationParser"),c=h("profile").get(c,b);h("tabStops").resetTabstopIndex();a=e.extractFromAbbreviation(a);d=i.parse(a[0],{syntax:b,contextNode:d});b=e.composeList(b,c,a[1]);e.apply(d,b,c);return d.toString()},defaultSyntax:function(){return"html"},defaultProfile:function(){return"plain"},log:function(){e.console&&e.console.log&&e.console.log.apply(e.console,arguments)},setModuleLoader:function(b){a=b}}}(this);
if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=emmet;exports.emmet=emmet}typeof define!=="undefined"&&define(emmet);
emmet.define("abbreviationParser",function(e,d){function h(){this.parent=null;this.children=[];this._attributes=[];this.abbreviation="";this.counter=1;this._name=null;this._text="";this.repeatCount=1;this.hasImplicitRepeat=!1;this._data={};this.padding=this.content=this.end=this.start=""}function i(a){return a.substring(1,a.length-1)}function b(a){for(var a=e("utils").trim(a),c=new h,f=c.addChild(),g,j=e("stringStream").create(a),a=1E3,l;!j.eol()&&--a>0;)switch(g=j.peek(),g){case "(":j.start=j.pos;
if(j.skipToPair("(",")"))g=b(i(j.current())),(l=j.match(/^\*(\d+)?/,!0))&&f._setRepeat(l[1]),d.each(g.children,function(a){f.addChild(a)});else throw'Invalid abbreviation: mo matching ")" found for character at '+j.pos;break;case ">":f=f.addChild();j.next();break;case "+":f=f.parent.addChild();j.next();break;case "^":g=f.parent||f;f=(g.parent||g).addChild();j.next();break;default:j.start=j.pos,j.eatWhile(function(a){if(a=="["||a=="{"){if(j.skipToPair(a,p[a]))return j.backUp(1),!0;throw'Invalid abbreviation: mo matching "'+
p[a]+'" found for character at '+j.pos;}return a=="+"?(j.next(),a=j.eol()||~"+>^*".indexOf(j.peek()),j.backUp(1),a):a!="("&&n(a)}),f.setAbbreviation(j.current()),j.start=j.pos}if(a<1)throw"Endless loop detected";return c}function c(a){var a=e("utils").trim(a),b=[],a=e("stringStream").create(a);for(a.eatSpace();!a.eol();)if(a.start=a.pos,a.eatWhile(o)){var c=a.current(),f="";if(a.peek()=="="){a.next();a.start=a.pos;var d=a.peek();if(d=='"'||d=="'"){a.next();a:{for(var f=a,g=void 0;g=f.next();)if(g===
d){f=!0;break a}f=!1}if(f)f=a.current(),f=f.substring(1,f.length-1);else throw"Invalid attribute value";}else if(a.eatWhile(/[^\s\]]/))f=a.current();else throw"Invalid attribute value";}b.push({name:c,value:f});a.eatSpace()}else break;return b}function a(a){for(var b=[],f={"#":"id",".":"class"},d=null,j=e("stringStream").create(a);!j.eol();)switch(j.peek()){case "#":case ".":if(d===null)d=j.pos;var l=f[j.peek()];j.next();j.start=j.pos;j.eatWhile(o);b.push({name:l,value:j.current()});break;case "[":if(d===
null)d=j.pos;j.start=j.pos;if(!j.skipToPair("[","]"))throw"Invalid attribute set definition";b=b.concat(c(i(j.current())));break;default:j.next()}return!b.length?null:{element:a.substring(0,d),attributes:g(b)}}function g(a){var a=d.map(a,function(a){return d.clone(a)}),b={};return d.filter(a,function(a){if(!(a.name in b))return b[a.name]=a;var c=b[a.name];a.name.toLowerCase()=="class"?c.value+=(c.value.length?" ":"")+a.value:c.value=a.value;return!1})}function f(a){if(!~a.indexOf("{"))return null;
for(var b=e("stringStream").create(a);!b.eol();)switch(b.peek()){case "[":case "(":b.skipToPair(b.peek(),p[b.peek()]);break;case "{":return b.start=b.pos,b.skipToPair("{","}"),{element:a.substring(0,b.start),text:i(b.current())};default:b.next()}}function j(a){for(var b=a.children.length-1,c,f,g;b>=0;b--)if(f=a.children[b],f.isRepeating()){g=c=f.repeatCount;f.repeatCount=1;f.updateProperty("counter",1);for(f.updateProperty("maxCount",g);--c>0;)f.parent.addChild(f.clone(),b+1).updateProperty("counter",
c+1).updateProperty("maxCount",g)}d.each(a.children,j);return a}function l(a){for(var b=a.children.length-1;b>=0;b--){var c=a.children[b];c.isGroup()?c.replace(l(c).children):c.isEmpty()&&c.remove()}d.each(a.children,l);return a}function n(a){var b=a.charCodeAt(0);return b>64&&b<91||b>96&&b<123||b>47&&b<58||"#.*:$-_!@|%".indexOf(a)!=-1}var m=/^[\w\-\$\:@\!%]+\+?$/i,o=/[\w\-:\$@]/,p={"[":"]","(":")","{":"}"},r=Array.prototype.splice,q=[],u=[],s=[];h.prototype={addChild:function(a,b){a=a||new h;a.parent=
this;d.isUndefined(b)?this.children.push(a):this.children.splice(b,0,a);return a},clone:function(){var a=new h;d.each(["abbreviation","counter","_name","_text","repeatCount","hasImplicitRepeat","start","end","content","padding"],function(b){a[b]=this[b]},this);a._attributes=d.map(this._attributes,function(a){return d.clone(a)});a._data=d.clone(this._data);a.children=d.map(this.children,function(b){b=b.clone();b.parent=a;return b});return a},remove:function(){if(this.parent)this.parent.children=d.without(this.parent.children,
this);return this},replace:function(){var a=this.parent,b=d.indexOf(a.children,this),c=d.flatten(arguments);r.apply(a.children,[b,1].concat(c));d.each(c,function(b){b.parent=a})},updateProperty:function(a,b){this[a]=b;d.each(this.children,function(c){c.updateProperty(a,b)});return this},find:function(a){return this.findAll(a)[0]},findAll:function(a){if(!d.isFunction(a))var b=a.toLowerCase(),a=function(a){return a.name().toLowerCase()==b};var c=[];d.each(this.children,function(b){a(b)&&c.push(b);c=
c.concat(b.findAll(a))});return d.compact(c)},data:function(a,b){if(arguments.length==2&&(this._data[a]=b,a=="resource"&&e("elements").is(b,"snippet")&&(this.content=b.data,this._text)))this.content=e("abbreviationUtils").insertChildContent(b.data,this._text);return this._data[a]},name:function(){var a=this.matchedResource();return e("elements").is(a,"element")?a.name:this._name},attributeList:function(){var a=[],b=this.matchedResource();e("elements").is(b,"element")&&d.isArray(b.attributes)&&(a=
a.concat(b.attributes));return g(a.concat(this._attributes))},attribute:function(a,b){if(arguments.length==2){var c=d.indexOf(d.pluck(this._attributes,"name"),a.toLowerCase());~c?this._attributes[c].value=b:this._attributes.push({name:a,value:b})}return(d.find(this.attributeList(),function(b){return b.name==a})||{}).value},matchedResource:function(){return this.data("resource")},index:function(){return this.parent?d.indexOf(this.parent.children,this):-1},_setRepeat:function(a){a?this.repeatCount=
parseInt(a,10)||1:this.hasImplicitRepeat=!0},setAbbreviation:function(b){var c=this;this.abbreviation=b=(b||"").replace(/\*(\d+)?$/,function(a,b){c._setRepeat(b);return""});var d=f(b);if(d)b=d.element,this.content=this._text=d.text;if(d=a(b))b=d.element,this._attributes=d.attributes;if((this._name=b)&&!m.test(this._name))throw"Invalid abbreviation";},toString:function(){var a=e("utils"),b=this.start,c=this.end,f=this.content,g=this;d.each(s,function(a){b=a(b,g,"start");f=a(f,g,"content");c=a(c,g,
"end")});var j=d.map(this.children,function(a){return a.toString()}).join(""),f=e("abbreviationUtils").insertChildContent(f,j,{keepVariable:!1});return b+a.padString(f,this.padding)+c},hasEmptyChildren:function(){return!!d.find(this.children,function(a){return a.isEmpty()})},hasImplicitName:function(){return!this._name&&!this.isTextNode()},isGroup:function(){return!this.abbreviation},isEmpty:function(){return!this.abbreviation&&!this.children.length},isRepeating:function(){return this.repeatCount>
1||this.hasImplicitRepeat},isTextNode:function(){return!this.name()&&!this.attributeList().length},isElement:function(){return!this.isEmpty()&&!this.isTextNode()},deepestChild:function(){if(!this.children.length)return null;for(var a=this;a.children.length;)a=d.last(a.children);return a}};s.push(function(a,b){return e("utils").replaceCounter(a,b.counter,b.maxCount)});return{parse:function(a,c){var c=c||{},f=b(a);if(c.contextNode){f._name=c.contextNode.name;var g={};d.each(f._attributes,function(a){g[a.name]=
a});d.each(c.contextNode.attributes,function(a){a.name in g?g[a.name].value=a.value:(a=d.clone(a),f._attributes.push(a),g[a.name]=a)})}d.each(q,function(a){a(f,c)});f=l(j(f));d.each(u,function(a){a(f,c)});return f},AbbreviationNode:h,addPreprocessor:function(a){d.include(q,a)||q.push(a)},removeFilter:function(a){preprocessor=d.without(q,a)},addPostprocessor:function(a){d.include(u,a)||u.push(a)},removePostprocessor:function(a){u=d.without(u,a)},addOutputProcessor:function(a){d.include(s,a)||s.push(a)},
removeOutputProcessor:function(a){s=d.without(s,a)},isAllowedChar:function(a){a=String(a);return n(a)||~">+^[](){}".indexOf(a)}}});
emmet.exec(function(e,d){function h(i,b){var c=e("resources"),a=e("elements"),g=e("abbreviationParser");d.each(d.clone(i.children),function(f){var j=c.getMatchedResource(f,b);if(d.isString(j))f.data("resource",a.create("snippet",j));else if(a.is(j,"reference")){j=g.parse(j.data,{syntax:b});if(f.repeatCount>1){var e=j.findAll(function(a){return a.hasImplicitRepeat});d.each(e,function(a){a.repeatCount=f.repeatCount;a.hasImplicitRepeat=!1})}var i=j.deepestChild();i&&d.each(f.children,function(a){i.addChild(a)});
d.each(j.children,function(a){d.each(f.attributeList(),function(b){a.attribute(b.name,b.value)})});f.replace(j.children)}else f.data("resource",j);h(f,b)})}e("abbreviationParser").addPreprocessor(function(d,b){var c=b.syntax||emmet.defaultSyntax();h(d,c)})});
emmet.exec(function(e,d){function h(a){for(var b=e("range"),c=[],a=e("stringStream").create(a);!a.eol();){if(a.peek()=="\\")a.next();else if(a.start=a.pos,a.match(g,!0)){c.push(b.create(a.start,g));continue}a.next()}return c}function i(a,b){var c=e("utils"),g=h(a);g.reverse();d.each(g,function(d){a=c.replaceSubstring(a,b,d)});return a}function b(a){return h(a.content).length?!0:!!d.find(a.attributeList(),function(a){return!!h(a.value).length})}function c(a,c,g){var h=a.findAll(function(a){return b(a)});
b(a)&&h.unshift(a);h.length?d.each(h,function(a){a.content=i(a.content,c);d.each(a._attributes,function(a){a.value=i(a.value,c)})}):(a=a.deepestChild()||a,a.content=g?c:e("abbreviationUtils").insertChildContent(a.content,c))}var a=e("abbreviationParser"),g="$#";a.addPreprocessor(function(a,b){if(b.pastedContent){var c=e("utils"),g=d.map(c.splitByLines(b.pastedContent,!0),c.trim);a.findAll(function(a){if(a.hasImplicitRepeat)return a.data("paste",g),a.repeatCount=g.length})}});a.addPostprocessor(function(a,
b){!a.findAll(function(a){var b=a.data("paste"),f="";d.isArray(b)?f=b[a.counter-1]:d.isFunction(b)?f=b(a.counter-1,a.content):b&&(f=b);f&&c(a,f,!!a.data("pasteOverwrites"));a.data("paste",null);return!!b}).length&&b.pastedContent&&c(a,b.pastedContent)})});emmet.exec(function(e,d){function h(i){var b=e("tagName");d.each(i.children,function(c){if(c.hasImplicitName()||c.data("forceNameResolving"))c._name=b.resolve(c.parent.name());h(c)});return i}e("abbreviationParser").addPostprocessor(h)});
emmet.define("cssParser",function(e,d){function h(a){return typeof a!=="undefined"}function i(){return{"char":f.chnum,line:f.linenum}}function b(a,b,c){var d=f,c=c||{};j.push({charstart:h(c["char"])?c["char"]:d.chnum,charend:h(c.charend)?c.charend:d.chnum,linestart:h(c.line)?c.line:d.linenum,lineend:h(c.lineend)?c.lineend:d.linenum,value:a,type:b||a})}function c(a,b){var c=f,d=b||{},g=h(d["char"])?d["char"]:c.chnum,d=h(d.line)?d.line:c.linenum;return{name:"ParseError",message:a+" at line "+(d+1)+
" char "+(g+1),walker:c,tokens:j}}function a(a){var c=f,d=c.ch,g=i(),j=a?a+d:d,d=c.nextChar();for(a&&(g["char"]-=a.length);n(d)||m(d);)j+=d,d=c.nextChar();b(j,"identifier",g)}function g(){var d=f.ch;if(d===" "||d==="\t"){for(var g=f.ch,j="",e=i();g===" "||g==="\t";)j+=g,g=f.nextChar();b(j,"white",e)}else{if(d==="/"){var g=f,d=e=g.ch,h,s=i();h=g.nextChar();if(h!=="*")s.charend=s["char"],s.lineend=s.line,j=b(d,d,s);else{for(;!(e==="*"&&h==="/");)d+=h,e=h,h=g.nextChar();d+=h;g.nextChar();b(d,"comment",
s)}return j}if(d==='"'||d==="'"){g=f;d=e=j=g.ch;s=i();for(j=g.nextChar();j!==e;){if(j==="\n")if(h=g.nextChar(),h==="\\")d+=j+h;else throw c("Unterminated string",s);else d+=j==="\\"?j+g.nextChar():j;j=g.nextChar()}d+=j;g.nextChar();b(d,"string",s)}else if(d==="("){g=f;j=g.ch;e=0;d=j;h=i();for(j=g.nextChar();j!==")"&&!e;){if(j==="(")e++;else if(j===")")e--;else if(j===!1)throw c("Unterminated brace",h);d+=j;j=g.nextChar()}d+=j;g.nextChar();b(d,"brace",h)}else{if(d==="-"||d==="."||m(d)){j=f;e=j.ch;
d=i();h=e;var s=h===".",v,e=j.nextChar();v=!m(e);if(s&&v)d.charend=d["char"],d.lineend=d.line,g=b(h,".",d);else if(h==="-"&&v)g=a("-");else{for(;e!==!1&&(m(e)||!s&&e===".");)e==="."&&(s=!0),h+=e,e=j.nextChar();b(h,"number",d)}return g}if(n(d))return a();if(l(d))return g=f,d=g.ch,j=i(),h=g.nextChar(),h==="="&&l(d,!0)?(d+=h,b(d,"match",j),g.nextChar(),e=void 0):(j.charend=j["char"]+1,j.lineend=j.line,b(d,d,j)),e;if(d==="\n")b("line"),f.nextChar();else throw c("Unrecognized character");}}}var f,j=[],
l,n,m;f={lines:null,total_lines:0,linenum:-1,line:"",ch:"",chnum:-1,init:function(a){var b=f;b.lines=a.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n");b.total_lines=b.lines.length;b.chnum=-1;b.linenum=-1;b.ch="";b.line="";b.nextLine();b.nextChar()},nextLine:function(){this.linenum+=1;this.line=this.total_lines<=this.linenum?!1:this.lines[this.linenum];if(this.chnum!==-1)this.chnum=0;return this.line},nextChar:function(){for(this.chnum+=1;this.line.charAt(this.chnum)==="";){if(this.nextLine()===
!1)return this.ch=!1;this.chnum=-1;return this.ch="\n"}return this.ch=this.line.charAt(this.chnum)},peek:function(){return this.line.charAt(this.chnum+1)}};n=function(a){return a=="&"||a==="_"||a==="-"||a>="a"&&a<="z"||a>="A"&&a<="Z"};m=function(a){return a!==!1&&a>="0"&&a<="9"};l=function(){for(var a="{}[]()+*=.,;:>~|\\%$#@^!".split(""),b="*^|$~".split(""),c={},d={},f=0;f<a.length;f+=1)c[a[f]]=!0;for(f=0;f<b.length;f+=1)d[b[f]]=!0;return function(a,b){return b?!!d[a]:!!c[a]}}();return{lex:function(a){f.init(a);
for(j=[];f.ch!==!1;)g();return j},parse:function(a){var b=0;return d.map(this.lex(a),function(c){if(c.type=="line")c.value=a.charAt(b)=="\r"&&a.charAt(b+1)=="\n"?"\r\n":a.charAt(b);return{type:c.type,start:b,end:b+=c.value.length}})},toSource:function(a){for(var b=0,c=a.length,d,f="";b<c;b+=1)d=a[b],f+=d.type==="line"?"\n":d.value;return f}}});
emmet.define("xmlParser",function(e){function d(a,d){function f(b){d.tokenize=b;return b(a,d)}var g=a.next();if(g=="<")if(a.eat("!"))return a.eat("[")?a.match("CDATA[")?f(b("atom","]]\>")):null:a.match("--")?f(b("comment","--\>")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),f(c(1))):null;else if(a.eat("?"))return a.eatWhile(/[\w\._\-]/),d.tokenize=b("meta","?>"),"meta";else{w=a.eat("/")?"closeTag":"openTag";a.eatSpace();for(v="";g=a.eat(/[^\s\u00a0=<>\"\'\/?]/);)v+=g;d.tokenize=h;return"tag"}else return g==
"&"?(a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"))?"atom":"error":(a.eatWhile(/[^&<]/),"text")}function h(a,b){var c=a.next();return c==">"||c=="/"&&a.eat(">")?(b.tokenize=d,w=c==">"?"endTag":"selfcloseTag","tag"):c=="="?(w="equals",null):/[\'\"]/.test(c)?(b.tokenize=i(c),b.tokenize(a,b)):(a.eatWhile(/[^\s\u00a0=<>\"\'\/?]/),"word")}function i(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=h;break}return"string"}}
function b(a,b){return function(c,f){for(;!c.eol();){if(c.match(b)){f.tokenize=d;break}c.next()}return a}}function c(a){return function(b,f){for(var g;(g=b.next())!=null;)if(g=="<")return f.tokenize=c(a+1),f.tokenize(b,f);else if(g==">")if(a==1){f.tokenize=d;break}else return f.tokenize=c(a-1),f.tokenize(b,f);return"meta"}}function a(){for(var a=arguments.length-1;a>=0;a--)k.cc.push(arguments[a])}function g(){a.apply(null,arguments);return!0}function f(){if(k.context)k.context=k.context.prev}function j(a){if(a==
"openTag")return k.tagName=v,g(o,l(k.startOfLine));else if(a=="closeTag")return a=!1,k.context?k.context.tagName!=v&&(s.implicitlyClosed.hasOwnProperty(k.context.tagName.toLowerCase())&&f(),a=!k.context||k.context.tagName!=v):a=!0,a&&(t="error"),g(n(a));return g()}function l(a){return function(b){if(b=="selfcloseTag"||b=="endTag"&&s.autoSelfClosers.hasOwnProperty(k.tagName.toLowerCase()))return m(k.tagName.toLowerCase()),g();if(b=="endTag"){m(k.tagName.toLowerCase());var b=k.tagName,c=s.doNotIndent.hasOwnProperty(b)||
k.context&&k.context.noIndent;k.context={prev:k.context,tagName:b,indent:k.indented,startOfLine:a,noIndent:c}}return g()}}function n(a){return function(b){a&&(t="error");if(b=="endTag")return f(),g();t="error";return g(arguments.callee)}}function m(a){for(var b;;){if(!k.context)break;b=k.context.tagName.toLowerCase();if(!s.contextGrabbers.hasOwnProperty(b)||!s.contextGrabbers[b].hasOwnProperty(a))break;f()}}function o(b){if(b=="word")return t="attribute",g(p,o);if(b=="endTag"||b=="selfcloseTag")return a();
t="error";return g(o)}function p(b){if(b=="equals")return g(r,o);s.allowMissing||(t="error");return b=="endTag"||b=="selfcloseTag"?a():g()}function r(b){if(b=="string")return g(q);if(b=="word"&&s.allowUnquoted)return t="string",g();t="error";return b=="endTag"||b=="selfCloseTag"?a():g()}function q(b){return b=="string"?g(q):a()}function u(a,b){if(a.sol())b.startOfLine=!0,b.indented=0;if(a.eatSpace())return null;t=w=v=null;var c=b.tokenize(a,b);b.type=w;if((c||w)&&c!="comment")for(k=b;;)if((b.cc.pop()||
j)(w||c))break;b.startOfLine=!1;return t||c}var s={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!0,allowMissing:!0},v=null,w=null,k=null,t;return{parse:function(a,b){for(var b=b||0,c={tokenize:d,cc:[],indented:0,startOfLine:!0,tagName:null,context:null},f=e("stringStream").create(a),g=[];!f.eol();)g.push({type:u(f,c),start:f.start+b,end:f.pos+b}),f.start=f.pos;return g}}});
emmet.define("string-score",function(){return{score:function(e,d,h){if(e==d)return 1;if(d=="")return 0;for(var i=0,b=d.length,c=e.length,a,g=1,f=0,j,l,n,m;f<b;++f){n=d.charAt(f);j=e.indexOf(n.toLowerCase());l=e.indexOf(n.toUpperCase());m=Math.min(j,l);l=m>-1?m:Math.max(j,l);if(l===-1)if(h){g+=1-h;continue}else return 0;else j=0.1;e[l]===n&&(j+=0.1);l===0?(j+=0.6,f===0&&(a=1)):e.charAt(l-1)===" "&&(j+=0.8);e=e.substring(l+1,c);i+=j}e=i/b;b=(e*(b/c)+e)/2;b/=g;a&&b+0.15<1&&(b+=0.15);return b}}});
emmet.define("utils",function(e,d){function h(b){this._data=[];this.length=0;b&&this.append(b)}var i="${0}";h.prototype={append:function(b){this._data.push(b);this.length+=b.length},toString:function(){return this._data.join("")},valueOf:function(){return this.toString()}};return{reTag:/<\/?[\w:\-]+(?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*\s*(\/?)>$/,endsWithTag:function(b){return this.reTag.test(b)},isNumeric:function(b){typeof b=="string"&&(b=b.charCodeAt(0));return b&&b>47&&
b<58},trim:function(b){return(b||"").replace(/^\s+|\s+$/g,"")},getNewline:function(){var b=e("resources");if(!b)return"\n";b=b.getVariable("newline");return d.isString(b)?b:"\n"},setNewline:function(b){var c=e("resources");c.setVariable("newline",b);c.setVariable("nl",b)},splitByLines:function(b,c){var a=this.getNewline(),a=(b||"").replace(/\r\n/g,"\n").replace(/\n\r/g,"\n").replace(/\r/g,"\n").replace(/\n/g,a).split(a);c&&(a=d.filter(a,function(a){return a.length&&!!this.trim(a)},this));return a},
normalizeNewline:function(b){return this.splitByLines(b).join(this.getNewline())},repeatString:function(b,c){for(var a=[],d=0;d<c;d++)a.push(b);return a.join("")},getStringsPads:function(b){var b=d.map(b,function(a){return d.isString(a)?a.length:+a}),c=d.max(b);return d.map(b,function(a){return(a=c-a)?this.repeatString(" ",a):""},this)},padString:function(b,c){var a=d.isNumber(c)?this.repeatString(e("resources").getVariable("indentation")||"\t",c):c,g=[],f=this.splitByLines(b),j=this.getNewline();
g.push(f[0]);for(var h=1;h<f.length;h++)g.push(j+a+f[h]);return g.join("")},zeroPadString:function(b,c){for(var a="",d=b.length;c>d++;)a+="0";return a+b},unindentString:function(b,c){for(var a=this.splitByLines(b),d=0;d<a.length;d++)a[d].search(c)==0&&(a[d]=a[d].substr(c.length));return a.join(this.getNewline())},replaceUnescapedSymbol:function(b,c,a){for(var g=0,f=b.length,j=c.length,e=0;g<f;)if(b.charAt(g)=="\\")g+=j+1;else if(b.substr(g,j)==c){var h=j;e++;var i=a;if(d.isFunction(a))(i=a(b,c,g,
e))?(h=i[0].length,i=i[1]):i=!1;i===!1?g++:(b=b.substring(0,g)+i+b.substring(g+h),f=b.length,g+=i.length)}else g++;return b},replaceVariables:function(b,c){var c=c||{},a=d.isFunction(c)?c:function(a,b){return b in c?c[b]:null},g=e("resources");return e("tabStops").processText(b,{variable:function(b){var c=a(b.token,b.name,b);c===null&&(c=g.getVariable(b.name));if(c===null||d.isUndefined(c))c=b.token;return c}})},replaceCounter:function(b,c,a){b=String(b);c=String(c);/^\-?\d+$/.test(c)&&(c=+c);var g=
this;return this.replaceUnescapedSymbol(b,"$",function(b,j,e){if(b.charAt(e+1)=="{"||g.isNumeric(b.charAt(e+1)))return!1;for(j=e+1;b.charAt(j)=="$"&&b.charAt(j+1)!="{";)j++;var h=j-e,i=0,o=!1,p;if(p=b.substr(j).match(/^@(\-?)(\d*)/))j+=p[0].length,p[1]&&(o=!0),i=parseInt(p[2]||1)-1;o&&a&&d.isNumber(c)&&(c=a-c+1);c+=i;return[b.substring(e,j),g.zeroPadString(c+"",h)]})},matchesTag:function(b){return this.reTag.test(b||"")},escapeText:function(b){return b.replace(/([\$\\])/g,"\\$1")},unescapeText:function(b){return b.replace(/\\(.)/g,
"$1")},getCaretPlaceholder:function(){return d.isFunction(i)?i.apply(this,arguments):i},setCaretPlaceholder:function(b){i=b},getLinePadding:function(b){return(b.match(/^(\s+)/)||[""])[0]},getLinePaddingFromPosition:function(b,c){return this.getLinePadding(this.findNewlineBounds(b,c).substring(b))},escapeForRegexp:function(b){return b.replace(RegExp("[.*+?|()\\[\\]{}\\\\]","g"),"\\$&")},prettifyNumber:function(b,c){return b.toFixed(typeof c=="undefined"?2:c).replace(/\.?0+$/,"")},stringBuilder:function(b){return new h(b)},
replaceSubstring:function(b,c,a,g){if(d.isObject(a)&&"end"in a)g=a.end,a=a.start;d.isString(g)&&(g=a+g.length);d.isUndefined(g)&&(g=a);return a<0||a>b.length?b:b.substring(0,a)+c+b.substring(g)},narrowToNonSpace:function(b,c,a){c=e("range").create(c,a);for(a=/[\s\n\r\u00a0]/;c.start<c.end;){if(!a.test(b.charAt(c.start)))break;c.start++}for(;c.end>c.start;)if(c.end--,!a.test(b.charAt(c.end))){c.end++;break}return c},findNewlineBounds:function(b,c){for(var a=b.length,d=0,f=a-1,j=c-1;j>0;j--){var h=
b.charAt(j);if(h=="\n"||h=="\r"){d=j+1;break}}for(j=c;j<a;j++)if(h=b.charAt(j),h=="\n"||h=="\r"){f=j;break}return e("range").create(d,f-d)},deepMerge:function(){var b,c,a,g,f,j=arguments[0]||{},e=1,h=arguments.length;for(!d.isObject(j)&&!d.isFunction(j)&&(j={});e<h;e++)if((b=arguments[e])!=null)for(c in b)a=j[c],g=b[c],j!==g&&(g&&(d.isObject(g)||(f=d.isArray(g)))?(f?(f=!1,a=a&&d.isArray(a)?a:[]):a=a&&d.isObject(a)?a:{},j[c]=this.deepMerge(a,g)):g!==void 0&&(j[c]=g));return j}}});
emmet.define("range",function(e,d){function h(b,c,a){switch(a){case "eq":case "==":return b===c;case "lt":case "<":return b<c;case "lte":case "<=":return b<=c;case "gt":case ">":return b>c;case "gte":case ">=":return b>=c}}function i(b,c){d.isObject(b)&&"start"in b?(this.start=Math.min(b.start,b.end),this.end=Math.max(b.start,b.end)):d.isArray(b)?(this.start=b[0],this.end=b[1]):(c=d.isString(c)?c.length:+c,this.start=b,this.end=b+c)}i.prototype={length:function(){return Math.abs(this.end-this.start)},
equal:function(b){return this.cmp(b,"eq","eq")},shift:function(b){this.start+=b;this.end+=b;return this},overlap:function(b){return b.start<=this.end&&b.end>=this.start},intersection:function(b){if(this.overlap(b)){var c=Math.max(b.start,this.start);return new i(c,Math.min(b.end,this.end)-c)}return null},union:function(b){if(this.overlap(b)){var c=Math.min(b.start,this.start);return new i(c,Math.max(b.end,this.end)-c)}return null},inside:function(b){return this.cmp(b,"lte","gt")},contains:function(b){return this.cmp(b,
"lt","gt")},include:function(){return this.cmp(loc,"lte","gte")},cmp:function(b,c,a){var d;b instanceof i?(d=b.start,b=b.end):d=b;return h(this.start,d,c||"<=")&&h(this.end,b,a||">")},substring:function(b){return this.length()>0?b.substring(this.start,this.end):""},clone:function(){return new i(this.start,this.length())},toArray:function(){return[this.start,this.end]},toString:function(){return"{"+this.start+", "+this.length()+"}"}};return{create:function(b,c){if(d.isUndefined(b)||b===null)return null;
if(b instanceof i)return b;if(d.isObject(b)&&"start"in b&&"end"in b)c=b.end-b.start,b=b.start;return new i(b,c)},create2:function(b,c){d.isNumber(b)&&d.isNumber(c)&&(c-=b);return this.create(b,c)}}});
emmet.define("handlerList",function(e,d){function h(){this._list=[]}h.prototype={add:function(e,b){this._list.push(d.extend({order:0},b||{},{fn:e}))},remove:function(e){this._list=d.without(this._list,d.find(this._list,function(b){return b.fn===e}))},list:function(){return d.sortBy(this._list,"order").reverse()},listFn:function(){return d.pluck(this.list(),"fn")},exec:function(e,b){var b=b||[],c=null;d.find(this.list(),function(a){c=a.fn.apply(a,b);if(c!==e)return!0});return c}};return{create:function(){return new h}}});
emmet.define("tokenIterator",function(e,d){function h(d){this.tokens=d;this._position=0;this.reset()}h.prototype={next:function(){if(this.hasNext()){var d=this.tokens[++this._i];this._position=d.start;return d}return null},current:function(){return this.tokens[this._i]},position:function(){return this._position},hasNext:function(){return this._i<this._il-1},reset:function(){this._i=-1;this._il=this.tokens.length},item:function(){return this.tokens[this._i]},itemNext:function(){return this.tokens[this._i+
1]},itemPrev:function(){return this.tokens[this._i-1]},nextUntil:function(e,b){for(var c,a=d.isString(e)?function(a){return a.type==e}:e;c=this.next();)if(b&&b.call(this,c),a.call(this,c))break}};return{create:function(d){return new h(d)}}});
emmet.define("stringStream",function(){function e(d){this.pos=this.start=0;this.string=d}e.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(d){var e=this.string.charAt(this.pos);if(typeof d=="string"?e==d:e&&(d.test?d.test(e):d(e)))return++this.pos,e},eatWhile:function(d){for(var e=this.pos;this.eat(d););
return this.pos>e},eatSpace:function(){for(var d=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>d},skipToEnd:function(){this.pos=this.string.length},skipTo:function(d){d=this.string.indexOf(d,this.pos);if(d>-1)return this.pos=d,!0},skipToPair:function(d,e){for(var i=0,b,c=this.pos,a=this.string.length;c<a;)if(b=this.string.charAt(c++),b==d)i++;else if(b==e&&(i--,i<1))return this.pos=c,!0;return!1},backUp:function(d){this.pos-=d},match:function(d,e,i){if(typeof d==
"string"){if(i=i?function(b){return b.toLowerCase()}:function(b){return b},i(this.string).indexOf(i(d),this.pos)==this.pos)return e!==!1&&(this.pos+=d.length),!0}else return(d=this.string.slice(this.pos).match(d))&&e!==!1&&(this.pos+=d[0].length),d},current:function(){return this.string.slice(this.start,this.pos)}};return{create:function(d){return new e(d)}}});
emmet.define("resources",function(e,d){function h(a,c,d){var g=e("utils"),c=g.replaceUnescapedSymbol(c,"|",g.getCaretPlaceholder());if(d=="snippets")return e("elements").create("snippet",c);if(d=="abbreviations"){d=c;e("utils").trim(a);var a=e("elements"),h;return(h=b.exec(d))?a.create("element",h[1],h[2],h[4]=="/"):a.create("reference",d)}}var i={},b=/^<(\w+\:?[\w\-]*)((?:\s+[\w\:\-]+\s*=\s*(['"]).*?\3)*)\s*(\/?)>/,c={},a={},g=e("handlerList").create();return{setVocabulary:function(b,d){i={};d==
"system"?c=b:a=b},getVocabulary:function(b){return b=="system"?c:a},getMatchedResource:function(a,b){return g.exec(null,d.toArray(arguments))||this.findSnippet(b,a.name())},getVariable:function(a){return(this.getSection("variables")||{})[a]},setVariable:function(a,b){var c=this.getVocabulary("user")||{};if(!("variables"in c))c.variables={};c.variables[a]=b;this.setVocabulary(c,"user")},hasSyntax:function(a){return a in this.getVocabulary("user")||a in this.getVocabulary("system")},addResolver:function(a,
b){g.add(a,b)},removeResolver:function(a){g.remove(a)},getSection:function(b){if(!b)return null;b in i||(i[b]=e("utils").deepMerge({},c[b],a[b]));for(var g=i[b],h=d.rest(arguments),n;g&&(n=h.shift());)if(n in g)g=g[n];else return null;return g},findItem:function(a,b){for(var c=this.getSection(a);c;){if(b in c)return c[b];c=this.getSection(c["extends"])}},findSnippet:function(a,b,c){if(!a||!b)return null;var c=c||[],g=[b];~b.indexOf("-")&&g.push(b.replace(/\-/g,":"));var e=this.getSection(a),i=null;
d.find(["snippets","abbreviations"],function(b){var c=this.getSection(a,b);if(c)return d.find(g,function(a){if(c[a])return i=h(a,c[a],b)})},this);c.push(a);return!i&&e["extends"]&&!d.include(c,e["extends"])?this.findSnippet(e["extends"],b,c):i},fuzzyFindSnippet:function(a,b,c){var c=c||0.3,a=this.getAllSnippets(a),g=e("string-score"),b=b.replace(/:$/,"").replace(/:/g,"-"),h=d.map(a,function(a,c){return{key:c,score:g.score(a.nk,b,0.1)}});if((h=d.last(d.sortBy(h,"score")))&&h.score>=c)return a[h.key].parsedValue},
getAllSnippets:function(a){var b="all-"+a;if(!i[b]){var c=[],g=[];do{var e=this.getSection(a);if(!e)break;d.each(["snippets","abbreviations"],function(a){var b={};d.each(e[a]||null,function(c,d){b[d]={nk:d.replace(/:$/,"").replace(/:/g,"-"),value:c,parsedValue:h(d,c,a),type:a}});c.push(b)});g.push(a);a=e["extends"]}while(a&&!d.include(g,a));i[b]=d.extend.apply(d,c.reverse())}return i[b]}}});
emmet.define("actions",function(e,d){function h(b){return e("utils").trim(b.charAt(0).toUpperCase()+b.substring(1).replace(/_[a-z]/g,function(b){return" "+b.charAt(1).toUpperCase()}))}var i={};return{add:function(b,c,a){b=b.toLowerCase();a=a||{};if(!a.label)a.label=h(b);i[b]={name:b,fn:c,options:a}},get:function(b){return i[b.toLowerCase()]},run:function(b,c){d.isArray(c)||(c=d.rest(arguments));var a=this.get(b);return a?a.fn.apply(emmet,c):(emmet.log('Action "%s" is not defined',b),!1)},getAll:function(){return i},
getList:function(){return d.values(this.getAll())},getMenu:function(b){var c=[],b=b||[];d.each(this.getList(),function(a){if(!a.options.hidden&&!d.include(b,a.name)){var g=h(a.name),f=c;if(a.options.label)for(var j=a.options.label.split("/"),g=j.pop(),e,i;e=j.shift();)i=d.find(f,function(a){return a.type=="submenu"&&a.name==e}),i||(i={name:e,type:"submenu",items:[]},f.push(i)),f=i.items;f.push({type:"action",name:a.name,label:g})}});return c},getActionNameForMenuTitle:function(b,c){var a=null;d.find(c||
this.getMenu(),function(c){if(c.type=="action"){if(c.label==b||c.name==b)return a=c.name}else return a=this.getActionNameForMenuTitle(b,c.items)},this);return a||null}}});
emmet.define("profile",function(e,d){function h(a){d.extend(this,g,a)}function i(a,b){switch(String(b||"").toLowerCase()){case "lower":return a.toLowerCase();case "upper":return a.toUpperCase()}return a}function b(b,c){return a[b.toLowerCase()]=new h(c)}function c(){b("xhtml");b("html",{self_closing_tag:!1});b("xml",{self_closing_tag:!0,tag_nl:!0});b("plain",{tag_nl:!1,indent:!1,place_cursor:!1});b("line",{tag_nl:!1,indent:!1,extraFilters:"s"})}var a={},g={tag_case:"asis",attr_case:"asis",attr_quotes:"double",
tag_nl:"decide",tag_nl_leaf:!1,place_cursor:!0,indent:!0,inline_break:3,self_closing_tag:"xhtml",filters:"",extraFilters:""};h.prototype={tagName:function(a){return i(a,this.tag_case)},attributeName:function(a){return i(a,this.attr_case)},attributeQuote:function(){return this.attr_quotes=="single"?"'":'"'},selfClosing:function(){return this.self_closing_tag=="xhtml"?" /":this.self_closing_tag===!0?"/":""},cursor:function(){return this.place_cursor?e("utils").getCaretPlaceholder():""}};c();return{create:function(a,
c){return arguments.length==2?b(a,c):new h(d.defaults(a||{},g))},get:function(b,c){if(!b&&c){var g=e("resources").findItem(c,"profile");g&&(b=g)}return!b?a.plain:b instanceof h?b:d.isString(b)&&b.toLowerCase()in a?a[b.toLowerCase()]:this.create(b)},remove:function(b){b=(b||"").toLowerCase();b in a&&delete a[b]},reset:function(){a={};c()},stringCase:i}});
emmet.define("editorUtils",function(e){return{isInsideTag:function(d,e){for(var i=/^<\/?\w[\w\:\-]*.*?>/,b=e;b>-1;){if(d.charAt(b)=="<")break;b--}return b!=-1&&(i=i.exec(d.substring(b)))&&e>b&&e<b+i[0].length?!0:!1},outputInfo:function(d,e,i){i=i||d.getProfileName();return{syntax:String(e||d.getSyntax()),profile:i?String(i):null,content:String(d.getContent())}},unindent:function(d,h){return e("utils").unindentString(h,this.getCurrentLinePadding(d))},getCurrentLinePadding:function(d){return e("utils").getLinePadding(d.getCurrentLine())}}});
emmet.define("actionUtils",function(e){return{mimeTypes:{gif:"image/gif",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",svg:"image/svg+xml",html:"text/html",htm:"text/html"},extractAbbreviation:function(d){for(var h=d.length,i=-1,b=0,c=0,a=0,g=e("utils"),f=e("abbreviationParser");;){h--;if(h<0){i=0;break}var j=d.charAt(h);if(j=="]")c++;else if(j=="["){if(!c){i=h+1;break}c--}else if(j=="}")a++;else if(j=="{"){if(!a){i=h+1;break}a--}else if(j==")")b++;else if(j=="("){if(!b){i=h+1;break}b--}else if(!c&&
!a&&(!f.isAllowedChar(j)||j==">"&&g.endsWithTag(d.substring(0,h+1)))){i=h+1;break}}return i!=-1&&!a&&!c&&!b?d.substring(i).replace(/^[\*\+\>\^]+/,""):""},getImageSize:function(d){var e=function(){return d.charCodeAt(i++)};if(d.substr(0,8)==="\u0089PNG\r\n\u001a\n"){var i=d.indexOf("IHDR")+4;return{width:e()<<24|e()<<16|e()<<8|e(),height:e()<<24|e()<<16|e()<<8|e()}}else if(d.substr(0,4)==="GIF8")return i=6,{width:e()|e()<<8,height:e()|e()<<8};else if(d.substr(0,2)==="\u00ff\u00d8")for(var i=2,b=d.length;i<
b;){if(e()!=255)break;var c=e();if(c==218)break;var a=e()<<8|e();if(c>=192&&c<=207&&!(c&4)&&!(c&8))return i+=1,{height:e()<<8|e(),width:e()<<8|e()};else i+=a-2}},captureContext:function(d){if(String(d.getSyntax())in{html:1,xml:1,xsl:1}){var h=String(d.getContent()),i=e("htmlMatcher").find(h,d.getCaretPos());if(i&&i.type=="tag"){for(var d=/([\w\-:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,i=i.open,h=i.range.substring(h).replace(/^<[\w\-\:]+/,""),i={name:i.name,attributes:[]},
b;b=d.exec(h);)i.attributes.push({name:b[1],value:b[2]});return i}}return null},findExpressionBounds:function(d,h){for(var i=String(d.getContent()),b=i.length,c=d.getCaretPos()-1,a=c+1;c>=0&&h(i.charAt(c),c,i);)c--;for(;a<b&&h(i.charAt(a),a,i);)a++;if(a>c)return e("range").create([++c,a])},compoundUpdate:function(d,e){if(e){var i=d.getSelectionRange();d.replaceContent(e.data,e.start,e.end,!0);d.createSelection(e.caret,e.caret+i.end-i.start);return!0}return!1},detectSyntax:function(d,h){var i=h||"html";
e("resources").hasSyntax(i)||(i="html");if(i=="html"&&(this.isStyle(d)||this.isInlineCSS(d)))i="css";return i},detectProfile:function(d){var h=d.getSyntax(),i=e("resources").findItem(h,"profile");if(i)return i;switch(h){case "xml":case "xsl":return"xml";case "css":if(this.isInlineCSS(d))return"line";break;case "html":return(i=e("resources").getVariable("profile"))||(i=this.isXHTML(d)?"xhtml":"html"),i}return"xhtml"},isXHTML:function(d){return d.getContent().search(/<!DOCTYPE[^>]+XHTML/i)!=-1},isStyle:function(d){var h=
String(d.getContent()),d=d.getCaretPos();return(h=e("htmlMatcher").tag(h,d))&&h.open.name.toLowerCase()=="style"&&h.innerRange.cmp(d,"lte","gte")},isInlineCSS:function(d){var h=String(d.getContent()),d=d.getCaretPos();return(h=e("xmlEditTree").parseFromPosition(h,d,!0))?(h=h.itemFromPosition(d,!0))&&h.name().toLowerCase()=="style"&&h.valueRange(!0).cmp(d,"lte","gte"):!1}}});
emmet.define("abbreviationUtils",function(e,d){return{isSnippet:function(d){return e("elements").is(d.matchedResource(),"snippet")},isUnary:function(d){return d.children.length||d._text||this.isSnippet(d)?!1:(d=d.matchedResource())&&d.is_empty},isInline:function(d){return d.isTextNode()||!d.name()||e("tagName").isInlineLevel(d.name())},isBlock:function(d){return this.isSnippet(d)||!this.isInline(d)},isSnippet:function(d){return e("elements").is(d.matchedResource(),"snippet")},hasTagsInContent:function(d){return e("utils").matchesTag(d.content)},
hasBlockChildren:function(e){return this.hasTagsInContent(e)&&this.isBlock(e)||d.any(e.children,function(d){return this.isBlock(d)},this)},insertChildContent:function(h,i,b){var b=d.extend({keepVariable:!0,appendIfNoChild:!0},b||{}),c=!1,a=e("utils"),h=a.replaceVariables(h,function(d,f,e){var l=d;f=="child"&&(l=a.padString(i,a.getLinePaddingFromPosition(h,e.start)),c=!0,b.keepVariable&&(l+=d));return l});!c&&b.appendIfNoChild&&(h+=i);return h}}});
emmet.define("base64",function(){return{encode:function(e){for(var d=[],h,i,b,c,a,g,f=0,j=e.length;f<j;)c=e.charCodeAt(f++),a=e.charCodeAt(f++),g=e.charCodeAt(f++),h=c&255,i=a&255,b=g&255,c=h>>2,h=(h&3)<<4|i>>4,i=(i&15)<<2|b>>6,b&=63,isNaN(a)?i=b=64:isNaN(g)&&(b=64),d.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(i)+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(b));return d.join("")},decode:function(e){var d,h,i,b,c,a=0,g=0,f=[],j=e.length;if(!e)return e;e+="";do d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),
i=d<<18|h<<12|b<<6|c,d=i>>16&255,h=i>>8&255,i&=255,b==64?f[g++]=String.fromCharCode(d):c==64?f[g++]=String.fromCharCode(d,h):f[g++]=String.fromCharCode(d,h,i);while(a<j);return f.join("")}}});
emmet.define("htmlMatcher",function(e,d){function h(b){var d={},j;return{open:function(a){return(a=this.matches(a))&&a.type=="open"?a:null},close:function(a){return(a=this.matches(a))&&a.type=="close"?a:null},matches:function(h){var i="p"+h;if(!(i in d)&&b.charAt(h)=="<"){var m=b.slice(h);d[i]=(j=m.match(c))?{name:j[1],selfClose:!!j[3],range:e("range").create(h,j[0]),type:"open"}:(j=m.match(a))?{name:j[1],range:e("range").create(h,j[0]),type:"close"}:!1}return d[i]},text:function(){return b}}}function i(a,
b,c){return a.substring(b,b+c.length)==c}function b(a,b){for(var c=[],e=null,h=b.text(),m=a.range.end,o=h.length;m<o;m++){if(i(h,m,"<\!--"))for(e=m;e<o;e++)if(i(h,e,"--\>")){m=e+3;break}if(e=b.matches(m))if(e.type=="open"&&!e.selfClose)c.push(e.name);else if(e.type=="close"){if(!c.length)return e.name==a.name?e:null;if(d.last(c)==e.name)c.pop();else{for(var p=!1;c.length&&!p;)c.pop()==e.name&&(p=!0);if(!c.length&&!p)return e.name==a.name?e:null}}}}var c=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,
a=/^<\/([\w\:\-]+)[^>]*>/;return{find:function(a,c){for(var j=e("range"),l=h(a),n=null,m=null,o=c;o>=0;o--)if(n=l.open(o))if(n.selfClose){if(n.range.cmp(c,"lt","gt"))break}else{if(m=b(n,l)){if(j.create2(n.range.start,m.range.end).contains(c))break}else if(n.range.contains(c))break;n=null}else if(i(a,o,"--\>"))for(var p=o-1;p>=0;p--)if(i(a,p,"--\>"))break;else{if(i(a,p,"<\!--")){o=p;break}}else if(i(a,o,"<\!--")){p=o+4;for(n=a.length;p<n;p++)if(i(a,p,"--\>")){p+=3;break}n={range:e("range").create(o,
d.isNumber(p)?p-o:p[0]),type:"comment"};break}if(n)return p=o=null,m?(o=j.create2(n.range.start,m.range.end),p=j.create2(n.range.end,m.range.start)):o=p=j.create2(n.range.start,n.range.end),n.type=="comment"&&(j=o.substring(a),p.start+=j.length-j.replace(/^<\!--\s*/,"").length,p.end-=j.length-j.replace(/\s*--\>$/,"").length),{open:n,close:m,type:n.type=="comment"?"comment":"tag",innerRange:p,innerContent:function(){return this.innerRange.substring(a)},outerRange:o,outerContent:function(){return this.outerRange.substring(a)},
range:!p.length()||!p.cmp(c,"lte","gte")?o:p,content:function(){return this.range.substring(a)},source:a}},tag:function(a,b){var c=this.find(a,b);if(c&&c.type=="tag")return c}}});
emmet.define("tabStops",function(e,d){var h=100,i=0,b={replaceCarets:!1,escape:function(b){return"\\"+b},tabstop:function(b){return b.token},variable:function(b){return b.token}};e("abbreviationParser").addOutputProcessor(function(b,a){var d=0,f=e("tabStops"),j=e("utils"),h={tabstop:function(a){var b=parseInt(a.group);if(b==0)return"${0}";b>d&&(d=b);return a.placeholder?(b+=i,a=f.processText(a.placeholder,h),"${"+b+":"+a+"}"):"${"+(b+i)+"}"}},b=f.processText(b,h),b=j.replaceVariables(b,f.variablesResolver(a));
i+=d+1;return b});return{extract:function(c,a){var g=e("utils"),f={carets:""},j=[],a=d.extend({},b,a,{tabstop:function(a){var b=a.token,c="";if(a.placeholder=="cursor")j.push({start:a.start,end:a.start+b.length,group:"carets",value:""});else{if("placeholder"in a)f[a.group]=a.placeholder;a.group in f&&(c=f[a.group]);j.push({start:a.start,end:a.start+b.length,group:a.group,value:c})}return b}});a.replaceCarets&&(c=c.replace(RegExp(g.escapeForRegexp(g.getCaretPlaceholder()),"g"),"${0:cursor}"));var c=
this.processText(c,a),h=g.stringBuilder(),i=0,g=d.map(j,function(a){h.append(c.substring(i,a.start));var b=h.length,d=f[a.group]||"";h.append(d);i=a.end;return{group:a.group,start:b,end:b+d.length}});h.append(c.substring(i));return{text:h.toString(),tabstops:d.sortBy(g,"start")}},processText:function(c,a){for(var a=d.extend({},b,a),g=e("utils").stringBuilder(),f=e("stringStream").create(c),j,h;j=f.next();)if(j=="\\"&&!f.eol())g.append(a.escape(f.next()));else{h=j;if(j=="$")if(f.start=f.pos-1,f.match(/^[0-9]+/))h=
a.tabstop({start:g.length,group:f.current().substr(1),token:f.current()});else if(j=f.match(/^\{([a-z_\-][\w\-]*)\}/))h=a.variable({start:g.length,name:j[1],token:f.current()});else if(j=f.match(/^\{([0-9]+)(:.+?)?\}/,!1)){f.skipToPair("{","}");h={start:g.length,group:j[1],token:f.current()};if(j=h.token.substring(h.group.length+2,h.token.length-1))h.placeholder=j.substr(1);h=a.tabstop(h)}g.append(h)}return g.toString()},upgrade:function(b,a){var g=0,f={tabstop:function(b){var c=parseInt(b.group);
c>g&&(g=c);return b.placeholder?"${"+(c+a)+":"+b.placeholder+"}":"${"+(c+a)+"}"}};d.each(["start","end","content"],function(a){b[a]=this.processText(b[a],f)},this);return g},variablesResolver:function(b){var a={},g=e("resources");return function(f,j){if(j=="child")return f;if(j=="cursor")return e("utils").getCaretPlaceholder();var i=b.attribute(j);if(!d.isUndefined(i)&&i!==f)return i;if(i=g.getVariable(j))return i;a[j]||(a[j]=h++);return"${"+a[j]+":"+j+"}"}},resetTabstopIndex:function(){i=0;h=100}}});
emmet.define("preferences",function(e,d){var h={},i={},b=null,c=null;return{define:function(a,b,c){var e=a;d.isString(a)&&(e={},e[a]={value:b,description:c});d.each(e,function(a,b){i[b]=d.isObject(a)&&"value"in a&&d.keys(a).length<3?a:{value:a}})},set:function(a,b){var c=a;d.isString(a)&&(c={},c[a]=b);d.each(c,function(a,b){if(!(b in i))throw'Property "'+b+'" is not defined. You should define it first with `define` method of current module';if(a!==i[b].value){switch(typeof i[b].value){case "boolean":var c=
a;d.isString(c)?(c=c.toLowerCase(),a=c=="yes"||c=="true"||c=="1"):a=!!c;break;case "number":a=parseInt(a+"",10)||0;break;default:a!==null&&(a+="")}h[b]=a}else b in h&&delete h[b]})},get:function(a){if(a in h)return h[a];if(a in i)return i[a].value},getArray:function(a){a=this.get(a);if(d.isUndefined(a)||a===null||a==="")return null;a=d.map(a.split(","),e("utils").trim);return!a.length?null:a},getDict:function(a){var b={};d.each(this.getArray(a),function(a){a=a.split(":");b[a[0]]=a[1]});return b},
description:function(a){return a in i?i[a].description:void 0},remove:function(a){d.isArray(a)||(a=[a]);d.each(a,function(a){a in h&&delete h[a];a in i&&delete i[a]})},list:function(){return d.map(d.keys(i).sort(),function(a){return{name:a,value:this.get(a),type:typeof i[a].value,description:i[a].description}},this)},load:function(a){d.each(a,function(a,b){this.set(b,a)},this)},exportModified:function(){return d.clone(h)},reset:function(){h={}},_startTest:function(){b=i;c=h;i={};h={}},_stopTest:function(){i=
b;h=c}}});
emmet.define("filters",function(e,d){function h(b){return!b?[]:d.isString(b)?b.split(/[\|,]/g):b}var i={};return{add:function(b,c){i[b]=c},apply:function(b,c,a){var g=e("utils"),a=e("profile").get(a);d.each(h(c),function(c){(c=g.trim(c.toLowerCase()))&&c in i&&(b=i[c](b,a))});return b},composeList:function(b,c,a){c=e("profile").get(c);b=h(c.filters||e("resources").findItem(b,"filters")||"html");c.extraFilters&&(b=b.concat(h(c.extraFilters)));a&&(b=b.concat(h(a)));if(!b||!b.length)b=h("html");return b},
extractFromAbbreviation:function(b){var c="",b=b.replace(/\|([\w\|\-]+)$/,function(a,b){c=b;return""});return[b,h(c)]}}});
emmet.define("elements",function(e,d){function h(a){return{data:a}}var i={},b=/([\w\-]+)\s*=\s*(['"])(.*?)\2/g,c={add:function(a,b){var c=this;i[a]=function(){var d=b.apply(c,arguments);if(d)d.type=a;return d}},get:function(a){return i[a]},create:function(a){var b=[].slice.call(arguments,1),c=this.get(a);return c?c.apply(this,b):null},is:function(a,b){return a&&a.type===b}};c.add("element",function(a,c,f){var e={name:a,is_empty:!!f};if(c)if(e.attributes=[],d.isArray(c))e.attributes=c;else if(d.isString(c))for(;a=
b.exec(c);)e.attributes.push({name:a[1],value:a[3]});else d.each(c,function(a,b){e.attributes.push({name:b,value:a})});return e});c.add("snippet",h);c.add("reference",h);c.add("empty",function(){return{}});return c});
emmet.define("editTree",function(e,d,h){function i(a,b){this.options=d.extend({offset:0},b);this.source=a;this._children=[];this._positions={name:0};this.initialize.apply(this,arguments)}function b(a,b,c){this.parent=a;this._name=b.value;this._value=c?c.value:"";this._positions={name:b.start,value:c?c.start:-1};this.initialize.apply(this,arguments)}var c=e("range").create;i.extend=h.extend;i.prototype={initialize:function(){},_updateSource:function(a,b,f){var j=c(b,d.isUndefined(f)?0:f-b),h=a.length-
j.length(),i=function(a){d.each(a,function(b,c){b>=j.end&&(a[c]+=h)})};i(this._positions);d.each(this.list(),function(a){i(a._positions)});this.source=e("utils").replaceSubstring(this.source,a,j)},add:function(a,c){var d=new b(a,c);this._children.push(d);return d},get:function(a){return d.isNumber(a)?this.list()[a]:d.isString(a)?d.find(this.list(),function(b){return b.name()===a}):a},getAll:function(a){d.isArray(a)||(a=[a]);var b=[],c=[];d.each(a,function(a){d.isString(a)?b.push(a):d.isNumber(a)&&
c.push(a)});return d.filter(this.list(),function(a,e){return d.include(c,e)||d.include(b,a.name())})},value:function(a,b,c){var e=this.get(a);if(e)return e.value(b);if(!d.isUndefined(b))return this.add(a,b,c)},values:function(a){return d.map(this.getAll(a),function(a){return a.value()})},remove:function(a){if(a=this.get(a))this._updateSource("",a.fullRange()),this._children=d.without(this._children,a)},list:function(){return this._children},indexOf:function(a){return d.indexOf(this.list(),this.get(a))},
name:function(a){if(!d.isUndefined(a)&&this._name!==(a=String(a)))this._updateSource(a,this._positions.name,this._positions.name+this._name.length),this._name=a;return this._name},nameRange:function(a){return c(this._positions.name+(a?this.options.offset:0),this.name())},range:function(a){return c(a?this.options.offset:0,this.toString())},itemFromPosition:function(a,b){return d.find(this.list(),function(c){return c.range(b).inside(a)})},toString:function(){return this.source}};b.extend=h.extend;b.prototype=
{initialize:function(){},_pos:function(a,b){return a+(b?this.parent.options.offset:0)},value:function(a){if(!d.isUndefined(a)&&this._value!==(a=String(a)))this.parent._updateSource(a,this.valueRange()),this._value=a;return this._value},name:function(a){if(!d.isUndefined(a)&&this._name!==(a=String(a)))this.parent._updateSource(a,this.nameRange()),this._name=a;return this._name},namePosition:function(a){return this._pos(this._positions.name,a)},valuePosition:function(a){return this._pos(this._positions.value,
a)},range:function(a){return c(this.namePosition(a),this.toString())},fullRange:function(a){return this.range(a)},nameRange:function(a){return c(this.namePosition(a),this.name())},valueRange:function(a){return c(this.valuePosition(a),this.value())},toString:function(){return this.name()+this.value()},valueOf:function(){return this.toString()}};return{EditContainer:i,EditElement:b,createToken:function(a,b,c){a={start:a||0,value:b||"",type:c};a.end=a.start+a.value.length;return a}}});
emmet.define("cssEditTree",function(e,d){function h(a,b){return e("range").create(a,b)}function i(a,b){var b=b||g|f,c=["white","line"];if((b&f)==f)for(;a.length&&d.include(c,d.last(a).type);)a.pop();if((b&g)==g)for(;a.length&&d.include(c,a[0].type);)a.shift();return a}function b(a){var b=["white","line",":"],c=[],e,j;a.nextUntil(function(){return!d.include(b,this.itemNext().type)});for(j=a.current().end;e=a.next();){if(e.type=="}"||e.type==";")return i(c,g|(e.type=="}"?f:0)),c.length?(j=c[0].start,
a=d.last(c).end):a=j,h(j,a-j);c.push(e)}if(c.length)return h(c[0].start,d.last(c).end-c[0].start)}function c(a){var b=e("stringStream").create(a),c=[],f=/[\s\u00a0,]/,g=function(){b.next();c.push(h(b.start,b.current()));b.start=b.pos};b.eatSpace();for(b.start=b.pos;a=b.next();)if(a=='"'||a=="'"){b.next();if(!b.skipTo(a))break;g()}else if(a=="("){b.backUp(1);if(!b.skipToPair("(",")"))break;b.backUp(1);g()}else if(f.test(a))c.push(h(b.start,b.current().length-1)),b.eatWhile(f),b.start=b.pos;g();return d.chain(c).filter(function(a){return!!a.length()}).uniq(!1,
function(a){return a.toString()}).value()}var a={styleBefore:"\n\t",styleSeparator:": ",offset:0},g=1,f=2,j=e("editTree").EditContainer.extend({initialize:function(c){d.defaults(this.options,a);var f=e("editTree"),g=e("tokenIterator").create(e("cssParser").parse(c)),j,r=[],q;for(j=g.position();q=g.next();){if(q.type=="{")break;r.push(q)}i(r);r.length?(j=r[0].start,r=d.last(r).end):r=j;j=h(j,r-j);this._positions.name=j.start;this._name=j.substring(c);if(!g.current()||g.current().type!="{")throw"Invalid CSS rule";
for(this._positions.contentStart=g.position()+1;j=g.next();){if(r=j.type=="identifier")a:{r=g.tokens;q=g._i+1;for(var u=r.length;q<u;q++){if(r[q].type==":"){r=!0;break a}if(r[q].type=="identifier"||r[q].type=="line"){r=!1;break a}}r=!1}r&&(j=h(j),r=b(g),q=g.current()&&g.current().type==";"?h(g.current()):h(r.end,0),this._children.push(new l(this,f.createToken(j.start,j.substring(c)),f.createToken(r.start,r.substring(c)),f.createToken(q.start,q.substring(c)))))}this._saveStyle()},_saveStyle:function(){var a=
this._positions.contentStart,b=this.source,c=e("utils");d.each(this.list(),function(f){f.styleBefore=b.substring(a,f.namePosition());var e=c.splitByLines(f.styleBefore);if(e.length>1)f.styleBefore="\n"+d.last(e);f.styleSeparator=b.substring(f.nameRange().end,f.valuePosition());f.styleBefore=d.last(f.styleBefore.split("*/"));f.styleSeparator=f.styleSeparator.replace(/\/\*.*?\*\//g,"");a=f.range().end})},add:function(a,b,c){var f=this.list(),g=this._positions.contentStart,j=d.pick(this.options,"styleBefore",
"styleSeparator"),h=e("editTree");if(d.isUndefined(c))c=f.length;var i=f[c];if(i)g=i.fullRange().start;else if(i=f[c-1])i.end(";"),g=i.range().end;i&&(j=d.pick(i,"styleBefore","styleSeparator"));a=h.createToken(g+j.styleBefore.length,a);b=h.createToken(a.end+j.styleSeparator.length,b);h=new l(this,a,b,h.createToken(b.end,";"));d.extend(h,j);this._updateSource(h.styleBefore+h.toString(),g);this._children.splice(c,0,h);return h}}),l=e("editTree").EditElement.extend({initialize:function(a,b,c,d){this.styleBefore=
a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;this._end=d.value;this._positions.end=d.start},valueParts:function(a){var b=c(this.value());if(a){var f=this.valuePosition(!0);d.each(b,function(a){a.shift(f)})}return b},end:function(a){if(!d.isUndefined(a)&&this._end!==a)this.parent._updateSource(a,this._positions.end,this._positions.end+this._end.length),this._end=a;return this._end},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.value()+this.end()}});return{parse:function(a,b){return new j(a,b)},parseFromPosition:function(a,b,c){c=this.extractRule(a,b,c);return!c||!c.inside(b)?null:this.parse(c.substring(a),{offset:c.start})},extractRule:function(a,b,c){for(var d="",f=a.length,g=-1,j;b>=0;){j=a.charAt(b);if(j=="{"){g=b;break}else if(j=="}"&&!c){b++;break}b--}for(;b<f;){j=a.charAt(b);if(j=="{")g=b;else if(j=="}"){g!=-1&&(d=a.substring(g,b+1));break}b++}if(d){b=g-1;for(c="";b>=0;){j=a.charAt(b);if("{}/\\<>\n\r".indexOf(j)!=
-1)break;b--}c=a.substring(b+1,g).replace(/^[\s\n\r]+/m,"");return e("range").create(g-c.length,d.length+c.length)}return null},baseName:function(a){return a.replace(/^\s*\-\w+\-/,"")},findParts:c}});
emmet.define("xmlEditTree",function(e,d){var h={styleBefore:" ",styleSeparator:"=",styleQuote:'"',offset:0},i=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/m,b=e("editTree").EditContainer.extend({initialize:function(a){d.defaults(this.options,h);this._positions.name=1;var b=null,f=e("xmlParser").parse(a),j=e("range");d.each(f,function(d){d.value=j.create(d).substring(a);switch(d.type){case "tag":if(/^<[^\/]+/.test(d.value))this._name=d.value.substring(1);
break;case "attribute":b&&this._children.push(new c(this,b));b=d;break;case "string":this._children.push(new c(this,b,d)),b=null}},this);b&&this._children.push(new c(this,b));this._saveStyle()},_saveStyle:function(){var a=this.nameRange().end,b=this.source;d.each(this.list(),function(c){c.styleBefore=b.substring(a,c.namePosition());if(c.valuePosition()!==-1)c.styleSeparator=b.substring(c.namePosition()+c.name().length,c.valuePosition()-c.styleQuote.length);a=c.range().end})},add:function(a,b,f){var j=
this.list(),h=this.nameRange().end,i=e("editTree"),m=d.pick(this.options,"styleBefore","styleSeparator","styleQuote");if(d.isUndefined(f))f=j.length;var o=j[f];if(o)h=o.fullRange().start;else if(o=j[f-1])h=o.range().end;o&&(m=d.pick(o,"styleBefore","styleSeparator","styleQuote"));b=m.styleQuote+b+m.styleQuote;a=new c(this,i.createToken(h+m.styleBefore.length,a),i.createToken(h+m.styleBefore.length+a.length+m.styleSeparator.length,b));d.extend(a,m);this._updateSource(a.styleBefore+a.toString(),h);
this._children.splice(f,0,a);return a}}),c=e("editTree").EditElement.extend({initialize:function(a,b,c){this.styleBefore=a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;b="";a=a.options.styleQuote;if(c)b=c.value,a=b.charAt(0),a=='"'||a=="'"?b=b.substring(1):a="",a&&b.charAt(b.length-1)==a&&(b=b.substring(0,b.length-1));this.styleQuote=a;this._value=b;this._positions.value=c?c.start+a.length:-1},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.styleQuote+this.value()+this.styleQuote}});return{parse:function(a,c){return new b(a,c)},parseFromPosition:function(a,b,c){c=this.extractTag(a,b,c);return!c||!c.inside(b)?null:this.parse(c.substring(a),{offset:c.start})},extractTag:function(a,b,c){var d=a.length,h,n=e("range"),m=Math.min(2E3,d),o=null,p=function(b){var c;if(a.charAt(b)=="<"&&(c=a.substr(b,m).match(i)))return n.create(b,c[0])};for(h=b;h>=0;h--)if(o=p(h))break;if(o&&(o.inside(b)||c))return o;if(!o&&c)return null;
for(h=b;h<d;h++)if(o=p(h))return o}}});
emmet.define("expandAbbreviation",function(e,d){var h=e("handlerList").create(),i=null,b=e("actions");b.add("expand_abbreviation",function(b,a,g){var f=d.toArray(arguments),j=e("editorUtils").outputInfo(b,a,g);f[1]=j.syntax;f[2]=j.profile;return h.exec(!1,f)});b.add("expand_abbreviation_with_tab",function(c,a,d){var f=c.getSelection(),j=e("resources").getVariable("indentation");if(f)return d=e("utils"),a=e("range").create(c.getSelectionRange()),f=d.padString(f,j),c.replaceContent(j+"${0}",c.getCaretPos()),
j=e("range").create(c.getCaretPos(),a.length()),c.replaceContent(f,j.start,j.end,!0),c.createSelection(j.start,j.start+f.length),!0;b.run("expand_abbreviation",c,a,d)||c.replaceContent(j,c.getCaretPos());return!0},{hidden:!0});h.add(function(b,a,d){var f=b.getSelectionRange().end,j=i.findAbbreviation(b);return j&&(a=emmet.expandAbbreviation(j,a,d,e("actionUtils").captureContext(b)))?(b.replaceContent(a,f-j.length,f),!0):!1},{order:-1});return i={addHandler:function(b,a){h.add(b,a)},removeHandler:function(b){h.remove(b,
options)},findAbbreviation:function(b){var a=e("range").create(b.getSelectionRange()),d=String(b.getContent());if(a.length())return a.substring(d);b=b.getCurrentLineRange();return e("actionUtils").extractAbbreviation(d.substring(b.start,a.start))}}});
emmet.define("wrapWithAbbreviation",function(e){var d=null;e("actions").add("wrap_with_abbreviation",function(h,i,b,c){var b=e("editorUtils").outputInfo(h,b,c),a=e("utils"),c=e("editorUtils"),i=i||h.prompt("Enter abbreviation");if(!i)return null;var i=String(i),g=e("range").create(h.getSelectionRange());if(!g.length()){g=e("htmlMatcher").tag(b.content,g.start);if(!g)return!1;g=a.narrowToNonSpace(b.content,g.range)}a=a.escapeText(g.substring(b.content));return(i=d.wrap(i,c.unindent(h,a),b.syntax,b.profile,
e("actionUtils").captureContext(h)))?(h.replaceContent(i,g.start,g.end),!0):!1});return d={wrap:function(d,i,b,c,a){var g=e("filters"),f=e("utils"),b=b||emmet.defaultSyntax(),c=e("profile").get(c,b);e("tabStops").resetTabstopIndex();d=g.extractFromAbbreviation(d);return(i=e("abbreviationParser").parse(d[0],{syntax:b,pastedContent:i,contextNode:a}))?(b=g.composeList(b,c,d[1]),g.apply(i,b,c),f.replaceVariables(i.toString())):null}}});
emmet.exec(function(e,d){function h(b,a){var e=a-(b.options.offset||0),f=/^[\s\n\r]/;return d.find(b.list(),function(a){return a.range().end===e?f.test(b.source.charAt(e)):a.range().inside(e)})}function i(b,a,d,f){for(var j=-1,h=-1;a--;)if(b.substr(a,d.length)==d){j=a;break}if(j!=-1){a=j;for(d=b.length;d>=a++;)if(b.substr(a,f.length)==f){h=a+f.length;break}}return j!=-1&&h!=-1?e("range").create(j,h-j):null}function b(b,a,d,f){function j(b){return b.replace(RegExp("^"+p.escapeForRegexp(a)+"\\s*"),
function(a){m-=a.length;return""}).replace(RegExp("\\s*"+p.escapeForRegexp(d)+"$"),"")}var h=e("editorUtils"),n=h.outputInfo(b).content,m=b.getCaretPos(),o=null,p=e("utils");(o=i(n,m,a,d))&&o.overlap(f)?(f=o,o=j(f.substring(n))):(o=a+" "+f.substring(n).replace(RegExp(p.escapeForRegexp(a)+"\\s*|\\s*"+p.escapeForRegexp(d),"g"),"")+" "+d,m+=a.length+1);return o!==null?(o=p.escapeText(o),b.setCaretPos(f.start),b.replaceContent(h.unindent(b,o),f.start,f.end),b.setCaretPos(m),!0):!1}e("actions").add("toggle_comment",
function(c){var a=e("editorUtils").outputInfo(c);if(a.syntax=="css"){var d=c.getCaretPos(),f=e("htmlMatcher").tag(a.content,d);if(f&&f.open.range.inside(d))a.syntax="html"}if(a.syntax=="css"){f=e("range").create(c.getSelectionRange());a=e("editorUtils").outputInfo(c);if(!f.length()&&(d=e("cssEditTree").parseFromPosition(a.content,c.getCaretPos())))f=(f=h(d,c.getCaretPos()))?f.range(!0):e("range").create(d.nameRange(!0).start,d.source);f.length()||(f=e("range").create(c.getCurrentLineRange()),e("utils").narrowToNonSpace(a.content,
f));c=b(c,"/*","*/",f)}else{a=e("range").create(c.getSelectionRange());d=e("editorUtils").outputInfo(c);if(!a.length()&&(d=e("htmlMatcher").tag(d.content,c.getCaretPos())))a=d.outerRange;c=b(c,"<\!--","--\>",a)}return c})});
emmet.exec(function(e){function d(d,e,b){function c(b){for(var c=b;c>=0;){var d=a.charAt(c);if(d=="\n"||d=="\r")break;c--}return a.substring(c,b)}for(var e=e||1,b=d.getCaretPos()+(b||0),a=String(d.getContent()),d=a.length,g=-1,f=/^\s+$/;b<=d&&b>=0;){b+=e;var j=a.charAt(b),l=a.charAt(b+1),n=a.charAt(b-1);switch(j){case '"':case "'":l==j&&n=="="&&(g=b+1);break;case ">":l=="<"&&(g=b+1);break;case "\n":case "\r":f.test(c(b-1))&&(g=b)}if(g!=-1)break}return g}e=e("actions");e.add("prev_edit_point",function(e){var i=
e.getCaretPos(),b=d(e,-1);b==i&&(b=d(e,-1,-2));return b!=-1?(e.setCaretPos(b),!0):!1},{label:"Previous Edit Point"});e.add("next_edit_point",function(e){var i=d(e,1);return i!=-1?(e.setCaretPos(i),!0):!1})});
emmet.exec(function(e,d){function h(a,b,c,d){var f=e("range"),g=e("editorUtils").outputInfo(a).content,j=g.length,h,i=f.create(-1,0),l=f.create(a.getSelectionRange());h=l.start;for(var n=1E5;h>=0&&h<j&&--n>0;){if(f=c(g,h,b)){if(i.equal(f))break;i=f.clone();if(h=d(f.substring(g),f.start,l.clone()))return a.createSelection(h.start,h.end),!0;else h=b?f.start:f.end-1}h+=b?-1:1}return!1}function i(a){var b=!0;return h(a,!1,function(a,c){if(b){b=!1;var d;a:{d=c;for(var e;d>=0;){if(e=f(a,d)){d=e;break a}d--}d=
null}return d}else return f(a,c)},function(a,b,c){return g(a,b,c,!1)})}function b(a){return h(a,!0,f,function(a,b,c){return g(a,b,c,!0)})}function c(b,c,f){var f=f||0,g=e("range"),h=[],k=-1,i="",l="",n,o;d.each(c,function(c){switch(c.type){case "tag":o=b.substring(c.start,c.end);/^<[\w\:\-]/.test(o)&&h.push(g.create({start:c.start+1,end:c.end}));break;case "attribute":k=c.start;i=b.substring(c.start,c.end);break;case "string":h.push(g.create(k,c.end-k)),n=g.create(c),l=n.substring(b),j(l.charAt(0))&&
n.start++,j(l.charAt(l.length-1))&&n.end--,h.push(n),i=="class"&&(h=h.concat(a(n.substring(b),n.start)))}});d.each(h,function(a){a.shift(f)});return d.chain(h).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}function a(a,b){var b=b||0,c=[],d=e("stringStream").create(a),f=e("range");d.eatSpace();d.start=d.pos;for(var g;g=d.next();)if(/[\s\u00a0]/.test(g))c.push(f.create(d.start+b,d.pos-d.start-1)),d.eatSpace(),d.start=d.pos;c.push(f.create(d.start+b,d.pos-
d.start));return c}function g(a,b,f,g){a=c(a,e("xmlParser").parse(a),b);g&&a.reverse();return(b=d.find(a,function(a){return a.equal(f)}))?(g=d.indexOf(a,b),g<a.length-1?a[g+1]:null):g?d.find(a,function(a){return a.start<f.start}):!b&&(g=d.filter(a,function(a){return a.inside(f.end)}),g.length>1)?g[1]:d.find(a,function(a){return a.end>f.end})}function f(a,b){var c;if(a.charAt(b)=="<"&&(c=a.substring(b,a.length).match(p)))return e("range").create(b,c[0])}function j(a){return a=='"'||a=="'"}function l(a){var b=
a.valueRange(!0),c=[a.range(!0),b],f=e("stringStream"),g=e("cssEditTree"),j=e("range"),h=a.value();d.each(a.valueParts(),function(a){var e=a.clone();c.push(e.shift(b.start));var i=f.create(a.substring(h));if(i.match(/^[\w\-]+\(/,!0)){i.start=i.pos;i.skipToPair("(",")");var l=i.current();c.push(j.create(e.start+i.start,l));d.each(g.findParts(l),function(a){c.push(j.create(e.start+i.start+a.start,a.substring(l)))})}});return d.chain(c).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}
function n(a,b,c){var f=null,e=null,g=a.list(),j,h;c?(g.reverse(),j=function(a){return a.range(!0).start<=b.start},h=function(a){return a.start<b.start}):(j=function(a){return a.range(!0).end>=b.end},h=function(a){return a.end>b.start});for(;f=d.find(g,j);){a=l(f);c&&a.reverse();if(e=d.find(a,function(a){return a.equal(b)})){if(e=d.indexOf(a,e),e!=a.length-1){e=a[e+1];break}}else{e=d.filter(a,function(a){return a.inside(b.end)});if(e.length>1){e=e[1];break}if(e=d.find(a,h))break}e=null;b.start=b.end=
c?f.range(!0).start-1:f.range(!0).end+1}return e}function m(a,b,c){a=e("cssEditTree").parse(a,{offset:b});b=a.nameRange(!0);return c.end<b.end?b:n(a,c,!1)}function o(a,b,c){b=e("cssEditTree").parse(a,{offset:b});a=n(b,c,!0);return!a&&(b=b.nameRange(!0),c.start>b.start)?b:a}var p=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,r=e("actions");r.add("select_next_item",function(a){return a.getSyntax()=="css"?h(a,!1,e("cssEditTree").extractRule,m):i(a)});r.add("select_previous_item",
function(a){return a.getSyntax()=="css"?h(a,!0,e("cssEditTree").extractRule,o):b(a)})});
emmet.exec(function(e){function d(c,a){var a=String((a||"out").toLowerCase()),d=e("editorUtils").outputInfo(c),f=e("range").create(c.getSelectionRange()),d=d.content;b&&!b.range.equal(f)&&(b=null);if(b&&f.length())if(a=="in")if(b.type=="tag"&&!b.close)return!1;else if(b.range.equal(b.outerRange))b.range=b.innerRange;else{var j=e("utils").narrowToNonSpace(d,b.innerRange);if((b=i.find(d,j.start+1))&&b.range.equal(f)&&b.outerRange.equal(f))b.range=b.innerRange}else if(!b.innerRange.equal(b.outerRange)&&
b.range.equal(b.innerRange)&&f.equal(b.range))b.range=b.outerRange;else{if((b=i.find(d,f.start))&&b.range.equal(f)&&b.innerRange.equal(f))b.range=b.outerRange}else b=i.find(d,f.start);if(b&&!b.range.equal(f))return c.createSelection(b.range.start,b.range.end),!0;b=null;return!1}var h=e("actions"),i=e("htmlMatcher"),b=null;h.add("match_pair",d,{hidden:!0});h.add("match_pair_inward",function(b){return d(b,"in")},{label:"HTML/Match Pair Tag (inward)"});h.add("match_pair_outward",function(b){return d(b,
"out")},{label:"HTML/Match Pair Tag (outward)"});h.add("matching_pair",function(b){var a=String(b.getContent()),d=b.getCaretPos();a.charAt(d)=="<"&&d++;return(a=i.tag(a,d))&&a.close?(a.open.range.inside(d)?b.setCaretPos(a.close.range.start):b.setCaretPos(a.open.range.start),!0):!1},{label:"HTML/Go To Matching Tag Pair"})});
emmet.exec(function(e){e("actions").add("remove_tag",function(d){var h=e("utils"),i=e("editorUtils").outputInfo(d),b=e("htmlMatcher").tag(i.content,d.getCaretPos());if(b){if(b.close){var c=h.narrowToNonSpace(i.content,b.innerRange),a=h.findNewlineBounds(i.content,c.start),a=h.getLinePadding(a.substring(i.content)),i=c.substring(i.content),i=h.unindentString(i,a);d.replaceContent(h.getCaretPlaceholder()+h.escapeText(i),b.outerRange.start,b.outerRange.end)}else d.replaceContent(h.getCaretPlaceholder(),
b.range.start,b.range.end);return!0}return!1},{label:"HTML/Remove Tag"})});
emmet.exec(function(e){e("actions").add("split_join_tag",function(d,h){var i=e("htmlMatcher"),b=e("editorUtils").outputInfo(d,null,h),c=e("profile").get(b.profile);if(i=i.tag(b.content,d.getCaretPos())){if(i.close){var b=e("utils"),c=c.selfClosing()||" /",c=i.open.range.substring(i.source).replace(/\s*>$/,c+">"),a=d.getCaretPos();c.length+i.outerRange.start<a&&(a=c.length+i.outerRange.start);c=b.escapeText(c);d.replaceContent(c,i.outerRange.start,i.outerRange.end)}else{var b=e("utils"),g=b.getNewline(),
f=e("resources").getVariable("indentation"),a=d.getCaretPos(),c=c.tag_nl===!0?g+f+g:"",g=i.outerContent().replace(/\s*\/>$/,">"),a=i.outerRange.start+g.length;g+=c+"</"+i.open.name+">";g=b.escapeText(g);d.replaceContent(g,i.outerRange.start,i.outerRange.end)}d.setCaretPos(a);i=!0}else i=!1;return i},{label:"HTML/Split\\Join Tag Declaration"})});
emmet.define("reflectCSSValue",function(e,d){function h(c){var a=e("cssEditTree"),d=e("editorUtils").outputInfo(c),c=c.getCaretPos();if(a=a.parseFromPosition(d.content,c))if(d=a.itemFromPosition(c,!0)){var f=a.source,j=a.options.offset,c=c-j-d.range().start;b.exec(!1,[d]);if(f!==a.source)return{data:a.source,start:j,end:j+f.length,caret:j+d.range().start+c}}}function i(b){var b=e("cssEditTree").baseName(b),a;if(b=="opacity"||b=="filter")return/^(?:\-\w+\-)?(?:opacity|filter)$/;else if(a=b.match(/^border-radius-(top|bottom)(left|right)/))return RegExp("^(?:\\-\\w+\\-)?(?:"+
b+"|border-"+a[1]+"-"+a[2]+"-radius)$");else if(a=b.match(/^border-(top|bottom)-(left|right)-radius/))return RegExp("^(?:\\-\\w+\\-)?(?:"+b+"|border-radius-"+a[1]+a[2]+")$");return RegExp("^(?:\\-\\w+\\-)?"+b+"$")}var b=e("handlerList").create();e("actions").add("reflect_css_value",function(b){return b.getSyntax()!="css"?!1:e("actionUtils").compoundUpdate(b,h(b))},{label:"CSS/Reflect Value"});b.add(function(b){var a=i(b.name());d.each(b.parent.list(),function(d){if(a.test(d.name())){var f;var j=b.name(),
h=b.value(),i=d.name();f=d.value();var m=e("cssEditTree"),o=e("utils"),j=m.baseName(j),i=m.baseName(i);f=j=="opacity"&&i=="filter"?f.replace(/opacity=[^)]*/i,"opacity="+Math.floor(parseFloat(h)*100)):j=="filter"&&i=="opacity"?(j=h.match(/opacity=([^)]*)/i))?o.prettifyNumber(parseInt(j[1])/100):f:h;d.value(f)}})},{order:-1});return{addHandler:function(c,a){b.add(c,a)},removeHandler:function(c){b.remove(c,options)}}});
emmet.exec(function(e){e("actions").add("evaluate_math_expression",function(d){var h=e("actionUtils"),i=e("utils"),b=String(d.getContent()),c=e("range").create(d.getSelectionRange());c.length()||(c=h.findExpressionBounds(d,function(a){return i.isNumeric(a)||".+-*/\\".indexOf(a)!=-1}));if(c&&c.length()){h=c.substring(b);h=h.replace(/([\d\.\-]+)\\([\d\.\-]+)/g,"Math.round($1/$2)");try{var a=i.prettifyNumber((new Function("return "+h))());d.replaceContent(a,c.start,c.end);d.setCaretPos(c.start+a.length);
return!0}catch(g){}}return!1},{label:"Numbers/Evaluate Math Expression"})});
emmet.exec(function(e,d){function h(b,a){var g=e("utils"),f=!1,j=!1,h=e("actionUtils").findExpressionBounds(b,function(a,b,c){return g.isNumeric(a)?!0:a=="."?!g.isNumeric(c.charAt(b+1))?!1:j?!1:j=!0:a=="-"?f?!1:f=!0:!1});if(h&&h.length()){var n=h.substring(String(b.getContent())),m=parseFloat(n);if(!d.isNaN(m)){m=g.prettifyNumber(m+a);if(/^(\-?)0+[1-9]/.test(n)){var o="";RegExp.$1&&(o="-",m=m.substring(1));m=m.split(".");m[0]=g.zeroPadString(m[0],i(n));m=o+m.join(".")}b.replaceContent(m,h.start,h.end);
b.createSelection(h.start,h.start+m.length);return!0}}return!1}function i(b){b=b.replace(/^\-/,"");return~b.indexOf(".")?b.split(".")[0].length:b.length}var b=e("actions");d.each([1,-1,10,-10,0.1,-0.1],function(c){var a=c>0?"increment":"decrement";b.add(a+"_number_by_"+String(Math.abs(c)).replace(".","").substring(0,2),function(a){return h(a,c)},{label:"Numbers/"+a.charAt(0).toUpperCase()+a.substring(1)+" number by "+Math.abs(c)})})});
emmet.exec(function(e,d){var h=e("actions"),i=e("preferences");i.define("css.closeBraceIndentation","\n","Indentation before closing brace of CSS rule. Some users prefere indented closing brace of CSS rule for better readability. This preference\u2019s value will be automatically inserted before closing brace when user adds newline in newly created CSS rule (e.g. when \u201cInsert formatted linebreak\u201d action will be performed in CSS file). If you\u2019re such user, you may want to write put a value like <code>\\n\\t</code> in this preference.");
h.add("insert_formatted_line_break_only",function(b){var c=e("utils"),a=e("resources"),g=e("editorUtils").outputInfo(b),f=b.getCaretPos(),j=c.getNewline();if(d.include(["html","xml","xsl"],g.syntax)){if(a=a.getVariable("indentation"),(g=e("htmlMatcher").tag(g.content,f))&&!g.innerRange.length())return b.replaceContent(j+a+c.getCaretPlaceholder()+j,f),!0}else if(g.syntax=="css"&&(g=g.content,f&&g.charAt(f-1)=="{")){var h=i.get("css.closeBraceIndentation"),a=a.getVariable("indentation"),n=g.charAt(f)==
"}";if(!n)for(var m=f,o=g.length,p;m<o;m++){p=g.charAt(m);if(p=="{")break;if(p=="}"){h="";n=!0;break}}n||(h+="}");c=j+a+c.getCaretPlaceholder()+h;b.replaceContent(c,f);return!0}return!1},{hidden:!0});h.add("insert_formatted_line_break",function(b){if(!h.run("insert_formatted_line_break_only",b)){for(var c=e("utils"),a=e("editorUtils").getCurrentLinePadding(b),d=String(b.getContent()),f=b.getCaretPos(),j=d.length,c=c.getNewline(),i="",n=b.getCurrentLineRange().end+1,m;n<j;n++)if(m=d.charAt(n),m==" "||
m=="\t")i+=m;else break;i.length>a.length?b.replaceContent(c+i,f,f,!0):b.replaceContent(c,f)}return!0},{hidden:!0})});
emmet.exec(function(e){e("actions").add("merge_lines",function(d){var h=e("htmlMatcher"),i=e("utils"),b=e("editorUtils").outputInfo(d),c=e("range").create(d.getSelectionRange());if(!c.length()&&(h=h.find(b.content,d.getCaretPos())))c=h.outerRange;if(c.length()){b=c.substring(b.content);b=i.splitByLines(b);for(h=1;h<b.length;h++)b[h]=b[h].replace(/^\s+/,"");b=b.join("").replace(/\s{2,}/," ");h=b.length;b=i.escapeText(b);d.replaceContent(b,c.start,c.end);d.createSelection(c.start,c.start+h);return!0}return!1})});
emmet.exec(function(e){function d(d,b,c){c=c||0;return b.charAt(c)==d.charAt(0)&&b.substr(c,d.length)==d}function h(d,b,c){var a=e("file"),g=e("actionUtils"),f=d.getFilePath();if(f===null)throw"You should save your file before using this action";var j=a.locateFile(f,b);if(j===null)throw"Can't find "+b+" file";a.read(j,function(f,h){if(f)throw"Unable to read "+j+": "+f;var m=e("base64").encode(String(h));if(!m)throw"Can't encode file content to base64";m="data:"+(g.mimeTypes[String(a.getExt(j))]||
"application/octet-stream")+";base64,"+m;d.replaceContent("$0"+m,c,c+b.length)});return!0}e("actions").add("encode_decode_data_url",function(i){var b=String(i.getSelection()),c=i.getCaretPos();if(!b)for(var a=String(i.getContent());c-- >=0;)if(d("src=",a,c)){if(a=a.substr(c).match(/^(src=(["'])?)([^'"<>\s]+)\1?/))b=a[3],c+=a[1].length;break}else if(d("url(",a,c)){if(a=a.substr(c).match(/^(url\((['"])?)([^'"\)\s]+)\1?/))b=a[3],c+=a[1].length;break}if(b)if(d("data:",b))if(a=String(i.prompt("Enter path to file (absolute or relative)"))){var g=
e("file"),f=g.createPath(i.getFilePath(),a);if(!f)throw"Can't save file";g.save(f,e("base64").decode(b.replace(/^data\:.+?;.+?,/,"")));i.replaceContent("$0"+a,c,c+b.length);i=!0}else i=!1;else i=h(i,b,c);else i=!1;return i},{label:"Encode\\Decode data:URL image"})});
emmet.exec(function(e,d){function h(c){var a=c.getCaretPos(),g=e("editorUtils").outputInfo(c),f=e("xmlEditTree").parseFromPosition(g.content,a,!0);f&&(f.name()||"").toLowerCase()=="img"&&b(c,f.value("src"),function(b){if(b){var g=f.range(!0);f.value("width",b.width);f.value("height",b.height,f.indexOf("width")+1);e("actionUtils").compoundUpdate(c,d.extend(g,{data:f.toString(),caret:a}))}})}function i(c){var a=c.getCaretPos(),g=e("editorUtils").outputInfo(c),f=e("cssEditTree").parseFromPosition(g.content,
a,!0);if(f){var g=f.itemFromPosition(a,!0),j;g&&(j=/url\((["']?)(.+?)\1\)/i.exec(g.value()||""))&&b(c,j[2],function(b){if(b){var j=f.range(!0);f.value("width",b.width+"px");f.value("height",b.height+"px",f.indexOf("width")+1);e("actionUtils").compoundUpdate(c,d.extend(j,{data:f.toString(),caret:a}))}})}}function b(b,a,d){var f=e("actionUtils");if(a){if(/^data:/.test(a))return b=e("base64").decode(a.replace(/^data\:.+?;.+?,/,"")),d(f.getImageSize(b));var j=e("file"),h=j.locateFile(b.getFilePath(),
a);if(h===null)throw"Can't find "+a+" file";j.read(h,function(a,b){if(a)throw"Unable to read "+h+": "+a;d(f.getImageSize(String(b)))})}}e("actions").add("update_image_size",function(b){d.include(["css","less","scss"],String(b.getSyntax()))?i(b):h(b);return!0})});
emmet.define("cssResolver",function(e,d){function h(a){var b=a&&a.charCodeAt(0);return a&&a=="."||b>47&&b<58}function i(a){a=e("utils").trim(a);if(~a.indexOf("/*")||/[\n\r]/.test(a))return!1;if(!/^[a-z0-9\-]+\s*\:/i.test(a))return!1;a=e("tabStops").processText(a,{replaceCarets:!0,tabstop:function(){return"value"}});return a.split(":").length==2}function b(a){a.charAt(0)=="-"&&!/^\-[\.\d]/.test(a)&&(a=a.replace(/^\-+/,""));if(a.charAt(0)=="#"){var b=a.replace(/^#+/,"")||"0";if(b.toLowerCase()=="t")a=
"transparent";else{var d=e("utils").repeatString,a=null;switch(b.length){case 1:a=d(b,6);break;case 2:a=d(b,3);break;case 3:a=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+b.charAt(2);break;case 4:a=b+b.substr(0,2);break;case 5:a=b+b.charAt(0);break;default:a=b.substr(0,6)}q.get("css.color.short")&&(b=a.split(""),b[0]==b[1]&&b[2]==b[3]&&b[4]==b[5]&&(a=b[0]+b[2]+b[4]));switch(q.get("css.color.case")){case "upper":a=a.toUpperCase();break;case "lower":a=a.toLowerCase()}a="#"+a}}else a=
c(a);return a}function c(a){var b=q.getDict("css.keywordAliases");return a in b?b[a]:a}function a(a){return d.include(q.getArray("css.keywords"),c(a))}function g(a,b){var c=r[b];c||(c=d.find(r,function(a){return a.prefix==b}));return c&&c.supports(a)}function f(a,b){var c=[];d.each(r,function(b,d){g(a,d)&&c.push(d)});!c.length&&!b&&d.each(r,function(a,b){a.obsolete||c.push(b)});return c}function j(a,b){d.isString(b)&&(b={prefix:b});r[a]=d.extend({},p,b)}function l(a,b){if(b){var c=q.get(b+"."+a);
if(!d.isUndefined(c))return c}return q.get("css."+a)}function n(a,b,c){if(!d.isString(a))a=a.data;if(!i(a))return a;b&&(~a.indexOf(";")?a=a.split(";").join(" !important;"):a+=" !important");b=a.indexOf(":");a=a.substring(0,b).replace(/\s+$/,"")+l("valueSeparator",c)+e("utils").trim(a.substring(b+1));return a.replace(/\s*;\s*$/,l("propertyEnd",c))}function m(a){var b=q.getArray(a);d.each(q.getArray(a+"Addon"),function(a){a.charAt(0)=="-"?b=d.without(b,a.substr(1)):(a.charAt(0)=="+"&&(a=a.substr(1)),
b.push(a))});return b}var o=null,p={prefix:"emmet",obsolete:!1,transformName:function(a){return"-"+this.prefix+"-"+a},properties:function(){return m("css."+this.prefix+"Properties")||[]},supports:function(a){return d.include(this.properties(),a)}},r={},q=e("preferences");q.define("css.valueSeparator",": ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations.");q.define("css.propertyEnd",";","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations.");
q.define("stylus.valueSeparator"," ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations in Stylus dialect.");q.define("stylus.propertyEnd","","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations in Stylus dialect.");q.define("sass.propertyEnd","","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations in SASS dialect.");q.define("css.autoInsertVendorPrefixes",
!0,"Automatically generate vendor-prefixed copies of expanded CSS property. By default, Emmet will generate vendor-prefixed properties only when you put dash before abbreviation (e.g. <code>-bxsh</code>). With this option enabled, you don\u2019t need dashes before abbreviations: Emmet will produce vendor-prefixed properties for you.");var u=d.template("A comma-separated list of CSS properties that may have <code><%= vendor %></code> vendor prefix. This list is used to generate a list of prefixed properties when expanding <code>-property</code> abbreviations. Empty list means that all possible CSS values may have <code><%= vendor %></code> prefix."),
s=d.template("A comma-separated list of <em>additional</em> CSS properties for <code>css.<%= vendor %>Preperties</code> preference. You should use this list if you want to add or remove a few CSS properties to original set. To add a new property, simply write its name, to remove it, precede property with hyphen.<br>For example, to add <em>foo</em> property and remove <em>border-radius</em> one, the preference value will look like this: <code>foo, -border-radius</code>.");d.each({webkit:"animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-clip, background-composite, background-origin, background-size, border-fit, border-horizontal-spacing, border-image, border-vertical-spacing, box-align, box-direction, box-flex, box-flex-group, box-lines, box-ordinal-group, box-orient, box-pack, box-reflect, box-shadow, color-correction, column-break-after, column-break-before, column-break-inside, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-span, column-width, dashboard-region, font-smoothing, highlight, hyphenate-character, hyphenate-limit-after, hyphenate-limit-before, hyphens, line-box-contain, line-break, line-clamp, locale, margin-before-collapse, margin-after-collapse, marquee-direction, marquee-increment, marquee-repetition, marquee-style, mask-attachment, mask-box-image, mask-box-image-outset, mask-box-image-repeat, mask-box-image-slice, mask-box-image-source, mask-box-image-width, mask-clip, mask-composite, mask-image, mask-origin, mask-position, mask-repeat, mask-size, nbsp-mode, perspective, perspective-origin, rtl-ordering, text-combine, text-decorations-in-effect, text-emphasis-color, text-emphasis-position, text-emphasis-style, text-fill-color, text-orientation, text-security, text-stroke-color, text-stroke-width, transform, transition, transform-origin, transform-style, transition-delay, transition-duration, transition-property, transition-timing-function, user-drag, user-modify, user-select, writing-mode, svg-shadow, box-sizing, border-radius",
moz:"animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-inline-policy, binding, border-bottom-colors, border-image, border-left-colors, border-right-colors, border-top-colors, box-align, box-direction, box-flex, box-ordinal-group, box-orient, box-pack, box-shadow, box-sizing, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-width, float-edge, font-feature-settings, font-language-override, force-broken-image-icon, hyphens, image-region, orient, outline-radius-bottomleft, outline-radius-bottomright, outline-radius-topleft, outline-radius-topright, perspective, perspective-origin, stack-sizing, tab-size, text-blink, text-decoration-color, text-decoration-line, text-decoration-style, text-size-adjust, transform, transform-origin, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-focus, user-input, user-modify, user-select, window-shadow, background-clip, border-radius",
ms:"accelerator, backface-visibility, background-position-x, background-position-y, behavior, block-progression, box-align, box-direction, box-flex, box-line-progression, box-lines, box-ordinal-group, box-orient, box-pack, content-zoom-boundary, content-zoom-boundary-max, content-zoom-boundary-min, content-zoom-chaining, content-zoom-snap, content-zoom-snap-points, content-zoom-snap-type, content-zooming, filter, flow-from, flow-into, font-feature-settings, grid-column, grid-column-align, grid-column-span, grid-columns, grid-layer, grid-row, grid-row-align, grid-row-span, grid-rows, high-contrast-adjust, hyphenate-limit-chars, hyphenate-limit-lines, hyphenate-limit-zone, hyphens, ime-mode, interpolation-mode, layout-flow, layout-grid, layout-grid-char, layout-grid-line, layout-grid-mode, layout-grid-type, line-break, overflow-style, perspective, perspective-origin, perspective-origin-x, perspective-origin-y, scroll-boundary, scroll-boundary-bottom, scroll-boundary-left, scroll-boundary-right, scroll-boundary-top, scroll-chaining, scroll-rails, scroll-snap-points-x, scroll-snap-points-y, scroll-snap-type, scroll-snap-x, scroll-snap-y, scrollbar-arrow-color, scrollbar-base-color, scrollbar-darkshadow-color, scrollbar-face-color, scrollbar-highlight-color, scrollbar-shadow-color, scrollbar-track-color, text-align-last, text-autospace, text-justify, text-kashida-space, text-overflow, text-size-adjust, text-underline-position, touch-action, transform, transform-origin, transform-origin-x, transform-origin-y, transform-origin-z, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-select, word-break, word-wrap, wrap-flow, wrap-margin, wrap-through, writing-mode",
o:"dashboard-region, animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, border-image, link, link-source, object-fit, object-position, tab-size, table-baseline, transform, transform-origin, transition, transition-delay, transition-duration, transition-property, transition-timing-function, accesskey, input-format, input-required, marquee-dir, marquee-loop, marquee-speed, marquee-style"},
function(a,b){q.define("css."+b+"Properties",a,u({vendor:b}));q.define("css."+b+"PropertiesAddon","",s({vendor:b}))});q.define("css.unitlessProperties","z-index, line-height, opacity, font-weight, zoom","The list of properties whose values \u200b\u200bmust not contain units.");q.define("css.intUnit","px","Default unit for integer values");q.define("css.floatUnit","em","Default unit for float values");q.define("css.keywords","auto, inherit","A comma-separated list of valid keywords that can be used in CSS abbreviations.");
q.define("css.keywordAliases","a:auto, i:inherit, s:solid, da:dashed, do:dotted, t:transparent","A comma-separated list of keyword aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:keyword_name</code>.");q.define("css.unitAliases","e:em, p:%, x:ex, r:rem","A comma-separated list of unit aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:unit_value</code>.");q.define("css.color.short",!0,"Should color values like <code>#ffffff</code> be shortened to <code>#fff</code> after abbreviation with color was expanded.");
q.define("css.color.case","keep","Letter case of color values generated by abbreviations with color (like <code>c#0</code>). Possible values are <code>upper</code>, <code>lower</code> and <code>keep</code>.");q.define("css.fuzzySearch",!0,"Enable fuzzy search among CSS snippet names. When enabled, every <em>unknown</em> snippet will be scored against available snippet names (not values or CSS properties!). The match with best score will be used to resolve snippet value. For example, with this preference enabled, the following abbreviations are equal: <code>ov:h</code> == <code>ov-h</code> == <code>o-h</code> == <code>oh</code>");
q.define("css.fuzzySearchMinScore",0.3,"The minium score (from 0 to 1) that fuzzy-matched abbreviation should achive. Lower values may produce many false-positive matches, higher values may reduce possible matches.");q.define("css.alignVendor",!1,"If set to <code>true</code>, all generated vendor-prefixed properties will be aligned by real property name.");j("w",{prefix:"webkit"});j("m",{prefix:"moz"});j("s",{prefix:"ms"});j("o",{prefix:"o"});var v=["css","less","sass","scss","stylus"];e("resources").addResolver(function(a,
b){return d.include(v,b)&&a.isElement()?o.expandToSnippet(a.abbreviation,b):null});var w=e("expandAbbreviation");w.addHandler(function(a,b,c){if(!d.include(v,b))return!1;var e=a.getSelectionRange().end,f=w.findAbbreviation(a);return f&&(b=emmet.expandAbbreviation(f,b,c))?(f=e-f.length,c=e,a.getContent().charAt(e)==";"&&b.charAt(b.length-1)==";"&&c++,a.replaceContent(b,f,c),!0):!1});return o={addPrefix:j,supportsPrefix:g,prefixed:function(a,b){return g(a,b)?"-"+b+"-"+a:a},listPrefixes:function(){return d.map(r,
function(a){return a.prefix})},getPrefix:function(a){return r[a]},removePrefix:function(a){a in r&&delete r[a]},extractPrefixes:function(a){if(a.charAt(0)!="-")return{property:a,prefixes:null};for(var b=1,c=a.length,d,e=[];b<c;){d=a.charAt(b);if(d=="-"){b++;break}if(d in r)e.push(d);else{e.length=0;b=1;break}b++}if(b==c-1)b=1,e.length=1;return{property:a.substring(b),prefixes:e.length?e:"all"}},findValuesInAbbreviation:function(b,c){for(var c=c||"css",d=0,f=b.length,j="",g;d<f;){g=b.charAt(d);if(h(g)||
g=="#"||g=="-"&&h(b.charAt(d+1))){j=b.substring(d);break}d++}g=b.substring(0,b.length-j.length);d=e("resources");for(f=[];~g.indexOf("-")&&!d.findSnippet(c,g);){g=g.split("-");var i=g.pop();if(!a(i))break;f.unshift(i);g=g.join("-")}return f.join("-")+j},parseValues:function(c){for(var f=e("stringStream").create(c),j=[],g=null;g=f.next();){if(g=="#")f.match(/^t|[0-9a-f]+/i,!0);else if(g=="-"){if(a(d.last(j))||f.start&&h(c.charAt(f.start-1)))f.start=f.pos;f.match(/^\-?[0-9]*(\.[0-9]+)?[a-z%\.]*/,!0)}else f.match(/^[0-9]*(\.[0-9]*)?[a-z%]*/,
!0);j.push(f.current());f.start=f.pos}return d.map(d.compact(j),b)},extractValues:function(a){var b=this.findValuesInAbbreviation(a);return!b?{property:a,values:null}:{property:a.substring(0,a.length-b.length).replace(/-$/,""),values:this.parseValues(b)}},normalizeValue:function(a,b){var b=(b||"").toLowerCase(),c=q.getArray("css.unitlessProperties");return a.replace(/^(\-?[0-9\.]+)([a-z]*)$/,function(a,f,e){if(!e&&(f=="0"||d.include(c,b)))return f;e?(a=q.getDict("css.unitAliases"),f+=e in a?a[e]:
e):f=f.replace(/\.$/,"")+q.get(~f.indexOf(".")?"css.floatUnit":"css.intUnit");return f})},expand:function(a,b,c){var c=c||"css",j=e("resources"),g=q.get("css.autoInsertVendorPrefixes"),h;if(h=/^(.+)\!$/.test(a))a=RegExp.$1;var l=j.findSnippet(c,a);if(l&&!g)return n(l,h,c);var a=this.extractPrefixes(a),o=this.extractValues(a.property),a=d.extend(a,o);l?a.values=null:l=j.findSnippet(c,a.property);!l&&q.get("css.fuzzySearch")&&(l=j.fuzzyFindSnippet(c,a.property,parseFloat(q.get("css.fuzzySearchMinScore"))));
if(l){if(!d.isString(l))l=l.data}else l=a.property+":${1};";if(!i(l))return l;var m=this.splitSnippet(l),p=[];!b&&a.values&&(b=d.map(a.values,function(a){return this.normalizeValue(a,m.name)},this).join(" ")+";");m.value=b||m.value;var b=a.prefixes=="all"||!a.prefixes&&g?f(m.name,g&&a.prefixes!="all"):a.prefixes,v=[],w;d.each(b,function(a){a in r&&(w=r[a].transformName(m.name),v.push(w),p.push(n(w+":"+m.value,h,c)))});p.push(n(m.name+":"+m.value,h,c));v.push(m.name);if(q.get("css.alignVendor"))var s=
e("utils").getStringsPads(v),p=d.map(p,function(a,b){return s[b]+a});return p},expandToSnippet:function(a,b){var c=this.expand(a,null,b);return d.isArray(c)?c.join("\n"):!d.isString(c)?c.data:String(c)},splitSnippet:function(a){var b=e("utils"),a=b.trim(a);if(a.indexOf(":")==-1)return{name:a,value:"${1};"};a=a.split(":");return{name:b.trim(a.shift()),value:b.trim(a.join(":")).replace(/^(\$\{0\}|\$0)(\s*;?)$/,"${1}$2")}},getSyntaxPreference:l,transformSnippet:n}});
emmet.define("cssGradient",function(e,d){function h(a){return e("utils").trim(a).replace(/\s+/g," ")}function i(a){var a=h(a),b=null,a=a.replace(/^(\w+\(.+?\))\s*/,function(a,c){b=c;return""});b||(a=a.split(" "),b=a[0],a=a[1]||"");var c={color:b};a&&a.replace(/^(\-?[\d\.]+)([a-z%]+)?$/,function(a,b,d){c.position=b;~b.indexOf(".")?d="":d||(d="%");if(d)c.unit=d});return c}function b(a){var b=0;d.each(a,function(c,f){if(!f)return c.position=c.position||0;if(f==a.length-1&&!("position"in c))c.position=
1;if("position"in c){var e=a[b].position||0,j=(c.position-e)/(f-b);d.each(a.slice(b,f),function(a,b){a.position=e+j*b});b=f}})}function c(a){var b=parseFloat(a);if(!d.isNaN(b))switch(b%360){case 0:return"left";case 90:return"bottom";case 180:return"right";case 240:return"top"}return a}function a(a){a=c(a);if(q.test(a))throw"The direction is an angle that can\u2019t be converted.";var b=function(b){return~a.indexOf(b)?"100%":"0"};return b("right")+" "+b("bottom")+", "+b("left")+" "+b("top")}function g(a){var b=
s.getArray("css.gradient.prefixes"),b=b?d.map(b,function(b){return"-"+b+"-"+a}):[];b.push(a);return b}function f(a,b){var c=[],f=e("cssResolver");s.get("css.gradient.fallback")&&~b.toLowerCase().indexOf("background")&&c.push({name:"background-color",value:"${1:"+a.colorStops[0].color+"}"});d.each(s.getArray("css.gradient.prefixes"),function(d){var e=f.prefixed(b,d);if(d=="webkit"&&s.get("css.gradient.oldWebkit"))try{c.push({name:e,value:p.oldWebkitLinearGradient(a)})}catch(j){}c.push({name:e,value:p.toString(a,
d)})});return c.sort(function(a,b){return b.name.length-a.name.length})}function j(a,b,c){var j=a.parent,h=e("utils"),i=e("preferences").get("css.alignVendor"),l=a.styleSeparator,o=a.styleBefore;d.each(j.getAll(g(a.name())),function(b){if(b!=a&&/gradient/i.test(b.value())){if(b.styleSeparator.length<l.length)l=b.styleSeparator;if(b.styleBefore.length<o.length)o=b.styleBefore;j.remove(b)}});if(i){if(o!=a.styleBefore){var m=a.fullRange();j._updateSource(o,m.start,m.start+a.styleBefore.length);a.styleBefore=
o}if(l!=a.styleSeparator)j._updateSource(l,a.nameRange().end,a.valueRange().start),a.styleSeparator=l}var n=a.value();c||(c=e("range").create(0,a.value()));a.value(function(a){return h.replaceSubstring(n,a,c)}(p.toString(b))+"${2}");b=f(b,a.name());if(i){i=d.pluck(b,"value");m=d.pluck(b,"name");i.push(a.value());m.push(a.name());var r=h.getStringsPads(d.map(i,function(a){return a.substring(0,a.indexOf("("))})),q=h.getStringsPads(m);a.name(d.last(q)+a.name());d.each(b,function(a,b){a.name=q[b]+a.name;
a.value=r[b]+a.value});a.value(d.last(r)+a.value())}d.each(b,function(b){j.add(b.name,b.value,j.indexOf(a))})}function l(a){var b=a.value(),c=null;return(a=d.find(a.valueParts(),function(a){return c=p.parse(a.substring(b))}))&&c?{gradient:c,valueRange:a}:null}function n(a,b){var c=s.get("css.gradient.defaultProperty");if(!c)return!1;var j=String(a.getContent()),g=e("range").create(a.getCurrentLineRange()),h=g.substring(j).replace(/^\s+/,function(a){g.start+=a.length;return""}).replace(/\s+$/,function(a){g.end-=
a.length;return""}),j=e("cssResolver");if(h=p.parse(h)){var i=f(h,c);i.push({name:c,value:p.toString(h)+"${2}"});var l=j.getSyntaxPreference("valueSeparator",b),o=j.getSyntaxPreference("propertyEnd",b);if(e("preferences").get("css.alignVendor")){var m=e("utils").getStringsPads(d.map(i,function(a){return a.value.substring(0,a.value.indexOf("("))}));d.each(i,function(a,b){a.value=m[b]+a.value})}i=d.map(i,function(a){return a.name+l+a.value+o});a.replaceContent(i.join("\n"),g.start,g.end);return!0}return!1}
function m(a,b){var c=null,f=e("cssEditTree").parseFromPosition(a,b,!0);f&&((c=f.itemFromPosition(b,!0))||(c=d.find(f.list(),function(a){return a.range(!0).end==b})));return{rule:f,property:c}}var o=["top","to bottom","0deg"],p=null,r=["css","less","sass","scss","stylus","styl"],q=/\d+deg/i,u=/top|bottom|left|right/i,s=e("preferences");s.define("css.gradient.prefixes","webkit, moz, o","A comma-separated list of vendor-prefixes for which values should be generated.");s.define("css.gradient.oldWebkit",
!0,"Generate gradient definition for old Webkit implementations");s.define("css.gradient.omitDefaultDirection",!0,"Do not output default direction definition in generated gradients.");s.define("css.gradient.defaultProperty","background-image","When gradient expanded outside CSS value context, it will produce properties with this name.");s.define("css.gradient.fallback",!1,"With this option enabled, CSS gradient generator will produce <code>background-color</code> property with gradient first color as fallback for old browsers.");
e("expandAbbreviation").addHandler(function(a,b,c){c=e("editorUtils").outputInfo(a,b,c);if(!d.include(r,c.syntax))return!1;var f=a.getCaretPos(),g=c.content,c=m(g,f);if(c.property){var h=l(c.property);if(h){var i=c.rule.options.offset||0,o=i+c.rule.toString().length;if(/[\n\r]/.test(c.property.value())){var p=c.property.valueRange(!0).start+h.valueRange.end,g=e("utils").replaceSubstring(g,";",p),f=m(g,f);f.property&&(h=l(f.property),c=f)}c.property.end(";");var f=c.property.name(),g=e("resources"),
p=e("preferences"),q=g.findSnippet(b,f);!q&&p.get("css.fuzzySearch")&&(q=g.fuzzyFindSnippet(b,f,parseFloat(p.get("css.fuzzySearchMinScore"))));if(q){if(!d.isString(q))q=q.data;b=e("cssResolver").splitSnippet(q).name}else b=void 0;b&&c.property.name(b);j(c.property,h.gradient,h.valueRange);a.replaceContent(c.rule.toString(),i,o,!0);return!0}}return n(a,b)});e("reflectCSSValue").addHandler(function(a){var b=e("utils"),c=l(a);if(!c)return!1;var f=a.value(),j=function(a){return b.replaceSubstring(f,a,
c.valueRange)};d.each(a.parent.getAll(g(a.name())),function(b){if(b!==a){var d=b.value().match(/^\s*(\-([a-z]+)\-)?linear\-gradient/);d?b.value(j(p.toString(c.gradient,d[2]||""))):b.value().match(/\s*\-webkit\-gradient/)&&b.value(j(p.oldWebkitLinearGradient(c.gradient)))}});return!0});return p={parse:function(a){var b=null;e("utils").trim(a).replace(/^([\w\-]+)\((.+?)\)$/,function(a,c,f){c=c.toLowerCase().replace(/^\-[a-z]+\-/,"");if(c=="linear-gradient"||c=="lg"){for(var a=o[0],f=e("stringStream").create(e("utils").trim(f)),
c=[],j;j=f.next();)f.peek()==","?(c.push(f.current()),f.next(),f.eatSpace(),f.start=f.pos):j=="("&&f.skipTo(")");c.push(f.current());c=d.compact(d.map(c,h));if(c.length){if(q.test(c[0])||u.test(c[0]))a=c.shift();b={type:"linear",direction:a,colorStops:d.map(c,i)}}else b=null;return""}return a});return b},oldWebkitLinearGradient:function(c){d.isString(c)&&(c=this.parse(c));if(!c)return null;var f=d.map(c.colorStops,d.clone);d.each(f,function(a){if("position"in a)if(~a.position.indexOf(".")||a.unit==
"%")a.position=parseFloat(a.position)/(a.unit=="%"?100:1);else throw"Can't convert color stop '"+(a.position+(a.unit||""))+"'";});b(f);f=d.map(f,function(a,b){return!a.position&&!b?"from("+a.color+")":a.position==1&&b==f.length-1?"to("+a.color+")":"color-stop("+a.position.toFixed(2).replace(/\.?0+$/,"")+", "+a.color+")"});return"-webkit-gradient(linear, "+a(c.direction)+", "+f.join(", ")+")"},toString:function(a,b){if(a.type=="linear"){var c=(b?"-"+b+"-":"")+"linear-gradient",f=d.map(a.colorStops,
function(a){return a.color+("position"in a?" "+a.position+(a.unit||""):"")});a.direction&&(!s.get("css.gradient.omitDefaultDirection")||!d.include(o,a.direction))&&f.unshift(a.direction);return c+"("+f.join(", ")+")"}}}});emmet.exec(function(e,d){var h=e("handlerList").create(),i=e("resources");d.extend(i,{addGenerator:function(b,c,a){d.isString(b)&&(b=RegExp(b));h.add(function(a,d){var e;return(e=b.exec(a.name()))?c(e,a,d):null},a)}});i.addResolver(function(b,c){return h.exec(null,d.toArray(arguments))})});
emmet.define("tagName",function(e,d){var h={empty:[],blockLevel:"address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,link,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul,h1,h2,h3,h4,h5,h6".split(","),inlineLevel:"a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var".split(",")},
i={p:"span",ul:"li",ol:"li",table:"tr",tr:"td",tbody:"tr",thead:"tr",tfoot:"tr",colgroup:"col",select:"option",optgroup:"option",audio:"source",video:"source",object:"param",map:"area"};return{resolve:function(b){b=(b||"").toLowerCase();return b in i?this.getMapping(b):this.isInlineLevel(b)?"span":"div"},getMapping:function(b){return i[b.toLowerCase()]},isInlineLevel:function(b){return this.isTypeOf(b,"inlineLevel")},isBlockLevel:function(b){return this.isTypeOf(b,"blockLevel")},isEmptyElement:function(b){return this.isTypeOf(b,
"empty")},isTypeOf:function(b,c){return d.include(h[c],b)},addMapping:function(b,c){i[b]=c},removeMapping:function(b){b in i&&delete i[b]},addElementToCollection:function(b,c){h[c]||(h[c]=[]);var a=this.getCollection(c);d.include(a,b)||a.push(b)},removeElementFromCollection:function(b,c){c in h&&(h[c]=d.without(this.getCollection(c),b))},getCollection:function(b){return h[b]}}});
emmet.exec(function(e,d){function h(){return{element:g.get("bem.elementSeparator"),modifier:g.get("bem.modifierSeparator")}}function i(a){if(e("abbreviationUtils").isSnippet(a))return a;a.__bem={block:"",element:"",modifier:""};var f=b(a.attribute("class")).split(" "),g=/^[a-z]\-/i;a.__bem.block=d.find(f,function(a){return g.test(a)});if(!a.__bem.block)g=/^[a-z]/i,a.__bem.block=d.find(f,function(a){return g.test(a)})||"";(f=d.chain(f).map(function(b){var d;d=c(b,a,"element");d=c(d,a,"modifier");var f=
"",e="",g="",b=h();~d.indexOf(b.element)?(f=d.split(b.element),g=f[1].split(b.modifier),f=f[0],e=g.shift(),g=g.join(b.modifier)):~d.indexOf(b.modifier)&&(g=d.split(b.modifier),f=g.shift(),g=g.join(b.modifier));if(f||e||g){if(!f)f=a.__bem.block;d=f;var i=[];e&&(d+=b.element+e);i.push(d);g&&i.push(d+b.modifier+g);a.__bem.block=f;a.__bem.element=e;a.__bem.modifier=g;b=i}else b=d;return b}).flatten().uniq().value().join(" "))&&a.attribute("class",f);return a}function b(a){var b=e("utils"),a=(" "+(a||
"")+" ").replace(/\s+/g," "),c=g.get("bem.shortElementPrefix");c&&(c=RegExp("\\s("+b.escapeForRegexp(c)+"+)","g"),a=a.replace(c,function(a,c){return" "+b.repeatString(h().element,c.length)}));return b.trim(a)}function c(a,b,c){var d=h(),f=RegExp("^("+d[c]+")+","g");if(f.test(a)){for(var e=0,f=a.replace(f,function(a){e=a.length/d[c].length;return""}),g=b;g.parent&&e--;)g=g.parent;if(!g||!g.__bem)g=b;if(g&&g.__bem)return a=g.__bem.block,c=="modifier"&&g.__bem.element&&(a+=d.element+g.__bem.element),
a+d[c]+f}return a}function a(b,c){b.name&&i(b,c);var g=e("abbreviationUtils");d.each(b.children,function(b){a(b,c);!g.isSnippet(b)&&b.start&&(f=!0)});return b}var g=e("preferences");g.define("bem.elementSeparator","__","Class name\u2019s element separator.");g.define("bem.modifierSeparator","_","Class name\u2019s modifier separator.");g.define("bem.shortElementPrefix","-","Symbol for describing short \u201cblock-element\u201d notation. Class names prefixed with this symbol will be treated as element name for parent\u2018s block name. Each symbol instance traverses one level up in parsed tree for block name lookup. Empty value will disable short notation.");
var f=!1;e("filters").add("bem",function(b,c){f=!1;b=a(b,c);f&&(b=e("filters").apply(b,"html",c));return b})});
emmet.exec(function(e,d){function h(c,a,g){var f=e("utils"),j=b.get("filter.commentTrigger");if(j=="*"||d.find(j.split(","),function(a){return!!c.attribute(f.trim(a))}))j={node:c,name:c.name(),padding:c.parent?c.parent.padding:"",attr:function(a,b,d){return(a=c.attribute(a))?(b||"")+a+(d||""):""}},a=f.normalizeNewline(a?a(j):""),g=f.normalizeNewline(g?g(j):""),c.start=c.start.replace(/</,a+"<"),c.end=c.end.replace(/>/,">"+g)}function i(b,a,g){var f=e("abbreviationUtils");d.each(b.children,function(b){f.isBlock(b)&&
h(b,a,g);i(b,a,g)});return b}var b=e("preferences");b.define("filter.commentAfter",'\n<\!-- /<%= attr("id", "#") %><%= attr("class", ".") %> --\>',"A definition of comment that should be placed <i>after</i> matched element when <code>comment</code> filter is applied. This definition is an ERB-style template passed to <code>_.template()</code> function (see Underscore.js docs for details). In template context, the following properties and functions are availabe:\n<ul><li><code>attr(name, before, after)</code> \u2013 a function that outputsspecified attribute value concatenated with <code>before</code> and <code>after</code> strings. If attribute doesn't exists, the empty string will be returned.</li><li><code>node</code> \u2013 current node (instance of <code>AbbreviationNode</code>)</li><li><code>name</code> \u2013 name of current tag</li><li><code>padding</code> \u2013 current string padding, can be used for formatting</li></ul>");
b.define("filter.commentBefore","","A definition of comment that should be placed <i>before</i> matched element when <code>comment</code> filter is applied. For more info, read description of <code>filter.commentAfter</code> property");b.define("filter.commentTrigger","id, class","A comma-separated list of attribute names that should exist in abbreviatoin where comment should be added. If you wish to add comment for every element, set this option to <code>*</code>");e("filters").add("c",function(c){var a=
d.template(b.get("filter.commentBefore")),e=d.template(b.get("filter.commentAfter"));return i(c,a,e)})});emmet.exec(function(e,d){function h(b){return b.replace(/([<>&])/g,function(b,a){return i[a]})}var i={"<":"&lt;",">":"&gt;","&":"&amp;"};e("filters").add("e",function c(a){d.each(a.children,function(a){a.start=h(a.start);a.end=h(a.end);a.content=h(a.content);c(a)});return a})});
emmet.exec(function(e,d){function h(a){return a.parent&&!a.parent.parent&&!a.index()}function i(a,c){var d=e("abbreviationUtils");return c.tag_nl===!0||d.isBlock(a)?!0:!a.parent||!c.inline_break?!1:b(a.parent,c)}function b(a,b){var c=0,h=e("abbreviationUtils");return!!d.find(a.children,function(a){a.isTextNode()||!h.isInline(a)?c=0:h.isInline(a)&&c++;if(c>=b.inline_break)return!0})}function c(a,c){var h=e("abbreviationUtils");return!d.any(a.children,function(a){return h.isSnippet(a)?!1:!h.isInline(a)})?
b(a,c):!0}var a=e("preferences");a.define("format.noIndentTags","html","A comma-separated list of tag names that should not get inner indentation.");a.define("format.forceIndentationForTags","body","A comma-separated list of tag names that should <em>always</em> get inner indentation.");e("filters").add("_format",function f(b,l,n){var n=n||0,m=e("abbreviationUtils");d.each(b.children,function(b){if(m.isSnippet(b)){if(b.start=b.end="",!h(b)&&l.tag_nl!==!1&&i(b,l)&&(!b.parent.parent||!e("abbreviationUtils").isInline(b.parent)))b.start=
e("utils").getNewline()+b.start}else{b.start=b.end="%s";var j=e("utils"),r=e("abbreviationUtils"),q=r.isUnary(b),j=j.getNewline(),u=d.include(a.getArray("format.noIndentTags")||[],b.name())?"":e("resources").getVariable("indentation");if(l.tag_nl!==!1){var s=l.tag_nl===!0&&(l.tag_nl_leaf||b.children.length);s||(s=d.include(a.getArray("format.forceIndentationForTags")||[],b.name()));if(!b.isTextNode()){if(i(b,l)){if(!h(b)&&(!r.isSnippet(b.parent)||b.index()))b.start=j+b.start;if(r.hasBlockChildren(b)||
b.children.length&&i(b.children[0],l)||s&&!q)b.end=j+b.end;if(r.hasTagsInContent(b)||s&&!b.children.length&&!q)b.start+=j+u}else if(r.isInline(b)&&b.parent&&e("abbreviationUtils").hasBlockChildren(b.parent)&&!h(b))b.start=j+b.start;else if(r.isInline(b)&&c(b,l))b.end=j+b.end;b.padding=u}}}f(b,l,n+1)});return b})});
emmet.exec(function(e,d){function h(h,b){var c="",a=[],g=b.attributeQuote(),f=b.cursor();d.each(h.attributeList(),function(d){var h=b.attributeName(d.name);switch(h.toLowerCase()){case "id":c+="#"+(d.value||f);break;case "class":c+="."+e("utils").trim(d.value||f).replace(/\s+/g,".");break;default:a.push(":"+h+" => "+g+(d.value||f)+g)}});a.length&&(c+="{"+a.join(", ")+"}");return c}e("filters").add("haml",function b(c,a,g){var g=g||0,f=e("abbreviationUtils");g||(c=e("filters").apply(c,"_format",a));
d.each(c.children,function(c){if(!f.isSnippet(c)&&c.parent){var d=e("abbreviationUtils"),n=e("utils"),m=h(c,a),o=a.cursor(),d=d.isUnary(c),p=a.self_closing_tag&&d?"/":"",r="",r="%"+a.tagName(c.name());r.toLowerCase()=="%div"&&m&&m.indexOf("{")==-1&&(r="");c.end="";c.start=n.replaceSubstring(c.start,r+m+p+" ",c.start.indexOf("%s"),"%s");!c.children.length&&!d&&(c.start+=o)}b(c,a,g+1)});return c})});
emmet.exec(function(e,d){function h(e,b){var c=b.attributeQuote(),a=b.cursor();return d.map(e.attributeList(),function(d){return" "+b.attributeName(d.name)+"="+c+(d.value||a)+c}).join("")}e("filters").add("html",function b(c,a,g){var g=g||0,f=e("abbreviationUtils");g||(c=e("filters").apply(c,"_format",a));d.each(c.children,function(c){if(!f.isSnippet(c)&&c.parent){var d=e("abbreviationUtils"),n=e("utils"),m=h(c,a),o=a.cursor(),d=d.isUnary(c),p="",r="";if(!c.isTextNode()){var q=a.tagName(c.name());
d?(p="<"+q+m+a.selfClosing()+">",c.end=""):(p="<"+q+m+">",r="</"+q+">")}c.start=n.replaceSubstring(c.start,p,c.start.indexOf("%s"),"%s");c.end=n.replaceSubstring(c.end,r,c.end.indexOf("%s"),"%s");!c.children.length&&!d&&!~c.content.indexOf(o)&&!e("tabStops").extract(c.content).tabstops.length&&(c.start+=o)}b(c,a,g+1)});return c})});
emmet.exec(function(e,d){var h=/^\s+/,i=/[\n\r]/g;e("filters").add("s",function c(a){var g=e("abbreviationUtils");d.each(a.children,function(a){if(!g.isSnippet(a))a.start=a.start.replace(h,""),a.end=a.end.replace(h,"");a.start=a.start.replace(i,"");a.end=a.end.replace(i,"");a.content=a.content.replace(i,"");c(a)});return a})});
emmet.exec(function(e,d){function h(e,b){d.each(e.children,function(c){if(c.content)c.content=c.content.replace(b,"");h(c,b)});return e}e("preferences").define("filter.trimRegexp","[\\s|\\u00a0]*[\\d|#|\\-|*|\\u2022]+\\.?\\s*","Regular expression used to remove list markers (numbers, dashes, bullets, etc.) in <code>t</code> (trim) filter. The trim filter is useful for wrapping with abbreviation lists, pased from other documents (for example, Word documents).");e("filters").add("t",function(d){var b=
RegExp(e("preferences").get("filter.trimRegexp"));return h(d,b)})});emmet.exec(function(e,d){var h={"xsl:variable":1,"xsl:with-param":1};e("filters").add("xsl",function b(c){var a=e("abbreviationUtils");d.each(c.children,function(c){if(!a.isSnippet(c)&&(c.name()||"").toLowerCase()in h&&c.children.length)c.start=c.start.replace(/\s+select\s*=\s*(['"]).*?\1/,"");b(c)});return c})});
emmet.define("lorem",function(e,d){function h(a,b){return Math.round(Math.random()*(b-a)+a)}function i(a,b){for(var c=a.length,e=Math.min(c,b),g=[];g.length<e;){var i=h(0,c-1);d.include(g,i)||g.push(i)}return d.map(g,function(b){return a[b]})}function b(a,b){a.length&&(a[0]=a[0].charAt(0).toUpperCase()+a[0].substring(1));return a.join(" ")+(b||(d.isString("?!...")?"?!...".charAt(h(0,4)):"?!..."[h(0,4)]))}function c(a){var b=a.length,c=0,c=b>3&&b<=6?h(0,1):b>6&&b<=12?h(0,2):h(1,4);d.each(d.range(c),
function(b){b<a.length-1&&(a[b]+=",")})}var a={en:{common:["lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit"],words:["exercitationem","perferendis","perspiciatis","laborum","eveniet","sunt","iure","nam","nobis","eum","cum","officiis","excepturi","odio","consectetur","quasi","aut","quisquam","vel","eligendi","itaque","non","odit","tempore","quaerat","dignissimos","facilis","neque","nihil","expedita","vitae","vero","ipsum","nisi","animi","cumque","pariatur","velit","modi","natus",
"iusto","eaque","sequi","illo","sed","ex","et","voluptatibus","tempora","veritatis","ratione","assumenda","incidunt","nostrum","placeat","aliquid","fuga","provident","praesentium","rem","necessitatibus","suscipit","adipisci","quidem","possimus","voluptas","debitis","sint","accusantium","unde","sapiente","voluptate","qui","aspernatur","laudantium","soluta","amet","quo","aliquam","saepe","culpa","libero","ipsa","dicta","reiciendis","nesciunt","doloribus","autem","impedit","minima","maiores","repudiandae",
"ipsam","obcaecati","ullam","enim","totam","delectus","ducimus","quis","voluptates","dolores","molestiae","harum","dolorem","quia","voluptatem","molestias","magni","distinctio","omnis","illum","dolorum","voluptatum","ea","quas","quam","corporis","quae","blanditiis","atque","deserunt","laboriosam","earum","consequuntur","hic","cupiditate","quibusdam","accusamus","ut","rerum","error","minus","eius","ab","ad","nemo","fugit","officia","at","in","id","quos","reprehenderit","numquam","iste","fugiat","sit",
"inventore","beatae","repellendus","magnam","recusandae","quod","explicabo","doloremque","aperiam","consequatur","asperiores","commodi","optio","dolor","labore","temporibus","repellat","veniam","architecto","est","esse","mollitia","nulla","a","similique","eos","alias","dolore","tenetur","deleniti","porro","facere","maxime","corrupti"]},ru:{common:["\u0434\u0430\u043b\u0435\u043a\u043e-\u0434\u0430\u043b\u0435\u043a\u043e","\u0437\u0430","\u0441\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u043c\u0438",
"\u0433\u043e\u0440\u0430\u043c\u0438","\u0432 \u0441\u0442\u0440\u0430\u043d\u0435","\u0433\u043b\u0430\u0441\u043d\u044b\u0445","\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b\u0445","\u0436\u0438\u0432\u0443\u0442","\u0440\u044b\u0431\u043d\u044b\u0435","\u0442\u0435\u043a\u0441\u0442\u044b"],words:["\u0432\u0434\u0430\u043b\u0438","\u043e\u0442 \u0432\u0441\u0435\u0445","\u043e\u043d\u0438","\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u0445","\u0434\u043e\u043c\u0430\u0445","\u043d\u0430 \u0431\u0435\u0440\u0435\u0433\u0443",
"\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430","\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e","\u044f\u0437\u044b\u043a\u043e\u0432\u043e\u0433\u043e","\u043e\u043a\u0435\u0430\u043d\u0430","\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439","\u0440\u0443\u0447\u0435\u0435\u043a","\u0434\u0430\u043b\u044c","\u0436\u0443\u0440\u0447\u0438\u0442","\u043f\u043e \u0432\u0441\u0435\u0439","\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442","\u0435\u0435","\u0432\u0441\u0435\u043c\u0438",
"\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438","\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438","\u044d\u0442\u0430","\u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f","\u0441\u0442\u0440\u0430\u043d\u0430","\u043a\u043e\u0442\u043e\u0440\u043e\u0439","\u0436\u0430\u0440\u0435\u043d\u043d\u044b\u0435","\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f","\u0437\u0430\u043b\u0435\u0442\u0430\u044e\u0442",
"\u043f\u0440\u044f\u043c\u043e","\u0440\u043e\u0442","\u0434\u0430\u0436\u0435","\u0432\u0441\u0435\u043c\u043e\u0433\u0443\u0449\u0430\u044f","\u043f\u0443\u043d\u043a\u0442\u0443\u0430\u0446\u0438\u044f","\u043d\u0435","\u0438\u043c\u0435\u0435\u0442","\u0432\u043b\u0430\u0441\u0442\u0438","\u043d\u0430\u0434","\u0440\u044b\u0431\u043d\u044b\u043c\u0438","\u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438","\u0432\u0435\u0434\u0443\u0449\u0438\u043c\u0438","\u0431\u0435\u0437\u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u043d\u044b\u0439",
"\u043e\u0431\u0440\u0430\u0437","\u0436\u0438\u0437\u043d\u0438","\u043e\u0434\u043d\u0430\u0436\u0434\u044b","\u043e\u0434\u043d\u0430","\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f","\u0441\u0442\u0440\u043e\u0447\u043a\u0430","\u0440\u044b\u0431\u043d\u043e\u0433\u043e","\u0442\u0435\u043a\u0441\u0442\u0430","\u0438\u043c\u0435\u043d\u0438","lorem","ipsum","\u0440\u0435\u0448\u0438\u043b\u0430","\u0432\u044b\u0439\u0442\u0438","\u0431\u043e\u043b\u044c\u0448\u043e\u0439","\u043c\u0438\u0440",
"\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438","\u0432\u0435\u043b\u0438\u043a\u0438\u0439","\u043e\u043a\u0441\u043c\u043e\u043a\u0441","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b","\u043e","\u0437\u043b\u044b\u0445","\u0437\u0430\u043f\u044f\u0442\u044b\u0445","\u0434\u0438\u043a\u0438\u0445","\u0437\u043d\u0430\u043a\u0430\u0445","\u0432\u043e\u043f\u0440\u043e\u0441\u0430","\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0445","\u0442\u043e\u0447\u043a\u0430\u0445",
"\u0437\u0430\u043f\u044f\u0442\u043e\u0439","\u043d\u043e","\u0442\u0435\u043a\u0441\u0442","\u0434\u0430\u043b","\u0441\u0431\u0438\u0442\u044c","\u0441\u0435\u0431\u044f","\u0442\u043e\u043b\u043a\u0443","\u043e\u043d","\u0441\u043e\u0431\u0440\u0430\u043b","\u0441\u0435\u043c\u044c","\u0441\u0432\u043e\u0438\u0445","\u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0445","\u0431\u0443\u043a\u0432","\u043f\u043e\u0434\u043f\u043e\u044f\u0441\u0430\u043b","\u0438\u043d\u0438\u0446\u0438\u0430\u043b",
"\u0437\u0430","\u043f\u043e\u044f\u0441","\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f","\u0434\u043e\u0440\u043e\u0433\u0443","\u0432\u0437\u043e\u0431\u0440\u0430\u0432\u0448\u0438\u0441\u044c","\u043f\u0435\u0440\u0432\u0443\u044e","\u0432\u0435\u0440\u0448\u0438\u043d\u0443","\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0445","\u0433\u043e\u0440","\u0431\u0440\u043e\u0441\u0438\u043b","\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439","\u0432\u0437\u0433\u043b\u044f\u0434","\u043d\u0430\u0437\u0430\u0434",
"\u0441\u0438\u043b\u0443\u044d\u0442","\u0441\u0432\u043e\u0435\u0433\u043e","\u0440\u043e\u0434\u043d\u043e\u0433\u043e","\u0433\u043e\u0440\u043e\u0434\u0430","\u0431\u0443\u043a\u0432\u043e\u0433\u0440\u0430\u0434","\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","\u0434\u0435\u0440\u0435\u0432\u043d\u0438","\u0430\u043b\u0444\u0430\u0432\u0438\u0442","\u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","\u0441\u0432\u043e\u0435\u0433\u043e","\u043f\u0435\u0440\u0435\u0443\u043b\u043a\u0430",
"\u0433\u0440\u0443\u0441\u0442\u043d\u044b\u0439","\u0440\u0435\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439","\u0432\u043e\u043f\u0440\u043e\u0441","\u0441\u043a\u0430\u0442\u0438\u043b\u0441\u044f","\u0435\u0433\u043e","\u0449\u0435\u043a\u0435","\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b","\u0441\u0432\u043e\u0439","\u043f\u0443\u0442\u044c","\u0434\u043e\u0440\u043e\u0433\u0435","\u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b","\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u044c",
"\u043e\u043d\u0430","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u043b\u0430","\u043c\u043e\u0435\u0439","\u0432\u0441\u0435","\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f","\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e","\u0440\u0430\u0437","\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435","\u0447\u0442\u043e","\u043c\u0435\u043d\u044f","\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c","\u044d\u0442\u043e",
"\u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430","\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0439\u0441\u044f","\u0442\u044b","\u043b\u0443\u0447\u0448\u0435","\u0441\u0432\u043e\u044e","\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e","\u0441\u0442\u0440\u0430\u043d\u0443","\u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0432\u0448\u0438\u0441\u044c","\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u0438","\u043d\u0430\u0448","\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b",
"\u0441\u0432\u043e\u0439","\u043f\u0443\u0442\u044c","\u0432\u0441\u043a\u043e\u0440\u0435","\u0435\u043c\u0443","\u043f\u043e\u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0441\u044f","\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0439","\u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c","\u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445","\u0442\u0435\u043a\u0441\u0442\u043e\u0432","\u043d\u0430\u043f\u043e\u0438\u0432\u0448\u0438\u0439","\u044f\u0437\u044b\u043a\u043e\u043c",
"\u0440\u0435\u0447\u044c\u044e","\u0437\u0430\u043c\u0430\u043d\u0438\u0432\u0448\u0438\u0439","\u0441\u0432\u043e\u0435","\u0430\u0433\u0435\u043d\u0441\u0442\u0432\u043e","\u043a\u043e\u0442\u043e\u0440\u043e\u0435","\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e","\u0441\u043d\u043e\u0432\u0430","\u0441\u043d\u043e\u0432\u0430","\u0441\u0432\u043e\u0438\u0445","\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445","\u0435\u0441\u043b\u0438","\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438",
"\u0442\u043e","\u0436\u0438\u0432\u0435\u0442","\u0442\u0430\u043c","\u0434\u043e","\u0441\u0438\u0445","\u043f\u043e\u0440"]}},g=e("preferences");g.define("lorem.defaultLang","en");e("abbreviationParser").addPreprocessor(function(d){var e=/^(?:lorem|lipsum)([a-z]{2})?(\d*)$/i,l;d.findAll(function(d){if(d._name&&(l=d._name.match(e))){var f=l[2]||30,o=l[1]||g.get("lorem.defaultLang")||"en";d._name="";d.data("forceNameResolving",d.isRepeating()||d.attributeList().length);d.data("pasteOverwrites",!0);
d.data("paste",function(d){var e;e=f;var g=!d;if(d=a[o]){var j=[],l=0;e=parseInt(e,10);g&&d.common&&(g=d.common.slice(0,e),g.length>5&&(g[4]+=","),l+=g.length,j.push(b(g,".")));for(;l<e;)g=i(d.words,Math.min(h(3,12)*h(1,5),e-l)),l+=g.length,c(g),j.push(b(g));e=j.join(" ")}else e="";return e})}})});return{addLang:function(b,c){d.isString(c)?c={words:d.compact(c.split(" "))}:d.isArray(c)&&(c={words:c});a[b]=c}}});
emmet.exec(function(e){e("actions").add("select_line",function(d){var e=d.getCurrentLineRange();d.createSelection(e.start,e.end);return!0})});
emmet.exec(function(e){e("resources").setVocabulary({variables:{lang:"en",locale:"en-US",charset:"UTF-8",indentation:"\t",newline:"\n"},css:{filters:"html",snippets:{"@i":"@import url(|);","@import":"@import url(|);","@m":"@media ${1:screen} {\n\t|\n}","@media":"@media ${1:screen} {\n\t|\n}","@f":"@font-face {\n\tfont-family:|;\n\tsrc:url(|);\n}","@f+":"@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot');\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n\t\t url('${2:FileName}.woff') format('woff'),\n\t\t url('${2:FileName}.ttf') format('truetype'),\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg');\n\tfont-style: ${3:normal};\n\tfont-weight: ${4:normal};\n}","@kf":"@-webkit-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-o-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}",
anim:"animation:|;","anim-":"animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode};",animdel:"animation-delay:${1:time};",animdir:"animation-direction:${1:normal};","animdir:n":"animation-direction:normal;","animdir:r":"animation-direction:reverse;","animdir:a":"animation-direction:alternate;","animdir:ar":"animation-direction:alternate-reverse;",animdur:"animation-duration:${1:0}s;",animfm:"animation-fill-mode:${1:both};","animfm:f":"animation-fill-mode:forwards;",
"animfm:b":"animation-fill-mode:backwards;","animfm:bt":"animation-fill-mode:both;","animfm:bh":"animation-fill-mode:both;",animic:"animation-iteration-count:${1:1};","animic:i":"animation-iteration-count:infinite;",animn:"animation-name:${1:none};",animps:"animation-play-state:${1:running};","animps:p":"animation-play-state:paused;","animps:r":"animation-play-state:running;",animtf:"animation-timing-function:${1:linear};","animtf:e":"animation-timing-function:ease;","animtf:ei":"animation-timing-function:ease-in;",
"animtf:eo":"animation-timing-function:ease-out;","animtf:eio":"animation-timing-function:ease-in-out;","animtf:l":"animation-timing-function:linear;","animtf:cb":"animation-timing-function:cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1});",ap:"appearance:${none};","!":"!important",pos:"position:${1:relative};","pos:s":"position:static;","pos:a":"position:absolute;","pos:r":"position:relative;","pos:f":"position:fixed;",t:"top:|;","t:a":"top:auto;",r:"right:|;","r:a":"right:auto;",b:"bottom:|;",
"b:a":"bottom:auto;",l:"left:|;","l:a":"left:auto;",z:"z-index:|;","z:a":"z-index:auto;",fl:"float:${1:left};","fl:n":"float:none;","fl:l":"float:left;","fl:r":"float:right;",cl:"clear:${1:both};","cl:n":"clear:none;","cl:l":"clear:left;","cl:r":"clear:right;","cl:b":"clear:both;",colm:"columns:|;",colmc:"column-count:|;",colmf:"column-fill:|;",colmg:"column-gap:|;",colmr:"column-rule:|;",colmrc:"column-rule-color:|;",colmrs:"column-rule-style:|;",colmrw:"column-rule-width:|;",colms:"column-span:|;",
colmw:"column-width:|;",d:"display:${1:block};","d:n":"display:none;","d:b":"display:block;","d:i":"display:inline;","d:ib":"display:inline-block;","d:li":"display:list-item;","d:ri":"display:run-in;","d:cp":"display:compact;","d:tb":"display:table;","d:itb":"display:inline-table;","d:tbcp":"display:table-caption;","d:tbcl":"display:table-column;","d:tbclg":"display:table-column-group;","d:tbhg":"display:table-header-group;","d:tbfg":"display:table-footer-group;","d:tbr":"display:table-row;","d:tbrg":"display:table-row-group;",
"d:tbc":"display:table-cell;","d:rb":"display:ruby;","d:rbb":"display:ruby-base;","d:rbbg":"display:ruby-base-group;","d:rbt":"display:ruby-text;","d:rbtg":"display:ruby-text-group;",v:"visibility:${1:hidden};","v:v":"visibility:visible;","v:h":"visibility:hidden;","v:c":"visibility:collapse;",ov:"overflow:${1:hidden};","ov:v":"overflow:visible;","ov:h":"overflow:hidden;","ov:s":"overflow:scroll;","ov:a":"overflow:auto;",ovx:"overflow-x:${1:hidden};","ovx:v":"overflow-x:visible;","ovx:h":"overflow-x:hidden;",
"ovx:s":"overflow-x:scroll;","ovx:a":"overflow-x:auto;",ovy:"overflow-y:${1:hidden};","ovy:v":"overflow-y:visible;","ovy:h":"overflow-y:hidden;","ovy:s":"overflow-y:scroll;","ovy:a":"overflow-y:auto;",ovs:"overflow-style:${1:scrollbar};","ovs:a":"overflow-style:auto;","ovs:s":"overflow-style:scrollbar;","ovs:p":"overflow-style:panner;","ovs:m":"overflow-style:move;","ovs:mq":"overflow-style:marquee;",zoo:"zoom:1;",zm:"zoom:1;",cp:"clip:|;","cp:a":"clip:auto;","cp:r":"clip:rect(${1:top} ${2:right} ${3:bottom} ${4:left});",
bxz:"box-sizing:${1:border-box};","bxz:cb":"box-sizing:content-box;","bxz:bb":"box-sizing:border-box;",bxsh:"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:color};","bxsh:r":"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:spread }rgb(${6:0}, ${7:0}, ${8:0});","bxsh:ra":"box-shadow:${1:inset }${2:h} ${3:v} ${4:blur} ${5:spread }rgba(${6:0}, ${7:0}, ${8:0}, .${9:5});","bxsh:n":"box-shadow:none;",m:"margin:|;","m:a":"margin:auto;",mt:"margin-top:|;","mt:a":"margin-top:auto;",mr:"margin-right:|;",
"mr:a":"margin-right:auto;",mb:"margin-bottom:|;","mb:a":"margin-bottom:auto;",ml:"margin-left:|;","ml:a":"margin-left:auto;",p:"padding:|;",pt:"padding-top:|;",pr:"padding-right:|;",pb:"padding-bottom:|;",pl:"padding-left:|;",w:"width:|;","w:a":"width:auto;",h:"height:|;","h:a":"height:auto;",maw:"max-width:|;","maw:n":"max-width:none;",mah:"max-height:|;","mah:n":"max-height:none;",miw:"min-width:|;",mih:"min-height:|;",mar:"max-resolution:${1:res};",mir:"min-resolution:${1:res};",ori:"orientation:|;",
"ori:l":"orientation:landscape;","ori:p":"orientation:portrait;",ol:"outline:|;","ol:n":"outline:none;",olo:"outline-offset:|;",olw:"outline-width:|;",ols:"outline-style:|;",olc:"outline-color:#${1:000};","olc:i":"outline-color:invert;",bd:"border:|;","bd+":"border:${1:1px} ${2:solid} ${3:#000};","bd:n":"border:none;",bdbk:"border-break:${1:close};","bdbk:c":"border-break:close;",bdcl:"border-collapse:|;","bdcl:c":"border-collapse:collapse;","bdcl:s":"border-collapse:separate;",bdc:"border-color:#${1:000};",
"bdc:t":"border-color:transparent;",bdi:"border-image:url(|);","bdi:n":"border-image:none;",bdti:"border-top-image:url(|);","bdti:n":"border-top-image:none;",bdri:"border-right-image:url(|);","bdri:n":"border-right-image:none;",bdbi:"border-bottom-image:url(|);","bdbi:n":"border-bottom-image:none;",bdli:"border-left-image:url(|);","bdli:n":"border-left-image:none;",bdci:"border-corner-image:url(|);","bdci:n":"border-corner-image:none;","bdci:c":"border-corner-image:continue;",bdtli:"border-top-left-image:url(|);",
"bdtli:n":"border-top-left-image:none;","bdtli:c":"border-top-left-image:continue;",bdtri:"border-top-right-image:url(|);","bdtri:n":"border-top-right-image:none;","bdtri:c":"border-top-right-image:continue;",bdbri:"border-bottom-right-image:url(|);","bdbri:n":"border-bottom-right-image:none;","bdbri:c":"border-bottom-right-image:continue;",bdbli:"border-bottom-left-image:url(|);","bdbli:n":"border-bottom-left-image:none;","bdbli:c":"border-bottom-left-image:continue;",bdf:"border-fit:${1:repeat};",
"bdf:c":"border-fit:clip;","bdf:r":"border-fit:repeat;","bdf:sc":"border-fit:scale;","bdf:st":"border-fit:stretch;","bdf:ow":"border-fit:overwrite;","bdf:of":"border-fit:overflow;","bdf:sp":"border-fit:space;",bdlen:"border-length:|;","bdlen:a":"border-length:auto;",bdsp:"border-spacing:|;",bds:"border-style:|;","bds:n":"border-style:none;","bds:h":"border-style:hidden;","bds:dt":"border-style:dotted;","bds:ds":"border-style:dashed;","bds:s":"border-style:solid;","bds:db":"border-style:double;","bds:dtds":"border-style:dot-dash;",
"bds:dtdtds":"border-style:dot-dot-dash;","bds:w":"border-style:wave;","bds:g":"border-style:groove;","bds:r":"border-style:ridge;","bds:i":"border-style:inset;","bds:o":"border-style:outset;",bdw:"border-width:|;",bdtw:"border-top-width:|;",bdrw:"border-right-width:|;",bdbw:"border-bottom-width:|;",bdlw:"border-left-width:|;",bdt:"border-top:|;",bt:"border-top:|;","bdt+":"border-top:${1:1px} ${2:solid} ${3:#000};","bdt:n":"border-top:none;",bdts:"border-top-style:|;","bdts:n":"border-top-style:none;",
bdtc:"border-top-color:#${1:000};","bdtc:t":"border-top-color:transparent;",bdr:"border-right:|;",br:"border-right:|;","bdr+":"border-right:${1:1px} ${2:solid} ${3:#000};","bdr:n":"border-right:none;",bdrst:"border-right-style:|;","bdrst:n":"border-right-style:none;",bdrc:"border-right-color:#${1:000};","bdrc:t":"border-right-color:transparent;",bdb:"border-bottom:|;",bb:"border-bottom:|;","bdb+":"border-bottom:${1:1px} ${2:solid} ${3:#000};","bdb:n":"border-bottom:none;",bdbs:"border-bottom-style:|;",
"bdbs:n":"border-bottom-style:none;",bdbc:"border-bottom-color:#${1:000};","bdbc:t":"border-bottom-color:transparent;",bdl:"border-left:|;",bl:"border-left:|;","bdl+":"border-left:${1:1px} ${2:solid} ${3:#000};","bdl:n":"border-left:none;",bdls:"border-left-style:|;","bdls:n":"border-left-style:none;",bdlc:"border-left-color:#${1:000};","bdlc:t":"border-left-color:transparent;",bdrs:"border-radius:|;",bdtrrs:"border-top-right-radius:|;",bdtlrs:"border-top-left-radius:|;",bdbrrs:"border-bottom-right-radius:|;",
bdblrs:"border-bottom-left-radius:|;",bg:"background:|;","bg+":"background:${1:#fff} url(${2}) ${3:0} ${4:0} ${5:no-repeat};","bg:n":"background:none;","bg:ie":"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x}.png',sizingMethod='${2:crop}');",bgc:"background-color:#${1:fff};","bgc:t":"background-color:transparent;",bgi:"background-image:url(|);","bgi:n":"background-image:none;",bgr:"background-repeat:|;","bgr:n":"background-repeat:no-repeat;","bgr:x":"background-repeat:repeat-x;",
"bgr:y":"background-repeat:repeat-y;","bgr:sp":"background-repeat:space;","bgr:rd":"background-repeat:round;",bga:"background-attachment:|;","bga:f":"background-attachment:fixed;","bga:s":"background-attachment:scroll;",bgp:"background-position:${1:0} ${2:0};",bgpx:"background-position-x:|;",bgpy:"background-position-y:|;",bgbk:"background-break:|;","bgbk:bb":"background-break:bounding-box;","bgbk:eb":"background-break:each-box;","bgbk:c":"background-break:continuous;",bgcp:"background-clip:${1:padding-box};",
"bgcp:bb":"background-clip:border-box;","bgcp:pb":"background-clip:padding-box;","bgcp:cb":"background-clip:content-box;","bgcp:nc":"background-clip:no-clip;",bgo:"background-origin:|;","bgo:pb":"background-origin:padding-box;","bgo:bb":"background-origin:border-box;","bgo:cb":"background-origin:content-box;",bgsz:"background-size:|;","bgsz:a":"background-size:auto;","bgsz:ct":"background-size:contain;","bgsz:cv":"background-size:cover;",c:"color:#${1:000};","c:r":"color:rgb(${1:0}, ${2:0}, ${3:0});",
"c:ra":"color:rgba(${1:0}, ${2:0}, ${3:0}, .${4:5});",cm:"/* |${child} */",cnt:"content:'|';","cnt:n":"content:normal;","cnt:oq":"content:open-quote;","cnt:noq":"content:no-open-quote;","cnt:cq":"content:close-quote;","cnt:ncq":"content:no-close-quote;","cnt:a":"content:attr(|);","cnt:c":"content:counter(|);","cnt:cs":"content:counters(|);",tbl:"table-layout:|;","tbl:a":"table-layout:auto;","tbl:f":"table-layout:fixed;",cps:"caption-side:|;","cps:t":"caption-side:top;","cps:b":"caption-side:bottom;",
ec:"empty-cells:|;","ec:s":"empty-cells:show;","ec:h":"empty-cells:hide;",lis:"list-style:|;","lis:n":"list-style:none;",lisp:"list-style-position:|;","lisp:i":"list-style-position:inside;","lisp:o":"list-style-position:outside;",list:"list-style-type:|;","list:n":"list-style-type:none;","list:d":"list-style-type:disc;","list:c":"list-style-type:circle;","list:s":"list-style-type:square;","list:dc":"list-style-type:decimal;","list:dclz":"list-style-type:decimal-leading-zero;","list:lr":"list-style-type:lower-roman;",
"list:ur":"list-style-type:upper-roman;",lisi:"list-style-image:|;","lisi:n":"list-style-image:none;",q:"quotes:|;","q:n":"quotes:none;","q:ru":"quotes:'\\00AB' '\\00BB' '\\201E' '\\201C';","q:en":"quotes:'\\201C' '\\201D' '\\2018' '\\2019';",ct:"content:|;","ct:n":"content:normal;","ct:oq":"content:open-quote;","ct:noq":"content:no-open-quote;","ct:cq":"content:close-quote;","ct:ncq":"content:no-close-quote;","ct:a":"content:attr(|);","ct:c":"content:counter(|);","ct:cs":"content:counters(|);",coi:"counter-increment:|;",
cor:"counter-reset:|;",va:"vertical-align:${1:top};","va:sup":"vertical-align:super;","va:t":"vertical-align:top;","va:tt":"vertical-align:text-top;","va:m":"vertical-align:middle;","va:bl":"vertical-align:baseline;","va:b":"vertical-align:bottom;","va:tb":"vertical-align:text-bottom;","va:sub":"vertical-align:sub;",ta:"text-align:${1:left};","ta:l":"text-align:left;","ta:c":"text-align:center;","ta:r":"text-align:right;","ta:j":"text-align:justify;","ta-lst":"text-align-last:|;","tal:a":"text-align-last:auto;",
"tal:l":"text-align-last:left;","tal:c":"text-align-last:center;","tal:r":"text-align-last:right;",td:"text-decoration:${1:none};","td:n":"text-decoration:none;","td:u":"text-decoration:underline;","td:o":"text-decoration:overline;","td:l":"text-decoration:line-through;",te:"text-emphasis:|;","te:n":"text-emphasis:none;","te:ac":"text-emphasis:accent;","te:dt":"text-emphasis:dot;","te:c":"text-emphasis:circle;","te:ds":"text-emphasis:disc;","te:b":"text-emphasis:before;","te:a":"text-emphasis:after;",
th:"text-height:|;","th:a":"text-height:auto;","th:f":"text-height:font-size;","th:t":"text-height:text-size;","th:m":"text-height:max-size;",ti:"text-indent:|;","ti:-":"text-indent:-9999px;",tj:"text-justify:|;","tj:a":"text-justify:auto;","tj:iw":"text-justify:inter-word;","tj:ii":"text-justify:inter-ideograph;","tj:ic":"text-justify:inter-cluster;","tj:d":"text-justify:distribute;","tj:k":"text-justify:kashida;","tj:t":"text-justify:tibetan;",tov:"text-overflow:${ellipsis};","tov:e":"text-overflow:ellipsis;",
"tov:c":"text-overflow:clip;",to:"text-outline:|;","to+":"text-outline:${1:0} ${2:0} ${3:#000};","to:n":"text-outline:none;",tr:"text-replace:|;","tr:n":"text-replace:none;",tt:"text-transform:${1:uppercase};","tt:n":"text-transform:none;","tt:c":"text-transform:capitalize;","tt:u":"text-transform:uppercase;","tt:l":"text-transform:lowercase;",tw:"text-wrap:|;","tw:n":"text-wrap:normal;","tw:no":"text-wrap:none;","tw:u":"text-wrap:unrestricted;","tw:s":"text-wrap:suppress;",tsh:"text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000};",
"tsh:r":"text-shadow:${1:h} ${2:v} ${3:blur} rgb(${4:0}, ${5:0}, ${6:0});","tsh:ra":"text-shadow:${1:h} ${2:v} ${3:blur} rgba(${4:0}, ${5:0}, ${6:0}, .${7:5});","tsh+":"text-shadow:${1:0} ${2:0} ${3:0} ${4:#000};","tsh:n":"text-shadow:none;",trf:"transform:|;","trf:skx":"transform: skewX(${1:angle});","trf:sky":"transform: skewY(${1:angle});","trf:sc":"transform: scale(${1:x}, ${2:y});","trf:scx":"transform: scaleX(${1:x});","trf:scy":"transform: scaleY(${1:y});","trf:r":"transform: rotate(${1:angle});",
"trf:t":"transform: translate(${1:x}, ${2:y});","trf:tx":"transform: translateX(${1:x});","trf:ty":"transform: translateY(${1:y});",trfo:"transform-origin:|;",trfs:"transform-style:${1:preserve-3d};",trs:"transition:${1:prop} ${2:time};",trsde:"transition-delay:${1:time};",trsdu:"transition-duration:${1:time};",trsp:"transition-property:${1:prop};",trstf:"transition-timing-function:${1:tfunc};",lh:"line-height:|;",whs:"white-space:|;","whs:n":"white-space:normal;","whs:p":"white-space:pre;","whs:nw":"white-space:nowrap;",
"whs:pw":"white-space:pre-wrap;","whs:pl":"white-space:pre-line;",whsc:"white-space-collapse:|;","whsc:n":"white-space-collapse:normal;","whsc:k":"white-space-collapse:keep-all;","whsc:l":"white-space-collapse:loose;","whsc:bs":"white-space-collapse:break-strict;","whsc:ba":"white-space-collapse:break-all;",wob:"word-break:|;","wob:n":"word-break:normal;","wob:k":"word-break:keep-all;","wob:l":"word-break:loose;","wob:bs":"word-break:break-strict;","wob:ba":"word-break:break-all;",wos:"word-spacing:|;",
wow:"word-wrap:|;","wow:nm":"word-wrap:normal;","wow:n":"word-wrap:none;","wow:u":"word-wrap:unrestricted;","wow:s":"word-wrap:suppress;","wow:b":"word-wrap:break-word;",lts:"letter-spacing:|;",f:"font:|;","f+":"font:${1:1em} ${2:Arial,sans-serif};",fw:"font-weight:|;","fw:n":"font-weight:normal;","fw:b":"font-weight:bold;","fw:br":"font-weight:bolder;","fw:lr":"font-weight:lighter;",fs:"font-style:${italic};","fs:n":"font-style:normal;","fs:i":"font-style:italic;","fs:o":"font-style:oblique;",fv:"font-variant:|;",
"fv:n":"font-variant:normal;","fv:sc":"font-variant:small-caps;",fz:"font-size:|;",fza:"font-size-adjust:|;","fza:n":"font-size-adjust:none;",ff:"font-family:|;","ff:s":"font-family:serif;","ff:ss":"font-family:sans-serif;","ff:c":"font-family:cursive;","ff:f":"font-family:fantasy;","ff:m":"font-family:monospace;",fef:"font-effect:|;","fef:n":"font-effect:none;","fef:eg":"font-effect:engrave;","fef:eb":"font-effect:emboss;","fef:o":"font-effect:outline;",fem:"font-emphasize:|;",femp:"font-emphasize-position:|;",
"femp:b":"font-emphasize-position:before;","femp:a":"font-emphasize-position:after;",fems:"font-emphasize-style:|;","fems:n":"font-emphasize-style:none;","fems:ac":"font-emphasize-style:accent;","fems:dt":"font-emphasize-style:dot;","fems:c":"font-emphasize-style:circle;","fems:ds":"font-emphasize-style:disc;",fsm:"font-smooth:|;","fsm:a":"font-smooth:auto;","fsm:n":"font-smooth:never;","fsm:aw":"font-smooth:always;",fst:"font-stretch:|;","fst:n":"font-stretch:normal;","fst:uc":"font-stretch:ultra-condensed;",
"fst:ec":"font-stretch:extra-condensed;","fst:c":"font-stretch:condensed;","fst:sc":"font-stretch:semi-condensed;","fst:se":"font-stretch:semi-expanded;","fst:e":"font-stretch:expanded;","fst:ee":"font-stretch:extra-expanded;","fst:ue":"font-stretch:ultra-expanded;",op:"opacity:|;","op:ie":"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);","op:ms":"-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';",rsz:"resize:|;","rsz:n":"resize:none;","rsz:b":"resize:both;","rsz:h":"resize:horizontal;",
"rsz:v":"resize:vertical;",cur:"cursor:${pointer};","cur:a":"cursor:auto;","cur:d":"cursor:default;","cur:c":"cursor:crosshair;","cur:ha":"cursor:hand;","cur:he":"cursor:help;","cur:m":"cursor:move;","cur:p":"cursor:pointer;","cur:t":"cursor:text;",pgbb:"page-break-before:|;","pgbb:au":"page-break-before:auto;","pgbb:al":"page-break-before:always;","pgbb:l":"page-break-before:left;","pgbb:r":"page-break-before:right;",pgbi:"page-break-inside:|;","pgbi:au":"page-break-inside:auto;","pgbi:av":"page-break-inside:avoid;",
pgba:"page-break-after:|;","pgba:au":"page-break-after:auto;","pgba:al":"page-break-after:always;","pgba:l":"page-break-after:left;","pgba:r":"page-break-after:right;",orp:"orphans:|;",us:"user-select:${none};",wid:"widows:|;",wfsm:"-webkit-font-smoothing:${antialiased};","wfsm:a":"-webkit-font-smoothing:antialiased;","wfsm:s":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:sa":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:n":"-webkit-font-smoothing:none;"}},html:{filters:"html",profile:"html",
snippets:{"!!!":"<!doctype html>","!!!4t":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',"!!!4s":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',"!!!xt":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',"!!!xs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',"!!!xxs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
c:"<\!-- |${child} --\>","cc:ie6":"<\!--[if lte IE 6]>\n\t${child}|\n<![endif]--\>","cc:ie":"<\!--[if IE]>\n\t${child}|\n<![endif]--\>","cc:noie":"<\!--[if !IE]><\!--\>\n\t${child}|\n<\!--<![endif]--\>"},abbreviations:{"!":"html:5",a:'<a href="">',"a:link":'<a href="http://|">',"a:mail":'<a href="mailto:|">',abbr:'<abbr title="">',acronym:'<acronym title="">',base:'<base href="" />',basefont:"<basefont/>",br:"<br/>",frame:"<frame/>",hr:"<hr/>",bdo:'<bdo dir="">',"bdo:r":'<bdo dir="rtl">',"bdo:l":'<bdo dir="ltr">',
col:"<col/>",link:'<link rel="stylesheet" href="" />',"link:css":'<link rel="stylesheet" href="${1:style}.css" />',"link:print":'<link rel="stylesheet" href="${1:print}.css" media="print" />',"link:favicon":'<link rel="shortcut icon" type="image/x-icon" href="${1:favicon.ico}" />',"link:touch":'<link rel="apple-touch-icon" href="${1:favicon.png}" />',"link:rss":'<link rel="alternate" type="application/rss+xml" title="RSS" href="${1:rss.xml}" />',"link:atom":'<link rel="alternate" type="application/atom+xml" title="Atom" href="${1:atom.xml}" />',
meta:"<meta/>","meta:utf":'<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />',"meta:win":'<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />',"meta:vp":'<meta name="viewport" content="width=${1:device-width}, user-scalable=${2:no}, initial-scale=${3:1.0}, maximum-scale=${4:1.0}, minimum-scale=${5:1.0}" />',"meta:compat":'<meta http-equiv="X-UA-Compatible" content="${1:IE=7}" />',style:"<style>",script:"<script>","script:src":'<script src="">',img:'<img src="" alt="" />',
iframe:'<iframe src="" frameborder="0">',embed:'<embed src="" type="" />',object:'<object data="" type="">',param:'<param name="" value="" />',map:'<map name="">',area:'<area shape="" coords="" href="" alt="" />',"area:d":'<area shape="default" href="" alt="" />',"area:c":'<area shape="circle" coords="" href="" alt="" />',"area:r":'<area shape="rect" coords="" href="" alt="" />',"area:p":'<area shape="poly" coords="" href="" alt="" />',form:'<form action="">',"form:get":'<form action="" method="get">',
"form:post":'<form action="" method="post">',label:'<label for="">',input:'<input type="${1:text}" />',inp:'<input type="${1:text}" name="" id="" />',"input:hidden":"input[type=hidden name]","input:h":"input:hidden","input:text":"inp","input:t":"inp","input:search":"inp[type=search]","input:email":"inp[type=email]","input:url":"inp[type=url]","input:password":"inp[type=password]","input:p":"input:password","input:datetime":"inp[type=datetime]","input:date":"inp[type=date]","input:datetime-local":"inp[type=datetime-local]",
"input:month":"inp[type=month]","input:week":"inp[type=week]","input:time":"inp[type=time]","input:number":"inp[type=number]","input:color":"inp[type=color]","input:checkbox":"inp[type=checkbox]","input:c":"input:checkbox","input:radio":"inp[type=radio]","input:r":"input:radio","input:range":"inp[type=range]","input:file":"inp[type=file]","input:f":"input:file","input:submit":'<input type="submit" value="" />',"input:s":"input:submit","input:image":'<input type="image" src="" alt="" />',"input:i":"input:image",
"input:button":'<input type="button" value="" />',"input:b":"input:button",isindex:"<isindex/>","input:reset":"input:button[type=reset]",select:'<select name="" id="">',option:'<option value="">',textarea:'<textarea name="" id="" cols="${1:30}" rows="${2:10}">',"menu:context":"menu[type=context]>","menu:c":"menu:context","menu:toolbar":"menu[type=toolbar]>","menu:t":"menu:toolbar",video:'<video src="">',audio:'<audio src="">',"html:xml":'<html xmlns="http://www.w3.org/1999/xhtml">',keygen:"<keygen/>",
command:"<command/>",bq:"blockquote",acr:"acronym",fig:"figure",figc:"figcaption",ifr:"iframe",emb:"embed",obj:"object",src:"source",cap:"caption",colg:"colgroup",fst:"fieldset",btn:"button","btn:b":"button[type=button]","btn:r":"button[type=reset]","btn:s":"button[type=submit]",optg:"optgroup",opt:"option",tarea:"textarea",leg:"legend",sect:"section",art:"article",hdr:"header",ftr:"footer",adr:"address",dlg:"dialog",str:"strong",prog:"progress",fset:"fieldset",datag:"datagrid",datal:"datalist",kg:"keygen",
out:"output",det:"details",cmd:"command",doc:"html>(head>meta[charset=UTF-8]+title{${1:Document}})+body",doc4:'html>(head>meta[http-equiv="Content-Type" content="text/html;charset=${charset}"]+title{${1:Document}})+body',"html:4t":"!!!4t+doc4[lang=${lang}]","html:4s":"!!!4s+doc4[lang=${lang}]","html:xt":"!!!xt+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:xs":"!!!xs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:xxs":"!!!xxs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]",
"html:5":"!!!+doc[lang=${lang}]","ol+":"ol>li","ul+":"ul>li","dl+":"dl>dt+dd","map+":"map>area","table+":"table>tr>td","colgroup+":"colgroup>col","colg+":"colgroup>col","tr+":"tr>td","select+":"select>option","optgroup+":"optgroup>option","optg+":"optgroup>option"}},xml:{"extends":"html",profile:"xml",filters:"html"},xsl:{"extends":"html",profile:"xml",filters:"html, xsl",abbreviations:{tm:'<xsl:template match="" mode="">',tmatch:"tm",tn:'<xsl:template name="">',tname:"tn",call:'<xsl:call-template name=""/>',
ap:'<xsl:apply-templates select="" mode=""/>',api:"<xsl:apply-imports/>",imp:'<xsl:import href=""/>',inc:'<xsl:include href=""/>',ch:"<xsl:choose>","xsl:when":'<xsl:when test="">',wh:"xsl:when",ot:"<xsl:otherwise>","if":'<xsl:if test="">',par:'<xsl:param name="">',pare:'<xsl:param name="" select=""/>',"var":'<xsl:variable name="">',vare:'<xsl:variable name="" select=""/>',wp:'<xsl:with-param name="" select=""/>',key:'<xsl:key name="" match="" use=""/>',elem:'<xsl:element name="">',attr:'<xsl:attribute name="">',
attrs:'<xsl:attribute-set name="">',cp:'<xsl:copy select=""/>',co:'<xsl:copy-of select=""/>',val:'<xsl:value-of select=""/>',each:'<xsl:for-each select="">',"for":"each",tex:"<xsl:text></xsl:text>",com:"<xsl:comment>",msg:'<xsl:message terminate="no">',fall:"<xsl:fallback>",num:'<xsl:number value=""/>',nam:'<namespace-alias stylesheet-prefix="" result-prefix=""/>',pres:'<xsl:preserve-space elements=""/>',strip:'<xsl:strip-space elements=""/>',proc:'<xsl:processing-instruction name="">',sort:'<xsl:sort select="" order=""/>',
"choose+":"xsl:choose>xsl:when+xsl:otherwise",xsl:"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}"},snippets:{"!!!":'<?xml version="1.0" encoding="UTF-8"?>'}},haml:{filters:"haml","extends":"html",profile:"xml"},scss:{"extends":"css"},sass:{"extends":"css"},less:{"extends":"css"},stylus:{"extends":"css"}},"system")});
emmet.define("shortcut",function(){var e=/mac\s+os/i.test(navigator.userAgent),d={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},h={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,
pd:34,plus:187,minus:189,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},i={ctrl:"\u2303",control:"\u2303",meta:"\u2318",shift:"\u21e7",alt:"\u2325",enter:"\u23ce",tab:"\u21e5",left:"\u2190",right:"\u2192",up:"\u2191",down:"\u2193"},b={meta:"Ctrl",control:"Ctrl",left:"\u2190",right:"\u2192",up:"\u2191",down:"\u2193"},c={SHIFT:1,CTRL:2,ALT:4,META:8};return{compile:function(a){if(typeof a!="string")return a;for(var b=0,a=a.toLowerCase().split("+"),
d,h,i=0,n=a.length;i<n;i++)h=a[i],!e&&h=="meta"&&(h="ctrl"),h=="ctrl"||h=="control"?b|=c.CTRL:h=="shift"?b|=c.SHIFT:h=="alt"?b|=c.ALT:h=="meta"?b|=c.META:d=h;return{mask:b,key:d}},test:function(a,b){var e=0,i=this.compile(a);b.ctrlKey&&(e|=c.CTRL);b.shiftKey&&(e|=c.SHIFT);b.altKey&&(e|=c.ALT);b.metaKey&&(e|=c.META);var l=b.keyCode?b.keyCode:b.which,n=String.fromCharCode(l).toLowerCase();if(e!==i.mask)return!1;if(i.key.length>1)return h[i.key]==l;else{l==188&&(n=",");l==190&&(n=".");l==191&&(n="/");
if(n==i.key)return!0;if(b.shiftKey&&d[n])return d[n]==i.key}return!1},format:function(a){for(var c=e?i:b,d=e?"":"+",a=a.toLowerCase().split("+"),h=[],l,n=0;n<a.length;n++)l=a[n],h.push(l in c?c[l]:l.charAt().toUpperCase()+l.substring(1));return h.join(d)}}});
emmet.define("editor",function(e,d){var h=null,i=document.createElement("textarea");i.value="\n";e("utils").setNewline(i.value);i=null;return{setContext:function(b){h=b},getContext:function(){return h},getSelectionRange:function(){if("selectionStart"in h)return{start:h.selectionStart,end:h.selectionEnd};else if(document.selection){h.focus();var b=document.selection.createRange();if(b===null)return{start:0,end:this.getContent().length};var c=h.createTextRange(),a=c.duplicate();c.moveToBookmark(b.getBookmark());
a.setEndPoint("EndToStart",c);return{start:a.text.length,end:a.text.length+b.text.length}}else return null},createSelection:function(b,c){typeof c=="undefined"&&(c=b);if("setSelectionRange"in h)h.setSelectionRange(b,c);else if("createTextRange"in h){var a=h.createTextRange();a.collapse(!0);var d=e("utils"),f=d.splitByLines(this.getContent().substring(0,b)).length-1;c-=f+d.splitByLines(this.getContent().substring(b,c)).length-1;b-=f;a.moveStart("character",b);a.moveEnd("character",c-b);a.select()}},
getCurrentLineRange:function(){var b=this.getCaretPos();return b===null?null:e("utils").findNewlineBounds(this.getContent(),b)},getCaretPos:function(){var b=this.getSelectionRange();return b?b.start:null},setCaretPos:function(b){this.createSelection(b)},getCurrentLine:function(){var b=this.getCurrentLineRange();return b.start<b.end?this.getContent().substring(b.start,b.end):""},replaceContent:function(b,c,a,g){var f=this.getContent(),i=e("utils");d.isUndefined(a)&&(a=d.isUndefined(c)?f.length:c);
d.isUndefined(c)&&(c=0);g||(b=i.padString(b,i.getLinePaddingFromPosition(f,c)));g=emmet.require("tabStops").extract(b,{escape:function(a){return a}});b=g.text;(g=g.tabstops[0])?(g.start+=c,g.end+=c):g={start:b.length+c,end:b.length+c};try{h.value=i.replaceSubstring(f,b,c,a),this.createSelection(g.start,g.end)}catch(l){}},getContent:function(){return h.value||""},getSyntax:function(){return e("actionUtils").detectSyntax(this,e("textarea").getOption("syntax"))},getProfileName:function(){var b=e("textarea").getOption("profile");
return this.getSyntax()=="html"&&b?b:e("actionUtils").detectProfile(this)},prompt:function(b){return prompt(b)},getSelection:function(){var b=this.getSelectionRange();if(b)try{return this.getContent().substring(b.start,b.end)}catch(c){}return""},getFilePath:function(){return location.href}}});
emmet.define("textarea",function(e,d){function h(b){for(var c=e("editor").getContext().className||"",g=/\bemmet\-(\w+)\-(\w+)/g,h=d.extend({},a,f||{}),i;i=g.exec(c);){var j=i[1].toLowerCase();i=i[2].toLowerCase();if(i=="true"||i=="yes"||i=="1")i=!0;else if(i=="false"||i=="no"||i=="0")i=!1;h[j]=i}return h[b]}function i(a,b){g[a.toLowerCase()]={compiled:e("shortcut").compile(a),action:b}}function b(a){var a=a||window.event,b=a.target||a.srcElement,c=a.keyCode||a.which,f=e("editor"),i=e("shortcut");
if(b&&b.nodeType==1&&b.nodeName=="TEXTAREA"){if(~b.className.indexOf("no-emmet"))return!1;f.setContext(b);return!d.find(g,function(b){if(i.test(b.compiled,a)){b=b.action;switch(b){case "expand_abbreviation":if(c==9)if(h("use_tab"))b="expand_abbreviation_with_tab";else return!1;break;case "insert_formatted_line_break":if(c==13&&!h("pretty_break"))return!1}e("actions").run(b,f);b=a;b.cancelBubble=!0;b.returnValue=!1;b.stopPropagation&&(b.stopPropagation(),b.preventDefault());return!0}})}return!0}var c=
{"Meta+E":"expand_abbreviation",Tab:"expand_abbreviation","Meta+D":"match_pair_outward","Shift+Meta+D":"match_pair_inward","Shift+Meta+A":"wrap_with_abbreviation","Ctrl+Alt+Right":"next_edit_point","Ctrl+Alt+Left":"prev_edit_point","Meta+L":"select_line","Meta+Shift+M":"merge_lines","Meta+/":"toggle_comment","Meta+J":"split_join_tag","Meta+K":"remove_tag","Shift+Meta+Y":"evaluate_math_expression","Ctrl+Up":"increment_number_by_1","Ctrl+Down":"decrement_number_by_1","Alt+Up":"increment_number_by_01",
"Alt+Down":"decrement_number_by_01","Ctrl+Alt+Up":"increment_number_by_10","Ctrl+Alt+Down":"decrement_number_by_10","Meta+.":"select_next_item","Meta+,":"select_previous_item","Meta+Shift+B":"reflect_css_value",Enter:"insert_formatted_line_break"},a={syntax:"html",use_tab:!1,pretty_break:!1},g={},f={},j=document;j.addEventListener?j.addEventListener("keydown",b,!1):j.attachEvent?ele.attachEvent("onkeydown",b):j.onkeydown=func;f=d.extend({},a,{});typeof emmetKeymap!="undefined"&&(c=emmetKeymap);d.each(c,
function(a,b){i(b,a)});return{setOptions:function(b){f=d.extend({},a,b||{})},getOption:h,addShortcut:i,unbindShortcut:function(a){a=a.toLowerCase();a in g&&delete g[a]},getShortcuts:function(){var a=e("shortcut"),b=e("actions");return d.compact(d.map(g,function(c,e){var f=e.toLowerCase();return f=="tab"||f=="enter"?void 0:{keystroke:a.format(e),compiled:c.compiled,label:d.last((b.get(c.action).options.label||c.action).split("/")),action:c.action}}))},getInfo:function(){var a="This textareas on this page are powered by Emmet toolkit.\n\nAvailable shortcuts:\n",
b=d.map(this.getShortcuts(),function(a){return a.keystroke+" \u2014 "+a.label});a+=b.join("\n")+"\n\n";a+="More info on http://emmet.io/";return a},showInfo:function(){alert(this.getInfo())},setup:function(a){this.setOptions(a)}}});
var _=function(){function e(a,b,c){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;if(a._chain)a=a._wrapped;if(b._chain)b=b._wrapped;if(a.isEqual&&k.isFunction(a.isEqual))return a.isEqual(b);if(b.isEqual&&k.isFunction(b.isEqual))return b.isEqual(a);var g=f.call(a);if(g!=f.call(b))return!1;switch(g){case "[object String]":return a==String(b);case "[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case "[object Date]":case "[object Boolean]":return+a==+b;case "[object RegExp]":return a.source==
b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return!1;for(var d=c.length;d--;)if(c[d]==a)return!0;c.push(a);var d=0,j=!0;if(g=="[object Array]"){if(d=a.length,j=d==b.length)for(;d--;)if(!(j=d in a==d in b&&e(a[d],b[d],c)))break}else{if("constructor"in a!="constructor"in b||a.constructor!=b.constructor)return!1;for(var l in a)if(k.has(a,l)&&(d++,!(j=k.has(b,l)&&e(a[l],b[l],c))))break;if(j){for(l in b)if(k.has(b,l)&&!d--)break;
j=!d}}c.pop();return j}var d=this,h=d._,i={},b=Array.prototype,c=Object.prototype,a=b.slice,g=b.unshift,f=c.toString,j=c.hasOwnProperty,l=b.forEach,n=b.map,m=b.reduce,o=b.reduceRight,p=b.filter,r=b.every,q=b.some,u=b.indexOf,s=b.lastIndexOf,c=Array.isArray,v=Object.keys,w=Function.prototype.bind,k=function(a){return new x(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=k;exports._=k}else d._=k;k.VERSION="1.3.3";var t=k.each=k.forEach=function(a,
b,c){if(a!=null)if(l&&a.forEach===l)a.forEach(b,c);else if(a.length===+a.length)for(var f=0,d=a.length;f<d;f++){if(f in a&&b.call(c,a[f],f,a)===i)break}else for(f in a)if(k.has(a,f)&&b.call(c,a[f],f,a)===i)break};k.map=k.collect=function(a,b,c){var f=[];if(a==null)return f;if(n&&a.map===n)return a.map(b,c);t(a,function(a,d,g){f[f.length]=b.call(c,a,d,g)});if(a.length===+a.length)f.length=a.length;return f};k.reduce=k.foldl=k.inject=function(a,b,c,f){var d=arguments.length>2;a==null&&(a=[]);if(m&&
a.reduce===m)return f&&(b=k.bind(b,f)),d?a.reduce(b,c):a.reduce(b);t(a,function(a,g,k){d?c=b.call(f,c,a,g,k):(c=a,d=!0)});if(!d)throw new TypeError("Reduce of empty array with no initial value");return c};k.reduceRight=k.foldr=function(a,b,c,f){var d=arguments.length>2;a==null&&(a=[]);if(o&&a.reduceRight===o)return f&&(b=k.bind(b,f)),d?a.reduceRight(b,c):a.reduceRight(b);var g=k.toArray(a).reverse();f&&!d&&(b=k.bind(b,f));return d?k.reduce(g,b,c,f):k.reduce(g,b)};k.find=k.detect=function(a,b,c){var f;
D(a,function(a,d,g){if(b.call(c,a,d,g))return f=a,!0});return f};k.filter=k.select=function(a,b,c){var f=[];if(a==null)return f;if(p&&a.filter===p)return a.filter(b,c);t(a,function(a,d,g){b.call(c,a,d,g)&&(f[f.length]=a)});return f};k.reject=function(a,b,c){var f=[];if(a==null)return f;t(a,function(a,d,g){b.call(c,a,d,g)||(f[f.length]=a)});return f};k.every=k.all=function(a,b,c){var f=!0;if(a==null)return f;if(r&&a.every===r)return a.every(b,c);t(a,function(a,d,g){if(!(f=f&&b.call(c,a,d,g)))return i});
return!!f};var D=k.some=k.any=function(a,b,c){b||(b=k.identity);var f=!1;if(a==null)return f;if(q&&a.some===q)return a.some(b,c);t(a,function(a,d,g){if(f||(f=b.call(c,a,d,g)))return i});return!!f};k.include=k.contains=function(a,b){var c=!1;return a==null?c:u&&a.indexOf===u?a.indexOf(b)!=-1:c=D(a,function(a){return a===b})};k.invoke=function(b,c){var f=a.call(arguments,2);return k.map(b,function(a){return(k.isFunction(c)?c||a:a[c]).apply(a,f)})};k.pluck=function(a,b){return k.map(a,function(a){return a[b]})};
k.max=function(a,b,c){if(!b&&k.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&k.isEmpty(a))return-Infinity;var f={computed:-Infinity};t(a,function(a,d,g){d=b?b.call(c,a,d,g):a;d>=f.computed&&(f={value:a,computed:d})});return f.value};k.min=function(a,b,c){if(!b&&k.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&k.isEmpty(a))return Infinity;var f={computed:Infinity};t(a,function(a,d,g){d=b?b.call(c,a,d,g):a;d<f.computed&&(f={value:a,computed:d})});return f.value};k.shuffle=
function(a){var b=[],c;t(a,function(a,f){c=Math.floor(Math.random()*(f+1));b[f]=b[c];b[c]=a});return b};k.sortBy=function(a,b,c){var f=k.isFunction(b)?b:function(a){return a[b]};return k.pluck(k.map(a,function(a,b,d){return{value:a,criteria:f.call(c,a,b,d)}}).sort(function(a,b){var c=a.criteria,f=b.criteria;return c===void 0?1:f===void 0?-1:c<f?-1:c>f?1:0}),"value")};k.groupBy=function(a,b){var c={},f=k.isFunction(b)?b:function(a){return a[b]};t(a,function(a,b){var d=f(a,b);(c[d]||(c[d]=[])).push(a)});
return c};k.sortedIndex=function(a,b,c){c||(c=k.identity);for(var f=0,d=a.length;f<d;){var g=f+d>>1;c(a[g])<c(b)?f=g+1:d=g}return f};k.toArray=function(b){return!b?[]:k.isArray(b)?a.call(b):k.isArguments(b)?a.call(b):b.toArray&&k.isFunction(b.toArray)?b.toArray():k.values(b)};k.size=function(a){return k.isArray(a)?a.length:k.keys(a).length};k.first=k.head=k.take=function(b,c,f){return c!=null&&!f?a.call(b,0,c):b[0]};k.initial=function(b,c,f){return a.call(b,0,b.length-(c==null||f?1:c))};k.last=function(b,
c,f){return c!=null&&!f?a.call(b,Math.max(b.length-c,0)):b[b.length-1]};k.rest=k.tail=function(b,c,f){return a.call(b,c==null||f?1:c)};k.compact=function(a){return k.filter(a,function(a){return!!a})};k.flatten=function(a,b){return k.reduce(a,function(a,c){if(k.isArray(c))return a.concat(b?c:k.flatten(c));a[a.length]=c;return a},[])};k.without=function(b){return k.difference(b,a.call(arguments,1))};k.uniq=k.unique=function(a,b,c){var c=c?k.map(a,c):a,f=[];a.length<3&&(b=!0);k.reduce(c,function(c,d,
g){if(b?k.last(c)!==d||!c.length:!k.include(c,d))c.push(d),f.push(a[g]);return c},[]);return f};k.union=function(){return k.uniq(k.flatten(arguments,!0))};k.intersection=k.intersect=function(b){var c=a.call(arguments,1);return k.filter(k.uniq(b),function(a){return k.every(c,function(b){return k.indexOf(b,a)>=0})})};k.difference=function(b){var c=k.flatten(a.call(arguments,1),!0);return k.filter(b,function(a){return!k.include(c,a)})};k.zip=function(){for(var b=a.call(arguments),c=k.max(k.pluck(b,"length")),
f=Array(c),d=0;d<c;d++)f[d]=k.pluck(b,""+d);return f};k.indexOf=function(a,b,c){if(a==null)return-1;var f;if(c)return c=k.sortedIndex(a,b),a[c]===b?c:-1;if(u&&a.indexOf===u)return a.indexOf(b);c=0;for(f=a.length;c<f;c++)if(c in a&&a[c]===b)return c;return-1};k.lastIndexOf=function(a,b){if(a==null)return-1;if(s&&a.lastIndexOf===s)return a.lastIndexOf(b);for(var c=a.length;c--;)if(c in a&&a[c]===b)return c;return-1};k.range=function(a,b,c){arguments.length<=1&&(b=a||0,a=0);for(var c=arguments[2]||1,
f=Math.max(Math.ceil((b-a)/c),0),d=0,g=Array(f);d<f;)g[d++]=a,a+=c;return g};var E=function(){};k.bind=function(b,c){var f,d;if(b.bind===w&&w)return w.apply(b,a.call(arguments,1));if(!k.isFunction(b))throw new TypeError;d=a.call(arguments,2);return f=function(){if(!(this instanceof f))return b.apply(c,d.concat(a.call(arguments)));E.prototype=b.prototype;var g=new E,k=b.apply(g,d.concat(a.call(arguments)));return Object(k)===k?k:g}};k.bindAll=function(b){var c=a.call(arguments,1);c.length==0&&(c=k.functions(b));
t(c,function(a){b[a]=k.bind(b[a],b)});return b};k.memoize=function(a,b){var c={};b||(b=k.identity);return function(){var f=b.apply(this,arguments);return k.has(c,f)?c[f]:c[f]=a.apply(this,arguments)}};k.delay=function(b,c){var f=a.call(arguments,2);return setTimeout(function(){return b.apply(null,f)},c)};k.defer=function(b){return k.delay.apply(k,[b,1].concat(a.call(arguments,1)))};k.throttle=function(a,b){var c,f,d,g,j,l,e=k.debounce(function(){j=g=!1},b);return function(){c=this;f=arguments;var k;
d||(d=setTimeout(function(){d=null;j&&a.apply(c,f);e()},b));g?j=!0:l=a.apply(c,f);e();g=!0;return l}};k.debounce=function(a,b,c){var f;return function(){var d=this,g=arguments;c&&!f&&a.apply(d,g);clearTimeout(f);f=setTimeout(function(){f=null;c||a.apply(d,g)},b)}};k.once=function(a){var b=!1,c;return function(){if(b)return c;b=!0;return c=a.apply(this,arguments)}};k.wrap=function(b,c){return function(){var f=[b].concat(a.call(arguments,0));return c.apply(this,f)}};k.compose=function(){var a=arguments;
return function(){for(var b=arguments,c=a.length-1;c>=0;c--)b=[a[c].apply(this,b)];return b[0]}};k.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};k.keys=v||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],c;for(c in a)k.has(a,c)&&(b[b.length]=c);return b};k.values=function(a){return k.map(a,k.identity)};k.functions=k.methods=function(a){var b=[],c;for(c in a)k.isFunction(a[c])&&b.push(c);return b.sort()};k.extend=function(b){t(a.call(arguments,
1),function(a){for(var c in a)b[c]=a[c]});return b};k.pick=function(b){var c={};t(k.flatten(a.call(arguments,1)),function(a){a in b&&(c[a]=b[a])});return c};k.defaults=function(b){t(a.call(arguments,1),function(a){for(var c in a)b[c]==null&&(b[c]=a[c])});return b};k.clone=function(a){return!k.isObject(a)?a:k.isArray(a)?a.slice():k.extend({},a)};k.tap=function(a,b){b(a);return a};k.isEqual=function(a,b){return e(a,b,[])};k.isEmpty=function(a){if(a==null)return!0;if(k.isArray(a)||k.isString(a))return a.length===
0;for(var b in a)if(k.has(a,b))return!1;return!0};k.isElement=function(a){return!!(a&&a.nodeType==1)};k.isArray=c||function(a){return f.call(a)=="[object Array]"};k.isObject=function(a){return a===Object(a)};k.isArguments=function(a){return f.call(a)=="[object Arguments]"};if(!k.isArguments(arguments))k.isArguments=function(a){return!(!a||!k.has(a,"callee"))};k.isFunction=function(a){return f.call(a)=="[object Function]"};k.isString=function(a){return f.call(a)=="[object String]"};k.isNumber=function(a){return f.call(a)==
"[object Number]"};k.isFinite=function(a){return k.isNumber(a)&&isFinite(a)};k.isNaN=function(a){return a!==a};k.isBoolean=function(a){return a===!0||a===!1||f.call(a)=="[object Boolean]"};k.isDate=function(a){return f.call(a)=="[object Date]"};k.isRegExp=function(a){return f.call(a)=="[object RegExp]"};k.isNull=function(a){return a===null};k.isUndefined=function(a){return a===void 0};k.has=function(a,b){return j.call(a,b)};k.noConflict=function(){d._=h;return this};k.identity=function(a){return a};
k.times=function(a,b,c){for(var f=0;f<a;f++)b.call(c,f)};k.escape=function(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};k.result=function(a,b){if(a==null)return null;var c=a[b];return k.isFunction(c)?c.call(a):c};k.mixin=function(a){t(k.functions(a),function(b){F(b,k[b]=a[b])})};var G=0;k.uniqueId=function(a){var b=G++;return a?a+b:b};k.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,
escape:/<%-([\s\S]+?)%>/g};var z=/.^/,y={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},A;for(A in y)y[y[A]]=A;var H=/\\|'|\r|\n|\t|\u2028|\u2029/g,I=/\\(\\|'|r|n|t|u2028|u2029)/g,B=function(a){return a.replace(I,function(a,b){return y[b]})};k.template=function(a,b,c){c=k.defaults(c||{},k.templateSettings);a="__p+='"+a.replace(H,function(a){return"\\"+y[a]}).replace(c.escape||z,function(a,b){return"'+\n_.escape("+B(b)+")+\n'"}).replace(c.interpolate||z,function(a,b){return"'+\n("+
B(b)+")+\n'"}).replace(c.evaluate||z,function(a,b){return"';\n"+B(b)+"\n;__p+='"})+"';\n";c.variable||(a="with(obj||{}){\n"+a+"}\n");var a="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+a+"return __p;\n",f=new Function(c.variable||"obj","_",a);if(b)return f(b,k);b=function(a){return f.call(this,a,k)};b.source="function("+(c.variable||"obj")+"){\n"+a+"}";return b};k.chain=function(a){return k(a).chain()};var x=function(a){this._wrapped=a};k.prototype=x.prototype;
var C=function(a,b){return b?k(a).chain():a},F=function(b,c){x.prototype[b]=function(){var b=a.call(arguments);g.call(b,this._wrapped);return C(c.apply(k,b),this._chain)}};k.mixin(k);t(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=b[a];x.prototype[a]=function(){var b=this._wrapped;c.apply(b,arguments);var f=b.length;(a=="shift"||a=="splice")&&f===0&&delete b[0];return C(b,this._chain)}});t(["concat","join","slice"],function(a){var c=b[a];x.prototype[a]=function(){return C(c.apply(this._wrapped,
arguments),this._chain)}});x.prototype.chain=function(){this._chain=!0;return this};x.prototype.value=function(){return this._wrapped};return k}.call({}),emmet=function(e){function d(a,b,d){var l;l=b&&b.hasOwnProperty("constructor")?b.constructor:function(){a.apply(this,arguments)};_.extend(l,a);c.prototype=a.prototype;l.prototype=new c;b&&_.extend(l.prototype,b);d&&_.extend(l,d);l.prototype.constructor=l;l.__super__=a.prototype;return l}function h(c){!(c in b)&&a&&a(c);return b[c]}if(typeof _=="undefined")try{_=
e.require("underscore")}catch(i){}if(typeof _=="undefined")throw"Cannot access to Underscore.js lib";var b={_:_},c=function(){},a=null;return{define:function(a,c){a in b||(b[a]=_.isFunction(c)?this.exec(c):c)},require:h,exec:function(a,b){return a.call(b||e,_.bind(h,this),_,this)},extend:function(a,b){var c=d(this,a,b);c.extend=this.extend;if(a.hasOwnProperty("toString"))c.prototype.toString=a.toString;return c},expandAbbreviation:function(a,b,c,d){if(!a)return"";var b=b||"html",e=h("filters"),i=
h("abbreviationParser"),c=h("profile").get(c,b);h("tabStops").resetTabstopIndex();a=e.extractFromAbbreviation(a);d=i.parse(a[0],{syntax:b,contextNode:d});b=e.composeList(b,c,a[1]);e.apply(d,b,c);return d.toString()},defaultSyntax:function(){return"html"},defaultProfile:function(){return"plain"},log:function(){e.console&&e.console.log&&e.console.log.apply(e.console,arguments)},setModuleLoader:function(b){a=b}}}(this);
if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=emmet;exports.emmet=emmet}typeof define!=="undefined"&&define(emmet);
emmet.define("abbreviationParser",function(e,d){function h(){this.parent=null;this.children=[];this._attributes=[];this.abbreviation="";this.counter=1;this._name=null;this._text="";this.repeatCount=1;this.hasImplicitRepeat=!1;this._data={};this.padding=this.content=this.end=this.start=""}function i(a){return a.substring(1,a.length-1)}function b(a){for(var a=e("utils").trim(a),c=new h,f=c.addChild(),g,j=e("stringStream").create(a),a=1E3,l;!j.eol()&&--a>0;)switch(g=j.peek(),g){case "(":j.start=j.pos;
if(j.skipToPair("(",")"))g=b(i(j.current())),(l=j.match(/^\*(\d+)?/,!0))&&f._setRepeat(l[1]),d.each(g.children,function(a){f.addChild(a)});else throw'Invalid abbreviation: mo matching ")" found for character at '+j.pos;break;case ">":f=f.addChild();j.next();break;case "+":f=f.parent.addChild();j.next();break;case "^":g=f.parent||f;f=(g.parent||g).addChild();j.next();break;default:j.start=j.pos,j.eatWhile(function(a){if(a=="["||a=="{"){if(j.skipToPair(a,p[a]))return j.backUp(1),!0;throw'Invalid abbreviation: mo matching "'+
p[a]+'" found for character at '+j.pos;}return a=="+"?(j.next(),a=j.eol()||~"+>^*".indexOf(j.peek()),j.backUp(1),a):a!="("&&n(a)}),f.setAbbreviation(j.current()),j.start=j.pos}if(a<1)throw"Endless loop detected";return c}function c(a){var a=e("utils").trim(a),b=[],a=e("stringStream").create(a);for(a.eatSpace();!a.eol();)if(a.start=a.pos,a.eatWhile(o)){var c=a.current(),f="";if(a.peek()=="="){a.next();a.start=a.pos;var d=a.peek();if(d=='"'||d=="'"){a.next();a:{for(var f=a,g=void 0;g=f.next();)if(g===
d){f=!0;break a}f=!1}if(f)f=a.current(),f=f.substring(1,f.length-1);else throw"Invalid attribute value";}else if(a.eatWhile(/[^\s\]]/))f=a.current();else throw"Invalid attribute value";}b.push({name:c,value:f});a.eatSpace()}else break;return b}function a(a){for(var b=[],f={"#":"id",".":"class"},d=null,j=e("stringStream").create(a);!j.eol();)switch(j.peek()){case "#":case ".":if(d===null)d=j.pos;var l=f[j.peek()];j.next();j.start=j.pos;j.eatWhile(o);b.push({name:l,value:j.current()});break;case "[":if(d===
null)d=j.pos;j.start=j.pos;if(!j.skipToPair("[","]"))throw"Invalid attribute set definition";b=b.concat(c(i(j.current())));break;default:j.next()}return!b.length?null:{element:a.substring(0,d),attributes:g(b)}}function g(a){var a=d.map(a,function(a){return d.clone(a)}),b={};return d.filter(a,function(a){if(!(a.name in b))return b[a.name]=a;var c=b[a.name];a.name.toLowerCase()=="class"?c.value+=(c.value.length?" ":"")+a.value:c.value=a.value;return!1})}function f(a){if(!~a.indexOf("{"))return null;
for(var b=e("stringStream").create(a);!b.eol();)switch(b.peek()){case "[":case "(":b.skipToPair(b.peek(),p[b.peek()]);break;case "{":return b.start=b.pos,b.skipToPair("{","}"),{element:a.substring(0,b.start),text:i(b.current())};default:b.next()}}function j(a){for(var b=a.children.length-1,c,f,g;b>=0;b--)if(f=a.children[b],f.isRepeating()){g=c=f.repeatCount;f.repeatCount=1;f.updateProperty("counter",1);for(f.updateProperty("maxCount",g);--c>0;)f.parent.addChild(f.clone(),b+1).updateProperty("counter",
c+1).updateProperty("maxCount",g)}d.each(a.children,j);return a}function l(a){for(var b=a.children.length-1;b>=0;b--){var c=a.children[b];c.isGroup()?c.replace(l(c).children):c.isEmpty()&&c.remove()}d.each(a.children,l);return a}function n(a){var b=a.charCodeAt(0);return b>64&&b<91||b>96&&b<123||b>47&&b<58||"#.*:$-_!@|%".indexOf(a)!=-1}var m=/^[\w\-\$\:@\!%]+\+?$/i,o=/[\w\-:\$@]/,p={"[":"]","(":")","{":"}"},r=Array.prototype.splice,q=[],u=[],s=[];h.prototype={addChild:function(a,b){a=a||new h;a.parent=
this;d.isUndefined(b)?this.children.push(a):this.children.splice(b,0,a);return a},clone:function(){var a=new h;d.each(["abbreviation","counter","_name","_text","repeatCount","hasImplicitRepeat","start","end","content","padding"],function(b){a[b]=this[b]},this);a._attributes=d.map(this._attributes,function(a){return d.clone(a)});a._data=d.clone(this._data);a.children=d.map(this.children,function(b){b=b.clone();b.parent=a;return b});return a},remove:function(){if(this.parent)this.parent.children=d.without(this.parent.children,
this);return this},replace:function(){var a=this.parent,b=d.indexOf(a.children,this),c=d.flatten(arguments);r.apply(a.children,[b,1].concat(c));d.each(c,function(b){b.parent=a})},updateProperty:function(a,b){this[a]=b;d.each(this.children,function(c){c.updateProperty(a,b)});return this},find:function(a){return this.findAll(a)[0]},findAll:function(a){if(!d.isFunction(a))var b=a.toLowerCase(),a=function(a){return a.name().toLowerCase()==b};var c=[];d.each(this.children,function(b){a(b)&&c.push(b);c=
c.concat(b.findAll(a))});return d.compact(c)},data:function(a,b){if(arguments.length==2&&(this._data[a]=b,a=="resource"&&e("elements").is(b,"snippet")&&(this.content=b.data,this._text)))this.content=e("abbreviationUtils").insertChildContent(b.data,this._text);return this._data[a]},name:function(){var a=this.matchedResource();return e("elements").is(a,"element")?a.name:this._name},attributeList:function(){var a=[],b=this.matchedResource();e("elements").is(b,"element")&&d.isArray(b.attributes)&&(a=
a.concat(b.attributes));return g(a.concat(this._attributes))},attribute:function(a,b){if(arguments.length==2){var c=d.indexOf(d.pluck(this._attributes,"name"),a.toLowerCase());~c?this._attributes[c].value=b:this._attributes.push({name:a,value:b})}return(d.find(this.attributeList(),function(b){return b.name==a})||{}).value},matchedResource:function(){return this.data("resource")},index:function(){return this.parent?d.indexOf(this.parent.children,this):-1},_setRepeat:function(a){a?this.repeatCount=
parseInt(a,10)||1:this.hasImplicitRepeat=!0},setAbbreviation:function(b){var c=this;this.abbreviation=b=(b||"").replace(/\*(\d+)?$/,function(a,b){c._setRepeat(b);return""});var d=f(b);if(d)b=d.element,this.content=this._text=d.text;if(d=a(b))b=d.element,this._attributes=d.attributes;if((this._name=b)&&!m.test(this._name))throw"Invalid abbreviation";},toString:function(){var a=e("utils"),b=this.start,c=this.end,f=this.content,g=this;d.each(s,function(a){b=a(b,g,"start");f=a(f,g,"content");c=a(c,g,
"end")});var j=d.map(this.children,function(a){return a.toString()}).join(""),f=e("abbreviationUtils").insertChildContent(f,j,{keepVariable:!1});return b+a.padString(f,this.padding)+c},hasEmptyChildren:function(){return!!d.find(this.children,function(a){return a.isEmpty()})},hasImplicitName:function(){return!this._name&&!this.isTextNode()},isGroup:function(){return!this.abbreviation},isEmpty:function(){return!this.abbreviation&&!this.children.length},isRepeating:function(){return this.repeatCount>
1||this.hasImplicitRepeat},isTextNode:function(){return!this.name()&&!this.attributeList().length},isElement:function(){return!this.isEmpty()&&!this.isTextNode()},deepestChild:function(){if(!this.children.length)return null;for(var a=this;a.children.length;)a=d.last(a.children);return a}};s.push(function(a,b){return e("utils").replaceCounter(a,b.counter,b.maxCount)});return{parse:function(a,c){var c=c||{},f=b(a);if(c.contextNode){f._name=c.contextNode.name;var g={};d.each(f._attributes,function(a){g[a.name]=
a});d.each(c.contextNode.attributes,function(a){a.name in g?g[a.name].value=a.value:(a=d.clone(a),f._attributes.push(a),g[a.name]=a)})}d.each(q,function(a){a(f,c)});f=l(j(f));d.each(u,function(a){a(f,c)});return f},AbbreviationNode:h,addPreprocessor:function(a){d.include(q,a)||q.push(a)},removeFilter:function(a){preprocessor=d.without(q,a)},addPostprocessor:function(a){d.include(u,a)||u.push(a)},removePostprocessor:function(a){u=d.without(u,a)},addOutputProcessor:function(a){d.include(s,a)||s.push(a)},
removeOutputProcessor:function(a){s=d.without(s,a)},isAllowedChar:function(a){a=String(a);return n(a)||~">+^[](){}".indexOf(a)}}});
emmet.exec(function(e,d){function h(i,b){var c=e("resources"),a=e("elements"),g=e("abbreviationParser");d.each(d.clone(i.children),function(f){var j=c.getMatchedResource(f,b);if(d.isString(j))f.data("resource",a.create("snippet",j));else if(a.is(j,"reference")){j=g.parse(j.data,{syntax:b});if(f.repeatCount>1){var e=j.findAll(function(a){return a.hasImplicitRepeat});d.each(e,function(a){a.repeatCount=f.repeatCount;a.hasImplicitRepeat=!1})}var i=j.deepestChild();i&&d.each(f.children,function(a){i.addChild(a)});
d.each(j.children,function(a){d.each(f.attributeList(),function(b){a.attribute(b.name,b.value)})});f.replace(j.children)}else f.data("resource",j);h(f,b)})}e("abbreviationParser").addPreprocessor(function(d,b){var c=b.syntax||emmet.defaultSyntax();h(d,c)})});
emmet.exec(function(e,d){function h(a){for(var b=e("range"),c=[],a=e("stringStream").create(a);!a.eol();){if(a.peek()=="\\")a.next();else if(a.start=a.pos,a.match(g,!0)){c.push(b.create(a.start,g));continue}a.next()}return c}function i(a,b){var c=e("utils"),g=h(a);g.reverse();d.each(g,function(d){a=c.replaceSubstring(a,b,d)});return a}function b(a){return h(a.content).length?!0:!!d.find(a.attributeList(),function(a){return!!h(a.value).length})}function c(a,c,g){var h=a.findAll(function(a){return b(a)});
b(a)&&h.unshift(a);h.length?d.each(h,function(a){a.content=i(a.content,c);d.each(a._attributes,function(a){a.value=i(a.value,c)})}):(a=a.deepestChild()||a,a.content=g?c:e("abbreviationUtils").insertChildContent(a.content,c))}var a=e("abbreviationParser"),g="$#";a.addPreprocessor(function(a,b){if(b.pastedContent){var c=e("utils"),g=d.map(c.splitByLines(b.pastedContent,!0),c.trim);a.findAll(function(a){if(a.hasImplicitRepeat)return a.data("paste",g),a.repeatCount=g.length})}});a.addPostprocessor(function(a,
b){!a.findAll(function(a){var b=a.data("paste"),f="";d.isArray(b)?f=b[a.counter-1]:d.isFunction(b)?f=b(a.counter-1,a.content):b&&(f=b);f&&c(a,f,!!a.data("pasteOverwrites"));a.data("paste",null);return!!b}).length&&b.pastedContent&&c(a,b.pastedContent)})});emmet.exec(function(e,d){function h(i){var b=e("tagName");d.each(i.children,function(c){if(c.hasImplicitName()||c.data("forceNameResolving"))c._name=b.resolve(c.parent.name());h(c)});return i}e("abbreviationParser").addPostprocessor(h)});
emmet.define("cssParser",function(e,d){function h(a){return typeof a!=="undefined"}function i(){return{"char":f.chnum,line:f.linenum}}function b(a,b,c){var d=f,c=c||{};j.push({charstart:h(c["char"])?c["char"]:d.chnum,charend:h(c.charend)?c.charend:d.chnum,linestart:h(c.line)?c.line:d.linenum,lineend:h(c.lineend)?c.lineend:d.linenum,value:a,type:b||a})}function c(a,b){var c=f,d=b||{},g=h(d["char"])?d["char"]:c.chnum,d=h(d.line)?d.line:c.linenum;return{name:"ParseError",message:a+" at line "+(d+1)+
" char "+(g+1),walker:c,tokens:j}}function a(a){var c=f,d=c.ch,g=i(),j=a?a+d:d,d=c.nextChar();for(a&&(g["char"]-=a.length);n(d)||m(d);)j+=d,d=c.nextChar();b(j,"identifier",g)}function g(){var d=f.ch;if(d===" "||d==="\t"){for(var g=f.ch,j="",e=i();g===" "||g==="\t";)j+=g,g=f.nextChar();b(j,"white",e)}else{if(d==="/"){var g=f,d=e=g.ch,h,s=i();h=g.nextChar();if(h!=="*")s.charend=s["char"],s.lineend=s.line,j=b(d,d,s);else{for(;!(e==="*"&&h==="/");)d+=h,e=h,h=g.nextChar();d+=h;g.nextChar();b(d,"comment",
s)}return j}if(d==='"'||d==="'"){g=f;d=e=j=g.ch;s=i();for(j=g.nextChar();j!==e;){if(j==="\n")if(h=g.nextChar(),h==="\\")d+=j+h;else throw c("Unterminated string",s);else d+=j==="\\"?j+g.nextChar():j;j=g.nextChar()}d+=j;g.nextChar();b(d,"string",s)}else if(d==="("){g=f;j=g.ch;e=0;d=j;h=i();for(j=g.nextChar();j!==")"&&!e;){if(j==="(")e++;else if(j===")")e--;else if(j===!1)throw c("Unterminated brace",h);d+=j;j=g.nextChar()}d+=j;g.nextChar();b(d,"brace",h)}else{if(d==="-"||d==="."||m(d)){j=f;e=j.ch;
d=i();h=e;var s=h===".",v,e=j.nextChar();v=!m(e);if(s&&v)d.charend=d["char"],d.lineend=d.line,g=b(h,".",d);else if(h==="-"&&v)g=a("-");else{for(;e!==!1&&(m(e)||!s&&e===".");)e==="."&&(s=!0),h+=e,e=j.nextChar();b(h,"number",d)}return g}if(n(d))return a();if(l(d))return g=f,d=g.ch,j=i(),h=g.nextChar(),h==="="&&l(d,!0)?(d+=h,b(d,"match",j),g.nextChar(),e=void 0):(j.charend=j["char"]+1,j.lineend=j.line,b(d,d,j)),e;if(d==="\n")b("line"),f.nextChar();else throw c("Unrecognized character");}}}var f,j=[],
l,n,m;f={lines:null,total_lines:0,linenum:-1,line:"",ch:"",chnum:-1,init:function(a){var b=f;b.lines=a.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n");b.total_lines=b.lines.length;b.chnum=-1;b.linenum=-1;b.ch="";b.line="";b.nextLine();b.nextChar()},nextLine:function(){this.linenum+=1;this.line=this.total_lines<=this.linenum?!1:this.lines[this.linenum];if(this.chnum!==-1)this.chnum=0;return this.line},nextChar:function(){for(this.chnum+=1;this.line.charAt(this.chnum)==="";){if(this.nextLine()===
!1)return this.ch=!1;this.chnum=-1;return this.ch="\n"}return this.ch=this.line.charAt(this.chnum)},peek:function(){return this.line.charAt(this.chnum+1)}};n=function(a){return a=="&"||a==="_"||a==="-"||a>="a"&&a<="z"||a>="A"&&a<="Z"};m=function(a){return a!==!1&&a>="0"&&a<="9"};l=function(){for(var a="{}[]()+*=.,;:>~|\\%$#@^!".split(""),b="*^|$~".split(""),c={},d={},f=0;f<a.length;f+=1)c[a[f]]=!0;for(f=0;f<b.length;f+=1)d[b[f]]=!0;return function(a,b){return b?!!d[a]:!!c[a]}}();return{lex:function(a){f.init(a);
for(j=[];f.ch!==!1;)g();return j},parse:function(a){var b=0;return d.map(this.lex(a),function(c){if(c.type=="line")c.value=a.charAt(b)=="\r"&&a.charAt(b+1)=="\n"?"\r\n":a.charAt(b);return{type:c.type,start:b,end:b+=c.value.length}})},toSource:function(a){for(var b=0,c=a.length,d,f="";b<c;b+=1)d=a[b],f+=d.type==="line"?"\n":d.value;return f}}});
emmet.define("xmlParser",function(e){function d(a,d){function f(b){d.tokenize=b;return b(a,d)}var g=a.next();if(g=="<")if(a.eat("!"))return a.eat("[")?a.match("CDATA[")?f(b("atom","]]\>")):null:a.match("--")?f(b("comment","--\>")):a.match("DOCTYPE",!0,!0)?(a.eatWhile(/[\w\._\-]/),f(c(1))):null;else if(a.eat("?"))return a.eatWhile(/[\w\._\-]/),d.tokenize=b("meta","?>"),"meta";else{w=a.eat("/")?"closeTag":"openTag";a.eatSpace();for(v="";g=a.eat(/[^\s\u00a0=<>\"\'\/?]/);)v+=g;d.tokenize=h;return"tag"}else return g==
"&"?(a.eat("#")?a.eat("x")?a.eatWhile(/[a-fA-F\d]/)&&a.eat(";"):a.eatWhile(/[\d]/)&&a.eat(";"):a.eatWhile(/[\w\.\-:]/)&&a.eat(";"))?"atom":"error":(a.eatWhile(/[^&<]/),"text")}function h(a,b){var c=a.next();return c==">"||c=="/"&&a.eat(">")?(b.tokenize=d,w=c==">"?"endTag":"selfcloseTag","tag"):c=="="?(w="equals",null):/[\'\"]/.test(c)?(b.tokenize=i(c),b.tokenize(a,b)):(a.eatWhile(/[^\s\u00a0=<>\"\'\/?]/),"word")}function i(a){return function(b,c){for(;!b.eol();)if(b.next()==a){c.tokenize=h;break}return"string"}}
function b(a,b){return function(c,f){for(;!c.eol();){if(c.match(b)){f.tokenize=d;break}c.next()}return a}}function c(a){return function(b,f){for(var g;(g=b.next())!=null;)if(g=="<")return f.tokenize=c(a+1),f.tokenize(b,f);else if(g==">")if(a==1){f.tokenize=d;break}else return f.tokenize=c(a-1),f.tokenize(b,f);return"meta"}}function a(){for(var a=arguments.length-1;a>=0;a--)k.cc.push(arguments[a])}function g(){a.apply(null,arguments);return!0}function f(){if(k.context)k.context=k.context.prev}function j(a){if(a==
"openTag")return k.tagName=v,g(o,l(k.startOfLine));else if(a=="closeTag")return a=!1,k.context?k.context.tagName!=v&&(s.implicitlyClosed.hasOwnProperty(k.context.tagName.toLowerCase())&&f(),a=!k.context||k.context.tagName!=v):a=!0,a&&(t="error"),g(n(a));return g()}function l(a){return function(b){if(b=="selfcloseTag"||b=="endTag"&&s.autoSelfClosers.hasOwnProperty(k.tagName.toLowerCase()))return m(k.tagName.toLowerCase()),g();if(b=="endTag"){m(k.tagName.toLowerCase());var b=k.tagName,c=s.doNotIndent.hasOwnProperty(b)||
k.context&&k.context.noIndent;k.context={prev:k.context,tagName:b,indent:k.indented,startOfLine:a,noIndent:c}}return g()}}function n(a){return function(b){a&&(t="error");if(b=="endTag")return f(),g();t="error";return g(arguments.callee)}}function m(a){for(var b;;){if(!k.context)break;b=k.context.tagName.toLowerCase();if(!s.contextGrabbers.hasOwnProperty(b)||!s.contextGrabbers[b].hasOwnProperty(a))break;f()}}function o(b){if(b=="word")return t="attribute",g(p,o);if(b=="endTag"||b=="selfcloseTag")return a();
t="error";return g(o)}function p(b){if(b=="equals")return g(r,o);s.allowMissing||(t="error");return b=="endTag"||b=="selfcloseTag"?a():g()}function r(b){if(b=="string")return g(q);if(b=="word"&&s.allowUnquoted)return t="string",g();t="error";return b=="endTag"||b=="selfCloseTag"?a():g()}function q(b){return b=="string"?g(q):a()}function u(a,b){if(a.sol())b.startOfLine=!0,b.indented=0;if(a.eatSpace())return null;t=w=v=null;var c=b.tokenize(a,b);b.type=w;if((c||w)&&c!="comment")for(k=b;;)if((b.cc.pop()||
j)(w||c))break;b.startOfLine=!1;return t||c}var s={autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!0,allowMissing:!0},v=null,w=null,k=null,t;return{parse:function(a,b){for(var b=b||0,c={tokenize:d,cc:[],indented:0,startOfLine:!0,tagName:null,context:null},f=e("stringStream").create(a),g=[];!f.eol();)g.push({type:u(f,c),start:f.start+b,end:f.pos+b}),f.start=f.pos;return g}}});
emmet.define("string-score",function(){return{score:function(e,d,h){if(e==d)return 1;if(d=="")return 0;for(var i=0,b=d.length,c=e.length,a,g=1,f=0,j,l,n,m;f<b;++f){n=d.charAt(f);j=e.indexOf(n.toLowerCase());l=e.indexOf(n.toUpperCase());m=Math.min(j,l);l=m>-1?m:Math.max(j,l);if(l===-1)if(h){g+=1-h;continue}else return 0;else j=0.1;e[l]===n&&(j+=0.1);l===0?(j+=0.6,f===0&&(a=1)):e.charAt(l-1)===" "&&(j+=0.8);e=e.substring(l+1,c);i+=j}e=i/b;b=(e*(b/c)+e)/2;b/=g;a&&b+0.15<1&&(b+=0.15);return b}}});
emmet.define("utils",function(e,d){function h(b){this._data=[];this.length=0;b&&this.append(b)}var i="${0}";h.prototype={append:function(b){this._data.push(b);this.length+=b.length},toString:function(){return this._data.join("")},valueOf:function(){return this.toString()}};return{reTag:/<\/?[\w:\-]+(?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*\s*(\/?)>$/,endsWithTag:function(b){return this.reTag.test(b)},isNumeric:function(b){typeof b=="string"&&(b=b.charCodeAt(0));return b&&b>47&&
b<58},trim:function(b){return(b||"").replace(/^\s+|\s+$/g,"")},getNewline:function(){var b=e("resources");if(!b)return"\n";b=b.getVariable("newline");return d.isString(b)?b:"\n"},setNewline:function(b){var c=e("resources");c.setVariable("newline",b);c.setVariable("nl",b)},splitByLines:function(b,c){var a=this.getNewline(),a=(b||"").replace(/\r\n/g,"\n").replace(/\n\r/g,"\n").replace(/\r/g,"\n").replace(/\n/g,a).split(a);c&&(a=d.filter(a,function(a){return a.length&&!!this.trim(a)},this));return a},
normalizeNewline:function(b){return this.splitByLines(b).join(this.getNewline())},repeatString:function(b,c){for(var a=[],d=0;d<c;d++)a.push(b);return a.join("")},getStringsPads:function(b){var b=d.map(b,function(a){return d.isString(a)?a.length:+a}),c=d.max(b);return d.map(b,function(a){return(a=c-a)?this.repeatString(" ",a):""},this)},padString:function(b,c){var a=d.isNumber(c)?this.repeatString(e("resources").getVariable("indentation")||"\t",c):c,g=[],f=this.splitByLines(b),j=this.getNewline();
g.push(f[0]);for(var h=1;h<f.length;h++)g.push(j+a+f[h]);return g.join("")},zeroPadString:function(b,c){for(var a="",d=b.length;c>d++;)a+="0";return a+b},unindentString:function(b,c){for(var a=this.splitByLines(b),d=0;d<a.length;d++)a[d].search(c)==0&&(a[d]=a[d].substr(c.length));return a.join(this.getNewline())},replaceUnescapedSymbol:function(b,c,a){for(var g=0,f=b.length,j=c.length,e=0;g<f;)if(b.charAt(g)=="\\")g+=j+1;else if(b.substr(g,j)==c){var h=j;e++;var i=a;if(d.isFunction(a))(i=a(b,c,g,
e))?(h=i[0].length,i=i[1]):i=!1;i===!1?g++:(b=b.substring(0,g)+i+b.substring(g+h),f=b.length,g+=i.length)}else g++;return b},replaceVariables:function(b,c){var c=c||{},a=d.isFunction(c)?c:function(a,b){return b in c?c[b]:null},g=e("resources");return e("tabStops").processText(b,{variable:function(b){var c=a(b.token,b.name,b);c===null&&(c=g.getVariable(b.name));if(c===null||d.isUndefined(c))c=b.token;return c}})},replaceCounter:function(b,c,a){b=String(b);c=String(c);/^\-?\d+$/.test(c)&&(c=+c);var g=
this;return this.replaceUnescapedSymbol(b,"$",function(b,j,e){if(b.charAt(e+1)=="{"||g.isNumeric(b.charAt(e+1)))return!1;for(j=e+1;b.charAt(j)=="$"&&b.charAt(j+1)!="{";)j++;var h=j-e,i=0,o=!1,p;if(p=b.substr(j).match(/^@(\-?)(\d*)/))j+=p[0].length,p[1]&&(o=!0),i=parseInt(p[2]||1)-1;o&&a&&d.isNumber(c)&&(c=a-c+1);c+=i;return[b.substring(e,j),g.zeroPadString(c+"",h)]})},matchesTag:function(b){return this.reTag.test(b||"")},escapeText:function(b){return b.replace(/([\$\\])/g,"\\$1")},unescapeText:function(b){return b.replace(/\\(.)/g,
"$1")},getCaretPlaceholder:function(){return d.isFunction(i)?i.apply(this,arguments):i},setCaretPlaceholder:function(b){i=b},getLinePadding:function(b){return(b.match(/^(\s+)/)||[""])[0]},getLinePaddingFromPosition:function(b,c){return this.getLinePadding(this.findNewlineBounds(b,c).substring(b))},escapeForRegexp:function(b){return b.replace(RegExp("[.*+?|()\\[\\]{}\\\\]","g"),"\\$&")},prettifyNumber:function(b,c){return b.toFixed(typeof c=="undefined"?2:c).replace(/\.?0+$/,"")},stringBuilder:function(b){return new h(b)},
replaceSubstring:function(b,c,a,g){if(d.isObject(a)&&"end"in a)g=a.end,a=a.start;d.isString(g)&&(g=a+g.length);d.isUndefined(g)&&(g=a);return a<0||a>b.length?b:b.substring(0,a)+c+b.substring(g)},narrowToNonSpace:function(b,c,a){c=e("range").create(c,a);for(a=/[\s\n\r\u00a0]/;c.start<c.end;){if(!a.test(b.charAt(c.start)))break;c.start++}for(;c.end>c.start;)if(c.end--,!a.test(b.charAt(c.end))){c.end++;break}return c},findNewlineBounds:function(b,c){for(var a=b.length,d=0,f=a-1,j=c-1;j>0;j--){var h=
b.charAt(j);if(h=="\n"||h=="\r"){d=j+1;break}}for(j=c;j<a;j++)if(h=b.charAt(j),h=="\n"||h=="\r"){f=j;break}return e("range").create(d,f-d)},deepMerge:function(){var b,c,a,g,f,j=arguments[0]||{},e=1,h=arguments.length;for(!d.isObject(j)&&!d.isFunction(j)&&(j={});e<h;e++)if((b=arguments[e])!=null)for(c in b)a=j[c],g=b[c],j!==g&&(g&&(d.isObject(g)||(f=d.isArray(g)))?(f?(f=!1,a=a&&d.isArray(a)?a:[]):a=a&&d.isObject(a)?a:{},j[c]=this.deepMerge(a,g)):g!==void 0&&(j[c]=g));return j}}});
emmet.define("range",function(e,d){function h(b,c,a){switch(a){case "eq":case "==":return b===c;case "lt":case "<":return b<c;case "lte":case "<=":return b<=c;case "gt":case ">":return b>c;case "gte":case ">=":return b>=c}}function i(b,c){d.isObject(b)&&"start"in b?(this.start=Math.min(b.start,b.end),this.end=Math.max(b.start,b.end)):d.isArray(b)?(this.start=b[0],this.end=b[1]):(c=d.isString(c)?c.length:+c,this.start=b,this.end=b+c)}i.prototype={length:function(){return Math.abs(this.end-this.start)},
equal:function(b){return this.cmp(b,"eq","eq")},shift:function(b){this.start+=b;this.end+=b;return this},overlap:function(b){return b.start<=this.end&&b.end>=this.start},intersection:function(b){if(this.overlap(b)){var c=Math.max(b.start,this.start);return new i(c,Math.min(b.end,this.end)-c)}return null},union:function(b){if(this.overlap(b)){var c=Math.min(b.start,this.start);return new i(c,Math.max(b.end,this.end)-c)}return null},inside:function(b){return this.cmp(b,"lte","gt")},contains:function(b){return this.cmp(b,
"lt","gt")},include:function(){return this.cmp(loc,"lte","gte")},cmp:function(b,c,a){var d;b instanceof i?(d=b.start,b=b.end):d=b;return h(this.start,d,c||"<=")&&h(this.end,b,a||">")},substring:function(b){return this.length()>0?b.substring(this.start,this.end):""},clone:function(){return new i(this.start,this.length())},toArray:function(){return[this.start,this.end]},toString:function(){return"{"+this.start+", "+this.length()+"}"}};return{create:function(b,c){if(d.isUndefined(b)||b===null)return null;
if(b instanceof i)return b;if(d.isObject(b)&&"start"in b&&"end"in b)c=b.end-b.start,b=b.start;return new i(b,c)},create2:function(b,c){d.isNumber(b)&&d.isNumber(c)&&(c-=b);return this.create(b,c)}}});
emmet.define("handlerList",function(e,d){function h(){this._list=[]}h.prototype={add:function(e,b){this._list.push(d.extend({order:0},b||{},{fn:e}))},remove:function(e){this._list=d.without(this._list,d.find(this._list,function(b){return b.fn===e}))},list:function(){return d.sortBy(this._list,"order").reverse()},listFn:function(){return d.pluck(this.list(),"fn")},exec:function(e,b){var b=b||[],c=null;d.find(this.list(),function(a){c=a.fn.apply(a,b);if(c!==e)return!0});return c}};return{create:function(){return new h}}});
emmet.define("tokenIterator",function(e,d){function h(d){this.tokens=d;this._position=0;this.reset()}h.prototype={next:function(){if(this.hasNext()){var d=this.tokens[++this._i];this._position=d.start;return d}return null},current:function(){return this.tokens[this._i]},position:function(){return this._position},hasNext:function(){return this._i<this._il-1},reset:function(){this._i=-1;this._il=this.tokens.length},item:function(){return this.tokens[this._i]},itemNext:function(){return this.tokens[this._i+
1]},itemPrev:function(){return this.tokens[this._i-1]},nextUntil:function(e,b){for(var c,a=d.isString(e)?function(a){return a.type==e}:e;c=this.next();)if(b&&b.call(this,c),a.call(this,c))break}};return{create:function(d){return new h(d)}}});
emmet.define("stringStream",function(){function e(d){this.pos=this.start=0;this.string=d}e.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(d){var e=this.string.charAt(this.pos);if(typeof d=="string"?e==d:e&&(d.test?d.test(e):d(e)))return++this.pos,e},eatWhile:function(d){for(var e=this.pos;this.eat(d););
return this.pos>e},eatSpace:function(){for(var d=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>d},skipToEnd:function(){this.pos=this.string.length},skipTo:function(d){d=this.string.indexOf(d,this.pos);if(d>-1)return this.pos=d,!0},skipToPair:function(d,e){for(var i=0,b,c=this.pos,a=this.string.length;c<a;)if(b=this.string.charAt(c++),b==d)i++;else if(b==e&&(i--,i<1))return this.pos=c,!0;return!1},backUp:function(d){this.pos-=d},match:function(d,e,i){if(typeof d==
"string"){if(i=i?function(b){return b.toLowerCase()}:function(b){return b},i(this.string).indexOf(i(d),this.pos)==this.pos)return e!==!1&&(this.pos+=d.length),!0}else return(d=this.string.slice(this.pos).match(d))&&e!==!1&&(this.pos+=d[0].length),d},current:function(){return this.string.slice(this.start,this.pos)}};return{create:function(d){return new e(d)}}});
emmet.define("resources",function(e,d){function h(a,c,d){var g=e("utils"),c=g.replaceUnescapedSymbol(c,"|",g.getCaretPlaceholder());if(d=="snippets")return e("elements").create("snippet",c);if(d=="abbreviations"){d=c;e("utils").trim(a);var a=e("elements"),h;return(h=b.exec(d))?a.create("element",h[1],h[2],h[4]=="/"):a.create("reference",d)}}var i={},b=/^<(\w+\:?[\w\-]*)((?:\s+[\w\:\-]+\s*=\s*(['"]).*?\3)*)\s*(\/?)>/,c={},a={},g=e("handlerList").create();return{setVocabulary:function(b,d){i={};d==
"system"?c=b:a=b},getVocabulary:function(b){return b=="system"?c:a},getMatchedResource:function(a,b){return g.exec(null,d.toArray(arguments))||this.findSnippet(b,a.name())},getVariable:function(a){return(this.getSection("variables")||{})[a]},setVariable:function(a,b){var c=this.getVocabulary("user")||{};if(!("variables"in c))c.variables={};c.variables[a]=b;this.setVocabulary(c,"user")},hasSyntax:function(a){return a in this.getVocabulary("user")||a in this.getVocabulary("system")},addResolver:function(a,
b){g.add(a,b)},removeResolver:function(a){g.remove(a)},getSection:function(b){if(!b)return null;b in i||(i[b]=e("utils").deepMerge({},c[b],a[b]));for(var g=i[b],h=d.rest(arguments),n;g&&(n=h.shift());)if(n in g)g=g[n];else return null;return g},findItem:function(a,b){for(var c=this.getSection(a);c;){if(b in c)return c[b];c=this.getSection(c["extends"])}},findSnippet:function(a,b,c){if(!a||!b)return null;var c=c||[],g=[b];~b.indexOf("-")&&g.push(b.replace(/\-/g,":"));var e=this.getSection(a),i=null;
d.find(["snippets","abbreviations"],function(b){var c=this.getSection(a,b);if(c)return d.find(g,function(a){if(c[a])return i=h(a,c[a],b)})},this);c.push(a);return!i&&e["extends"]&&!d.include(c,e["extends"])?this.findSnippet(e["extends"],b,c):i},fuzzyFindSnippet:function(a,b,c){var c=c||0.3,a=this.getAllSnippets(a),g=e("string-score"),b=b.replace(/:$/,"").replace(/:/g,"-"),h=d.map(a,function(a,c){return{key:c,score:g.score(a.nk,b,0.1)}});if((h=d.last(d.sortBy(h,"score")))&&h.score>=c)return a[h.key].parsedValue},
getAllSnippets:function(a){var b="all-"+a;if(!i[b]){var c=[],g=[];do{var e=this.getSection(a);if(!e)break;d.each(["snippets","abbreviations"],function(a){var b={};d.each(e[a]||null,function(c,d){b[d]={nk:d.replace(/:$/,"").replace(/:/g,"-"),value:c,parsedValue:h(d,c,a),type:a}});c.push(b)});g.push(a);a=e["extends"]}while(a&&!d.include(g,a));i[b]=d.extend.apply(d,c.reverse())}return i[b]}}});
emmet.define("actions",function(e,d){function h(b){return e("utils").trim(b.charAt(0).toUpperCase()+b.substring(1).replace(/_[a-z]/g,function(b){return" "+b.charAt(1).toUpperCase()}))}var i={};return{add:function(b,c,a){b=b.toLowerCase();a=a||{};if(!a.label)a.label=h(b);i[b]={name:b,fn:c,options:a}},get:function(b){return i[b.toLowerCase()]},run:function(b,c){d.isArray(c)||(c=d.rest(arguments));var a=this.get(b);return a?a.fn.apply(emmet,c):(emmet.log('Action "%s" is not defined',b),!1)},getAll:function(){return i},
getList:function(){return d.values(this.getAll())},getMenu:function(b){var c=[],b=b||[];d.each(this.getList(),function(a){if(!a.options.hidden&&!d.include(b,a.name)){var g=h(a.name),f=c;if(a.options.label)for(var j=a.options.label.split("/"),g=j.pop(),e,i;e=j.shift();)i=d.find(f,function(a){return a.type=="submenu"&&a.name==e}),i||(i={name:e,type:"submenu",items:[]},f.push(i)),f=i.items;f.push({type:"action",name:a.name,label:g})}});return c},getActionNameForMenuTitle:function(b,c){var a=null;d.find(c||
this.getMenu(),function(c){if(c.type=="action"){if(c.label==b||c.name==b)return a=c.name}else return a=this.getActionNameForMenuTitle(b,c.items)},this);return a||null}}});
emmet.define("profile",function(e,d){function h(a){d.extend(this,g,a)}function i(a,b){switch(String(b||"").toLowerCase()){case "lower":return a.toLowerCase();case "upper":return a.toUpperCase()}return a}function b(b,c){return a[b.toLowerCase()]=new h(c)}function c(){b("xhtml");b("html",{self_closing_tag:!1});b("xml",{self_closing_tag:!0,tag_nl:!0});b("plain",{tag_nl:!1,indent:!1,place_cursor:!1});b("line",{tag_nl:!1,indent:!1,extraFilters:"s"})}var a={},g={tag_case:"asis",attr_case:"asis",attr_quotes:"double",
tag_nl:"decide",tag_nl_leaf:!1,place_cursor:!0,indent:!0,inline_break:3,self_closing_tag:"xhtml",filters:"",extraFilters:""};h.prototype={tagName:function(a){return i(a,this.tag_case)},attributeName:function(a){return i(a,this.attr_case)},attributeQuote:function(){return this.attr_quotes=="single"?"'":'"'},selfClosing:function(){return this.self_closing_tag=="xhtml"?" /":this.self_closing_tag===!0?"/":""},cursor:function(){return this.place_cursor?e("utils").getCaretPlaceholder():""}};c();return{create:function(a,
c){return arguments.length==2?b(a,c):new h(d.defaults(a||{},g))},get:function(b,c){if(!b&&c){var g=e("resources").findItem(c,"profile");g&&(b=g)}return!b?a.plain:b instanceof h?b:d.isString(b)&&b.toLowerCase()in a?a[b.toLowerCase()]:this.create(b)},remove:function(b){b=(b||"").toLowerCase();b in a&&delete a[b]},reset:function(){a={};c()},stringCase:i}});
emmet.define("editorUtils",function(e){return{isInsideTag:function(d,e){for(var i=/^<\/?\w[\w\:\-]*.*?>/,b=e;b>-1;){if(d.charAt(b)=="<")break;b--}return b!=-1&&(i=i.exec(d.substring(b)))&&e>b&&e<b+i[0].length?!0:!1},outputInfo:function(d,e,i){i=i||d.getProfileName();return{syntax:String(e||d.getSyntax()),profile:i?String(i):null,content:String(d.getContent())}},unindent:function(d,h){return e("utils").unindentString(h,this.getCurrentLinePadding(d))},getCurrentLinePadding:function(d){return e("utils").getLinePadding(d.getCurrentLine())}}});
emmet.define("actionUtils",function(e){return{mimeTypes:{gif:"image/gif",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",svg:"image/svg+xml",html:"text/html",htm:"text/html"},extractAbbreviation:function(d){for(var h=d.length,i=-1,b=0,c=0,a=0,g=e("utils"),f=e("abbreviationParser");;){h--;if(h<0){i=0;break}var j=d.charAt(h);if(j=="]")c++;else if(j=="["){if(!c){i=h+1;break}c--}else if(j=="}")a++;else if(j=="{"){if(!a){i=h+1;break}a--}else if(j==")")b++;else if(j=="("){if(!b){i=h+1;break}b--}else if(!c&&
!a&&(!f.isAllowedChar(j)||j==">"&&g.endsWithTag(d.substring(0,h+1)))){i=h+1;break}}return i!=-1&&!a&&!c&&!b?d.substring(i).replace(/^[\*\+\>\^]+/,""):""},getImageSize:function(d){var e=function(){return d.charCodeAt(i++)};if(d.substr(0,8)==="\u0089PNG\r\n\u001a\n"){var i=d.indexOf("IHDR")+4;return{width:e()<<24|e()<<16|e()<<8|e(),height:e()<<24|e()<<16|e()<<8|e()}}else if(d.substr(0,4)==="GIF8")return i=6,{width:e()|e()<<8,height:e()|e()<<8};else if(d.substr(0,2)==="\u00ff\u00d8")for(var i=2,b=d.length;i<
b;){if(e()!=255)break;var c=e();if(c==218)break;var a=e()<<8|e();if(c>=192&&c<=207&&!(c&4)&&!(c&8))return i+=1,{height:e()<<8|e(),width:e()<<8|e()};else i+=a-2}},captureContext:function(d){if(String(d.getSyntax())in{html:1,xml:1,xsl:1}){var h=String(d.getContent()),i=e("htmlMatcher").find(h,d.getCaretPos());if(i&&i.type=="tag"){for(var d=/([\w\-:]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,i=i.open,h=i.range.substring(h).replace(/^<[\w\-\:]+/,""),i={name:i.name,attributes:[]},
b;b=d.exec(h);)i.attributes.push({name:b[1],value:b[2]});return i}}return null},findExpressionBounds:function(d,h){for(var i=String(d.getContent()),b=i.length,c=d.getCaretPos()-1,a=c+1;c>=0&&h(i.charAt(c),c,i);)c--;for(;a<b&&h(i.charAt(a),a,i);)a++;if(a>c)return e("range").create([++c,a])},compoundUpdate:function(d,e){if(e){var i=d.getSelectionRange();d.replaceContent(e.data,e.start,e.end,!0);d.createSelection(e.caret,e.caret+i.end-i.start);return!0}return!1},detectSyntax:function(d,h){var i=h||"html";
e("resources").hasSyntax(i)||(i="html");if(i=="html"&&(this.isStyle(d)||this.isInlineCSS(d)))i="css";return i},detectProfile:function(d){var h=d.getSyntax(),i=e("resources").findItem(h,"profile");if(i)return i;switch(h){case "xml":case "xsl":return"xml";case "css":if(this.isInlineCSS(d))return"line";break;case "html":return(i=e("resources").getVariable("profile"))||(i=this.isXHTML(d)?"xhtml":"html"),i}return"xhtml"},isXHTML:function(d){return d.getContent().search(/<!DOCTYPE[^>]+XHTML/i)!=-1},isStyle:function(d){var h=
String(d.getContent()),d=d.getCaretPos();return(h=e("htmlMatcher").tag(h,d))&&h.open.name.toLowerCase()=="style"&&h.innerRange.cmp(d,"lte","gte")},isInlineCSS:function(d){var h=String(d.getContent()),d=d.getCaretPos();return(h=e("xmlEditTree").parseFromPosition(h,d,!0))?(h=h.itemFromPosition(d,!0))&&h.name().toLowerCase()=="style"&&h.valueRange(!0).cmp(d,"lte","gte"):!1}}});
emmet.define("abbreviationUtils",function(e,d){return{isSnippet:function(d){return e("elements").is(d.matchedResource(),"snippet")},isUnary:function(d){return d.children.length||d._text||this.isSnippet(d)?!1:(d=d.matchedResource())&&d.is_empty},isInline:function(d){return d.isTextNode()||!d.name()||e("tagName").isInlineLevel(d.name())},isBlock:function(d){return this.isSnippet(d)||!this.isInline(d)},isSnippet:function(d){return e("elements").is(d.matchedResource(),"snippet")},hasTagsInContent:function(d){return e("utils").matchesTag(d.content)},
hasBlockChildren:function(e){return this.hasTagsInContent(e)&&this.isBlock(e)||d.any(e.children,function(d){return this.isBlock(d)},this)},insertChildContent:function(h,i,b){var b=d.extend({keepVariable:!0,appendIfNoChild:!0},b||{}),c=!1,a=e("utils"),h=a.replaceVariables(h,function(d,f,e){var l=d;f=="child"&&(l=a.padString(i,a.getLinePaddingFromPosition(h,e.start)),c=!0,b.keepVariable&&(l+=d));return l});!c&&b.appendIfNoChild&&(h+=i);return h}}});
emmet.define("base64",function(){return{encode:function(e){for(var d=[],h,i,b,c,a,g,f=0,j=e.length;f<j;)c=e.charCodeAt(f++),a=e.charCodeAt(f++),g=e.charCodeAt(f++),h=c&255,i=a&255,b=g&255,c=h>>2,h=(h&3)<<4|i>>4,i=(i&15)<<2|b>>6,b&=63,isNaN(a)?i=b=64:isNaN(g)&&(b=64),d.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(i)+
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(b));return d.join("")},decode:function(e){var d,h,i,b,c,a=0,g=0,f=[],j=e.length;if(!e)return e;e+="";do d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(e.charAt(a++)),
i=d<<18|h<<12|b<<6|c,d=i>>16&255,h=i>>8&255,i&=255,b==64?f[g++]=String.fromCharCode(d):c==64?f[g++]=String.fromCharCode(d,h):f[g++]=String.fromCharCode(d,h,i);while(a<j);return f.join("")}}});
emmet.define("htmlMatcher",function(e,d){function h(b){var d={},j;return{open:function(a){return(a=this.matches(a))&&a.type=="open"?a:null},close:function(a){return(a=this.matches(a))&&a.type=="close"?a:null},matches:function(h){var i="p"+h;if(!(i in d)&&b.charAt(h)=="<"){var m=b.slice(h);d[i]=(j=m.match(c))?{name:j[1],selfClose:!!j[3],range:e("range").create(h,j[0]),type:"open"}:(j=m.match(a))?{name:j[1],range:e("range").create(h,j[0]),type:"close"}:!1}return d[i]},text:function(){return b}}}function i(a,
b,c){return a.substring(b,b+c.length)==c}function b(a,b){for(var c=[],e=null,h=b.text(),m=a.range.end,o=h.length;m<o;m++){if(i(h,m,"<\!--"))for(e=m;e<o;e++)if(i(h,e,"--\>")){m=e+3;break}if(e=b.matches(m))if(e.type=="open"&&!e.selfClose)c.push(e.name);else if(e.type=="close"){if(!c.length)return e.name==a.name?e:null;if(d.last(c)==e.name)c.pop();else{for(var p=!1;c.length&&!p;)c.pop()==e.name&&(p=!0);if(!c.length&&!p)return e.name==a.name?e:null}}}}var c=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,
a=/^<\/([\w\:\-]+)[^>]*>/;return{find:function(a,c){for(var j=e("range"),l=h(a),n=null,m=null,o=c;o>=0;o--)if(n=l.open(o))if(n.selfClose){if(n.range.cmp(c,"lt","gt"))break}else{if(m=b(n,l)){if(j.create2(n.range.start,m.range.end).contains(c))break}else if(n.range.contains(c))break;n=null}else if(i(a,o,"--\>"))for(var p=o-1;p>=0;p--)if(i(a,p,"--\>"))break;else{if(i(a,p,"<\!--")){o=p;break}}else if(i(a,o,"<\!--")){p=o+4;for(n=a.length;p<n;p++)if(i(a,p,"--\>")){p+=3;break}n={range:e("range").create(o,
d.isNumber(p)?p-o:p[0]),type:"comment"};break}if(n)return p=o=null,m?(o=j.create2(n.range.start,m.range.end),p=j.create2(n.range.end,m.range.start)):o=p=j.create2(n.range.start,n.range.end),n.type=="comment"&&(j=o.substring(a),p.start+=j.length-j.replace(/^<\!--\s*/,"").length,p.end-=j.length-j.replace(/\s*--\>$/,"").length),{open:n,close:m,type:n.type=="comment"?"comment":"tag",innerRange:p,innerContent:function(){return this.innerRange.substring(a)},outerRange:o,outerContent:function(){return this.outerRange.substring(a)},
range:!p.length()||!p.cmp(c,"lte","gte")?o:p,content:function(){return this.range.substring(a)},source:a}},tag:function(a,b){var c=this.find(a,b);if(c&&c.type=="tag")return c}}});
emmet.define("tabStops",function(e,d){var h=100,i=0,b={replaceCarets:!1,escape:function(b){return"\\"+b},tabstop:function(b){return b.token},variable:function(b){return b.token}};e("abbreviationParser").addOutputProcessor(function(b,a){var d=0,f=e("tabStops"),j=e("utils"),h={tabstop:function(a){var b=parseInt(a.group);if(b==0)return"${0}";b>d&&(d=b);return a.placeholder?(b+=i,a=f.processText(a.placeholder,h),"${"+b+":"+a+"}"):"${"+(b+i)+"}"}},b=f.processText(b,h),b=j.replaceVariables(b,f.variablesResolver(a));
i+=d+1;return b});return{extract:function(c,a){var g=e("utils"),f={carets:""},j=[],a=d.extend({},b,a,{tabstop:function(a){var b=a.token,c="";if(a.placeholder=="cursor")j.push({start:a.start,end:a.start+b.length,group:"carets",value:""});else{if("placeholder"in a)f[a.group]=a.placeholder;a.group in f&&(c=f[a.group]);j.push({start:a.start,end:a.start+b.length,group:a.group,value:c})}return b}});a.replaceCarets&&(c=c.replace(RegExp(g.escapeForRegexp(g.getCaretPlaceholder()),"g"),"${0:cursor}"));var c=
this.processText(c,a),h=g.stringBuilder(),i=0,g=d.map(j,function(a){h.append(c.substring(i,a.start));var b=h.length,d=f[a.group]||"";h.append(d);i=a.end;return{group:a.group,start:b,end:b+d.length}});h.append(c.substring(i));return{text:h.toString(),tabstops:d.sortBy(g,"start")}},processText:function(c,a){for(var a=d.extend({},b,a),g=e("utils").stringBuilder(),f=e("stringStream").create(c),j,h;j=f.next();)if(j=="\\"&&!f.eol())g.append(a.escape(f.next()));else{h=j;if(j=="$")if(f.start=f.pos-1,f.match(/^[0-9]+/))h=
a.tabstop({start:g.length,group:f.current().substr(1),token:f.current()});else if(j=f.match(/^\{([a-z_\-][\w\-]*)\}/))h=a.variable({start:g.length,name:j[1],token:f.current()});else if(j=f.match(/^\{([0-9]+)(:.+?)?\}/,!1)){f.skipToPair("{","}");h={start:g.length,group:j[1],token:f.current()};if(j=h.token.substring(h.group.length+2,h.token.length-1))h.placeholder=j.substr(1);h=a.tabstop(h)}g.append(h)}return g.toString()},upgrade:function(b,a){var g=0,f={tabstop:function(b){var c=parseInt(b.group);
c>g&&(g=c);return b.placeholder?"${"+(c+a)+":"+b.placeholder+"}":"${"+(c+a)+"}"}};d.each(["start","end","content"],function(a){b[a]=this.processText(b[a],f)},this);return g},variablesResolver:function(b){var a={},g=e("resources");return function(f,j){if(j=="child")return f;if(j=="cursor")return e("utils").getCaretPlaceholder();var i=b.attribute(j);if(!d.isUndefined(i)&&i!==f)return i;if(i=g.getVariable(j))return i;a[j]||(a[j]=h++);return"${"+a[j]+":"+j+"}"}},resetTabstopIndex:function(){i=0;h=100}}});
emmet.define("preferences",function(e,d){var h={},i={},b=null,c=null;return{define:function(a,b,c){var e=a;d.isString(a)&&(e={},e[a]={value:b,description:c});d.each(e,function(a,b){i[b]=d.isObject(a)&&"value"in a&&d.keys(a).length<3?a:{value:a}})},set:function(a,b){var c=a;d.isString(a)&&(c={},c[a]=b);d.each(c,function(a,b){if(!(b in i))throw'Property "'+b+'" is not defined. You should define it first with `define` method of current module';if(a!==i[b].value){switch(typeof i[b].value){case "boolean":var c=
a;d.isString(c)?(c=c.toLowerCase(),a=c=="yes"||c=="true"||c=="1"):a=!!c;break;case "number":a=parseInt(a+"",10)||0;break;default:a!==null&&(a+="")}h[b]=a}else b in h&&delete h[b]})},get:function(a){if(a in h)return h[a];if(a in i)return i[a].value},getArray:function(a){a=this.get(a);if(d.isUndefined(a)||a===null||a==="")return null;a=d.map(a.split(","),e("utils").trim);return!a.length?null:a},getDict:function(a){var b={};d.each(this.getArray(a),function(a){a=a.split(":");b[a[0]]=a[1]});return b},
description:function(a){return a in i?i[a].description:void 0},remove:function(a){d.isArray(a)||(a=[a]);d.each(a,function(a){a in h&&delete h[a];a in i&&delete i[a]})},list:function(){return d.map(d.keys(i).sort(),function(a){return{name:a,value:this.get(a),type:typeof i[a].value,description:i[a].description}},this)},load:function(a){d.each(a,function(a,b){this.set(b,a)},this)},exportModified:function(){return d.clone(h)},reset:function(){h={}},_startTest:function(){b=i;c=h;i={};h={}},_stopTest:function(){i=
b;h=c}}});
emmet.define("filters",function(e,d){function h(b){return!b?[]:d.isString(b)?b.split(/[\|,]/g):b}var i={};return{add:function(b,c){i[b]=c},apply:function(b,c,a){var g=e("utils"),a=e("profile").get(a);d.each(h(c),function(c){(c=g.trim(c.toLowerCase()))&&c in i&&(b=i[c](b,a))});return b},composeList:function(b,c,a){c=e("profile").get(c);b=h(c.filters||e("resources").findItem(b,"filters")||"html");c.extraFilters&&(b=b.concat(h(c.extraFilters)));a&&(b=b.concat(h(a)));if(!b||!b.length)b=h("html");return b},
extractFromAbbreviation:function(b){var c="",b=b.replace(/\|([\w\|\-]+)$/,function(a,b){c=b;return""});return[b,h(c)]}}});
emmet.define("elements",function(e,d){function h(a){return{data:a}}var i={},b=/([\w\-]+)\s*=\s*(['"])(.*?)\2/g,c={add:function(a,b){var c=this;i[a]=function(){var d=b.apply(c,arguments);if(d)d.type=a;return d}},get:function(a){return i[a]},create:function(a){var b=[].slice.call(arguments,1),c=this.get(a);return c?c.apply(this,b):null},is:function(a,b){return a&&a.type===b}};c.add("element",function(a,c,f){var e={name:a,is_empty:!!f};if(c)if(e.attributes=[],d.isArray(c))e.attributes=c;else if(d.isString(c))for(;a=
b.exec(c);)e.attributes.push({name:a[1],value:a[3]});else d.each(c,function(a,b){e.attributes.push({name:b,value:a})});return e});c.add("snippet",h);c.add("reference",h);c.add("empty",function(){return{}});return c});
emmet.define("editTree",function(e,d,h){function i(a,b){this.options=d.extend({offset:0},b);this.source=a;this._children=[];this._positions={name:0};this.initialize.apply(this,arguments)}function b(a,b,c){this.parent=a;this._name=b.value;this._value=c?c.value:"";this._positions={name:b.start,value:c?c.start:-1};this.initialize.apply(this,arguments)}var c=e("range").create;i.extend=h.extend;i.prototype={initialize:function(){},_updateSource:function(a,b,f){var j=c(b,d.isUndefined(f)?0:f-b),h=a.length-
j.length(),i=function(a){d.each(a,function(b,c){b>=j.end&&(a[c]+=h)})};i(this._positions);d.each(this.list(),function(a){i(a._positions)});this.source=e("utils").replaceSubstring(this.source,a,j)},add:function(a,c){var d=new b(a,c);this._children.push(d);return d},get:function(a){return d.isNumber(a)?this.list()[a]:d.isString(a)?d.find(this.list(),function(b){return b.name()===a}):a},getAll:function(a){d.isArray(a)||(a=[a]);var b=[],c=[];d.each(a,function(a){d.isString(a)?b.push(a):d.isNumber(a)&&
c.push(a)});return d.filter(this.list(),function(a,e){return d.include(c,e)||d.include(b,a.name())})},value:function(a,b,c){var e=this.get(a);if(e)return e.value(b);if(!d.isUndefined(b))return this.add(a,b,c)},values:function(a){return d.map(this.getAll(a),function(a){return a.value()})},remove:function(a){if(a=this.get(a))this._updateSource("",a.fullRange()),this._children=d.without(this._children,a)},list:function(){return this._children},indexOf:function(a){return d.indexOf(this.list(),this.get(a))},
name:function(a){if(!d.isUndefined(a)&&this._name!==(a=String(a)))this._updateSource(a,this._positions.name,this._positions.name+this._name.length),this._name=a;return this._name},nameRange:function(a){return c(this._positions.name+(a?this.options.offset:0),this.name())},range:function(a){return c(a?this.options.offset:0,this.toString())},itemFromPosition:function(a,b){return d.find(this.list(),function(c){return c.range(b).inside(a)})},toString:function(){return this.source}};b.extend=h.extend;b.prototype=
{initialize:function(){},_pos:function(a,b){return a+(b?this.parent.options.offset:0)},value:function(a){if(!d.isUndefined(a)&&this._value!==(a=String(a)))this.parent._updateSource(a,this.valueRange()),this._value=a;return this._value},name:function(a){if(!d.isUndefined(a)&&this._name!==(a=String(a)))this.parent._updateSource(a,this.nameRange()),this._name=a;return this._name},namePosition:function(a){return this._pos(this._positions.name,a)},valuePosition:function(a){return this._pos(this._positions.value,
a)},range:function(a){return c(this.namePosition(a),this.toString())},fullRange:function(a){return this.range(a)},nameRange:function(a){return c(this.namePosition(a),this.name())},valueRange:function(a){return c(this.valuePosition(a),this.value())},toString:function(){return this.name()+this.value()},valueOf:function(){return this.toString()}};return{EditContainer:i,EditElement:b,createToken:function(a,b,c){a={start:a||0,value:b||"",type:c};a.end=a.start+a.value.length;return a}}});
emmet.define("cssEditTree",function(e,d){function h(a,b){return e("range").create(a,b)}function i(a,b){var b=b||g|f,c=["white","line"];if((b&f)==f)for(;a.length&&d.include(c,d.last(a).type);)a.pop();if((b&g)==g)for(;a.length&&d.include(c,a[0].type);)a.shift();return a}function b(a){var b=["white","line",":"],c=[],e,j;a.nextUntil(function(){return!d.include(b,this.itemNext().type)});for(j=a.current().end;e=a.next();){if(e.type=="}"||e.type==";")return i(c,g|(e.type=="}"?f:0)),c.length?(j=c[0].start,
a=d.last(c).end):a=j,h(j,a-j);c.push(e)}if(c.length)return h(c[0].start,d.last(c).end-c[0].start)}function c(a){var b=e("stringStream").create(a),c=[],f=/[\s\u00a0,]/,g=function(){b.next();c.push(h(b.start,b.current()));b.start=b.pos};b.eatSpace();for(b.start=b.pos;a=b.next();)if(a=='"'||a=="'"){b.next();if(!b.skipTo(a))break;g()}else if(a=="("){b.backUp(1);if(!b.skipToPair("(",")"))break;b.backUp(1);g()}else if(f.test(a))c.push(h(b.start,b.current().length-1)),b.eatWhile(f),b.start=b.pos;g();return d.chain(c).filter(function(a){return!!a.length()}).uniq(!1,
function(a){return a.toString()}).value()}var a={styleBefore:"\n\t",styleSeparator:": ",offset:0},g=1,f=2,j=e("editTree").EditContainer.extend({initialize:function(c){d.defaults(this.options,a);var f=e("editTree"),g=e("tokenIterator").create(e("cssParser").parse(c)),j,r=[],q;for(j=g.position();q=g.next();){if(q.type=="{")break;r.push(q)}i(r);r.length?(j=r[0].start,r=d.last(r).end):r=j;j=h(j,r-j);this._positions.name=j.start;this._name=j.substring(c);if(!g.current()||g.current().type!="{")throw"Invalid CSS rule";
for(this._positions.contentStart=g.position()+1;j=g.next();){if(r=j.type=="identifier")a:{r=g.tokens;q=g._i+1;for(var u=r.length;q<u;q++){if(r[q].type==":"){r=!0;break a}if(r[q].type=="identifier"||r[q].type=="line"){r=!1;break a}}r=!1}r&&(j=h(j),r=b(g),q=g.current()&&g.current().type==";"?h(g.current()):h(r.end,0),this._children.push(new l(this,f.createToken(j.start,j.substring(c)),f.createToken(r.start,r.substring(c)),f.createToken(q.start,q.substring(c)))))}this._saveStyle()},_saveStyle:function(){var a=
this._positions.contentStart,b=this.source,c=e("utils");d.each(this.list(),function(f){f.styleBefore=b.substring(a,f.namePosition());var e=c.splitByLines(f.styleBefore);if(e.length>1)f.styleBefore="\n"+d.last(e);f.styleSeparator=b.substring(f.nameRange().end,f.valuePosition());f.styleBefore=d.last(f.styleBefore.split("*/"));f.styleSeparator=f.styleSeparator.replace(/\/\*.*?\*\//g,"");a=f.range().end})},add:function(a,b,c){var f=this.list(),g=this._positions.contentStart,j=d.pick(this.options,"styleBefore",
"styleSeparator"),h=e("editTree");if(d.isUndefined(c))c=f.length;var i=f[c];if(i)g=i.fullRange().start;else if(i=f[c-1])i.end(";"),g=i.range().end;i&&(j=d.pick(i,"styleBefore","styleSeparator"));a=h.createToken(g+j.styleBefore.length,a);b=h.createToken(a.end+j.styleSeparator.length,b);h=new l(this,a,b,h.createToken(b.end,";"));d.extend(h,j);this._updateSource(h.styleBefore+h.toString(),g);this._children.splice(c,0,h);return h}}),l=e("editTree").EditElement.extend({initialize:function(a,b,c,d){this.styleBefore=
a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;this._end=d.value;this._positions.end=d.start},valueParts:function(a){var b=c(this.value());if(a){var f=this.valuePosition(!0);d.each(b,function(a){a.shift(f)})}return b},end:function(a){if(!d.isUndefined(a)&&this._end!==a)this.parent._updateSource(a,this._positions.end,this._positions.end+this._end.length),this._end=a;return this._end},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.value()+this.end()}});return{parse:function(a,b){return new j(a,b)},parseFromPosition:function(a,b,c){c=this.extractRule(a,b,c);return!c||!c.inside(b)?null:this.parse(c.substring(a),{offset:c.start})},extractRule:function(a,b,c){for(var d="",f=a.length,g=-1,j;b>=0;){j=a.charAt(b);if(j=="{"){g=b;break}else if(j=="}"&&!c){b++;break}b--}for(;b<f;){j=a.charAt(b);if(j=="{")g=b;else if(j=="}"){g!=-1&&(d=a.substring(g,b+1));break}b++}if(d){b=g-1;for(c="";b>=0;){j=a.charAt(b);if("{}/\\<>\n\r".indexOf(j)!=
-1)break;b--}c=a.substring(b+1,g).replace(/^[\s\n\r]+/m,"");return e("range").create(g-c.length,d.length+c.length)}return null},baseName:function(a){return a.replace(/^\s*\-\w+\-/,"")},findParts:c}});
emmet.define("xmlEditTree",function(e,d){var h={styleBefore:" ",styleSeparator:"=",styleQuote:'"',offset:0},i=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/m,b=e("editTree").EditContainer.extend({initialize:function(a){d.defaults(this.options,h);this._positions.name=1;var b=null,f=e("xmlParser").parse(a),j=e("range");d.each(f,function(d){d.value=j.create(d).substring(a);switch(d.type){case "tag":if(/^<[^\/]+/.test(d.value))this._name=d.value.substring(1);
break;case "attribute":b&&this._children.push(new c(this,b));b=d;break;case "string":this._children.push(new c(this,b,d)),b=null}},this);b&&this._children.push(new c(this,b));this._saveStyle()},_saveStyle:function(){var a=this.nameRange().end,b=this.source;d.each(this.list(),function(c){c.styleBefore=b.substring(a,c.namePosition());if(c.valuePosition()!==-1)c.styleSeparator=b.substring(c.namePosition()+c.name().length,c.valuePosition()-c.styleQuote.length);a=c.range().end})},add:function(a,b,f){var j=
this.list(),h=this.nameRange().end,i=e("editTree"),m=d.pick(this.options,"styleBefore","styleSeparator","styleQuote");if(d.isUndefined(f))f=j.length;var o=j[f];if(o)h=o.fullRange().start;else if(o=j[f-1])h=o.range().end;o&&(m=d.pick(o,"styleBefore","styleSeparator","styleQuote"));b=m.styleQuote+b+m.styleQuote;a=new c(this,i.createToken(h+m.styleBefore.length,a),i.createToken(h+m.styleBefore.length+a.length+m.styleSeparator.length,b));d.extend(a,m);this._updateSource(a.styleBefore+a.toString(),h);
this._children.splice(f,0,a);return a}}),c=e("editTree").EditElement.extend({initialize:function(a,b,c){this.styleBefore=a.options.styleBefore;this.styleSeparator=a.options.styleSeparator;b="";a=a.options.styleQuote;if(c)b=c.value,a=b.charAt(0),a=='"'||a=="'"?b=b.substring(1):a="",a&&b.charAt(b.length-1)==a&&(b=b.substring(0,b.length-1));this.styleQuote=a;this._value=b;this._positions.value=c?c.start+a.length:-1},fullRange:function(a){a=this.range(a);a.start-=this.styleBefore.length;return a},toString:function(){return this.name()+
this.styleSeparator+this.styleQuote+this.value()+this.styleQuote}});return{parse:function(a,c){return new b(a,c)},parseFromPosition:function(a,b,c){c=this.extractTag(a,b,c);return!c||!c.inside(b)?null:this.parse(c.substring(a),{offset:c.start})},extractTag:function(a,b,c){var d=a.length,h,n=e("range"),m=Math.min(2E3,d),o=null,p=function(b){var c;if(a.charAt(b)=="<"&&(c=a.substr(b,m).match(i)))return n.create(b,c[0])};for(h=b;h>=0;h--)if(o=p(h))break;if(o&&(o.inside(b)||c))return o;if(!o&&c)return null;
for(h=b;h<d;h++)if(o=p(h))return o}}});
emmet.define("expandAbbreviation",function(e,d){var h=e("handlerList").create(),i=null,b=e("actions");b.add("expand_abbreviation",function(b,a,g){var f=d.toArray(arguments),j=e("editorUtils").outputInfo(b,a,g);f[1]=j.syntax;f[2]=j.profile;return h.exec(!1,f)});b.add("expand_abbreviation_with_tab",function(c,a,d){var f=c.getSelection(),j=e("resources").getVariable("indentation");if(f)return d=e("utils"),a=e("range").create(c.getSelectionRange()),f=d.padString(f,j),c.replaceContent(j+"${0}",c.getCaretPos()),
j=e("range").create(c.getCaretPos(),a.length()),c.replaceContent(f,j.start,j.end,!0),c.createSelection(j.start,j.start+f.length),!0;b.run("expand_abbreviation",c,a,d)||c.replaceContent(j,c.getCaretPos());return!0},{hidden:!0});h.add(function(b,a,d){var f=b.getSelectionRange().end,j=i.findAbbreviation(b);return j&&(a=emmet.expandAbbreviation(j,a,d,e("actionUtils").captureContext(b)))?(b.replaceContent(a,f-j.length,f),!0):!1},{order:-1});return i={addHandler:function(b,a){h.add(b,a)},removeHandler:function(b){h.remove(b,
options)},findAbbreviation:function(b){var a=e("range").create(b.getSelectionRange()),d=String(b.getContent());if(a.length())return a.substring(d);b=b.getCurrentLineRange();return e("actionUtils").extractAbbreviation(d.substring(b.start,a.start))}}});
emmet.define("wrapWithAbbreviation",function(e){var d=null;e("actions").add("wrap_with_abbreviation",function(h,i,b,c){var b=e("editorUtils").outputInfo(h,b,c),a=e("utils"),c=e("editorUtils"),i=i||h.prompt("Enter abbreviation");if(!i)return null;var i=String(i),g=e("range").create(h.getSelectionRange());if(!g.length()){g=e("htmlMatcher").tag(b.content,g.start);if(!g)return!1;g=a.narrowToNonSpace(b.content,g.range)}a=a.escapeText(g.substring(b.content));return(i=d.wrap(i,c.unindent(h,a),b.syntax,b.profile,
e("actionUtils").captureContext(h)))?(h.replaceContent(i,g.start,g.end),!0):!1});return d={wrap:function(d,i,b,c,a){var g=e("filters"),f=e("utils"),b=b||emmet.defaultSyntax(),c=e("profile").get(c,b);e("tabStops").resetTabstopIndex();d=g.extractFromAbbreviation(d);return(i=e("abbreviationParser").parse(d[0],{syntax:b,pastedContent:i,contextNode:a}))?(b=g.composeList(b,c,d[1]),g.apply(i,b,c),f.replaceVariables(i.toString())):null}}});
emmet.exec(function(e,d){function h(b,a){var e=a-(b.options.offset||0),f=/^[\s\n\r]/;return d.find(b.list(),function(a){return a.range().end===e?f.test(b.source.charAt(e)):a.range().inside(e)})}function i(b,a,d,f){for(var j=-1,h=-1;a--;)if(b.substr(a,d.length)==d){j=a;break}if(j!=-1){a=j;for(d=b.length;d>=a++;)if(b.substr(a,f.length)==f){h=a+f.length;break}}return j!=-1&&h!=-1?e("range").create(j,h-j):null}function b(b,a,d,f){function j(b){return b.replace(RegExp("^"+p.escapeForRegexp(a)+"\\s*"),
function(a){m-=a.length;return""}).replace(RegExp("\\s*"+p.escapeForRegexp(d)+"$"),"")}var h=e("editorUtils"),n=h.outputInfo(b).content,m=b.getCaretPos(),o=null,p=e("utils");(o=i(n,m,a,d))&&o.overlap(f)?(f=o,o=j(f.substring(n))):(o=a+" "+f.substring(n).replace(RegExp(p.escapeForRegexp(a)+"\\s*|\\s*"+p.escapeForRegexp(d),"g"),"")+" "+d,m+=a.length+1);return o!==null?(o=p.escapeText(o),b.setCaretPos(f.start),b.replaceContent(h.unindent(b,o),f.start,f.end),b.setCaretPos(m),!0):!1}e("actions").add("toggle_comment",
function(c){var a=e("editorUtils").outputInfo(c);if(a.syntax=="css"){var d=c.getCaretPos(),f=e("htmlMatcher").tag(a.content,d);if(f&&f.open.range.inside(d))a.syntax="html"}if(a.syntax=="css"){f=e("range").create(c.getSelectionRange());a=e("editorUtils").outputInfo(c);if(!f.length()&&(d=e("cssEditTree").parseFromPosition(a.content,c.getCaretPos())))f=(f=h(d,c.getCaretPos()))?f.range(!0):e("range").create(d.nameRange(!0).start,d.source);f.length()||(f=e("range").create(c.getCurrentLineRange()),e("utils").narrowToNonSpace(a.content,
f));c=b(c,"/*","*/",f)}else{a=e("range").create(c.getSelectionRange());d=e("editorUtils").outputInfo(c);if(!a.length()&&(d=e("htmlMatcher").tag(d.content,c.getCaretPos())))a=d.outerRange;c=b(c,"<\!--","--\>",a)}return c})});
emmet.exec(function(e){function d(d,e,b){function c(b){for(var c=b;c>=0;){var d=a.charAt(c);if(d=="\n"||d=="\r")break;c--}return a.substring(c,b)}for(var e=e||1,b=d.getCaretPos()+(b||0),a=String(d.getContent()),d=a.length,g=-1,f=/^\s+$/;b<=d&&b>=0;){b+=e;var j=a.charAt(b),l=a.charAt(b+1),n=a.charAt(b-1);switch(j){case '"':case "'":l==j&&n=="="&&(g=b+1);break;case ">":l=="<"&&(g=b+1);break;case "\n":case "\r":f.test(c(b-1))&&(g=b)}if(g!=-1)break}return g}e=e("actions");e.add("prev_edit_point",function(e){var i=
e.getCaretPos(),b=d(e,-1);b==i&&(b=d(e,-1,-2));return b!=-1?(e.setCaretPos(b),!0):!1},{label:"Previous Edit Point"});e.add("next_edit_point",function(e){var i=d(e,1);return i!=-1?(e.setCaretPos(i),!0):!1})});
emmet.exec(function(e,d){function h(a,b,c,d){var f=e("range"),g=e("editorUtils").outputInfo(a).content,j=g.length,h,i=f.create(-1,0),l=f.create(a.getSelectionRange());h=l.start;for(var n=1E5;h>=0&&h<j&&--n>0;){if(f=c(g,h,b)){if(i.equal(f))break;i=f.clone();if(h=d(f.substring(g),f.start,l.clone()))return a.createSelection(h.start,h.end),!0;else h=b?f.start:f.end-1}h+=b?-1:1}return!1}function i(a){var b=!0;return h(a,!1,function(a,c){if(b){b=!1;var d;a:{d=c;for(var e;d>=0;){if(e=f(a,d)){d=e;break a}d--}d=
null}return d}else return f(a,c)},function(a,b,c){return g(a,b,c,!1)})}function b(a){return h(a,!0,f,function(a,b,c){return g(a,b,c,!0)})}function c(b,c,f){var f=f||0,g=e("range"),h=[],k=-1,i="",l="",n,o;d.each(c,function(c){switch(c.type){case "tag":o=b.substring(c.start,c.end);/^<[\w\:\-]/.test(o)&&h.push(g.create({start:c.start+1,end:c.end}));break;case "attribute":k=c.start;i=b.substring(c.start,c.end);break;case "string":h.push(g.create(k,c.end-k)),n=g.create(c),l=n.substring(b),j(l.charAt(0))&&
n.start++,j(l.charAt(l.length-1))&&n.end--,h.push(n),i=="class"&&(h=h.concat(a(n.substring(b),n.start)))}});d.each(h,function(a){a.shift(f)});return d.chain(h).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}function a(a,b){var b=b||0,c=[],d=e("stringStream").create(a),f=e("range");d.eatSpace();d.start=d.pos;for(var g;g=d.next();)if(/[\s\u00a0]/.test(g))c.push(f.create(d.start+b,d.pos-d.start-1)),d.eatSpace(),d.start=d.pos;c.push(f.create(d.start+b,d.pos-
d.start));return c}function g(a,b,f,g){a=c(a,e("xmlParser").parse(a),b);g&&a.reverse();return(b=d.find(a,function(a){return a.equal(f)}))?(g=d.indexOf(a,b),g<a.length-1?a[g+1]:null):g?d.find(a,function(a){return a.start<f.start}):!b&&(g=d.filter(a,function(a){return a.inside(f.end)}),g.length>1)?g[1]:d.find(a,function(a){return a.end>f.end})}function f(a,b){var c;if(a.charAt(b)=="<"&&(c=a.substring(b,a.length).match(p)))return e("range").create(b,c[0])}function j(a){return a=='"'||a=="'"}function l(a){var b=
a.valueRange(!0),c=[a.range(!0),b],f=e("stringStream"),g=e("cssEditTree"),j=e("range"),h=a.value();d.each(a.valueParts(),function(a){var e=a.clone();c.push(e.shift(b.start));var i=f.create(a.substring(h));if(i.match(/^[\w\-]+\(/,!0)){i.start=i.pos;i.skipToPair("(",")");var l=i.current();c.push(j.create(e.start+i.start,l));d.each(g.findParts(l),function(a){c.push(j.create(e.start+i.start+a.start,a.substring(l)))})}});return d.chain(c).filter(function(a){return!!a.length()}).uniq(!1,function(a){return a.toString()}).value()}
function n(a,b,c){var f=null,e=null,g=a.list(),j,h;c?(g.reverse(),j=function(a){return a.range(!0).start<=b.start},h=function(a){return a.start<b.start}):(j=function(a){return a.range(!0).end>=b.end},h=function(a){return a.end>b.start});for(;f=d.find(g,j);){a=l(f);c&&a.reverse();if(e=d.find(a,function(a){return a.equal(b)})){if(e=d.indexOf(a,e),e!=a.length-1){e=a[e+1];break}}else{e=d.filter(a,function(a){return a.inside(b.end)});if(e.length>1){e=e[1];break}if(e=d.find(a,h))break}e=null;b.start=b.end=
c?f.range(!0).start-1:f.range(!0).end+1}return e}function m(a,b,c){a=e("cssEditTree").parse(a,{offset:b});b=a.nameRange(!0);return c.end<b.end?b:n(a,c,!1)}function o(a,b,c){b=e("cssEditTree").parse(a,{offset:b});a=n(b,c,!0);return!a&&(b=b.nameRange(!0),c.start>b.start)?b:a}var p=/^<([\w\:\-]+)((?:\s+[\w\-:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/,r=e("actions");r.add("select_next_item",function(a){return a.getSyntax()=="css"?h(a,!1,e("cssEditTree").extractRule,m):i(a)});r.add("select_previous_item",
function(a){return a.getSyntax()=="css"?h(a,!0,e("cssEditTree").extractRule,o):b(a)})});
emmet.exec(function(e){function d(c,a){var a=String((a||"out").toLowerCase()),d=e("editorUtils").outputInfo(c),f=e("range").create(c.getSelectionRange()),d=d.content;b&&!b.range.equal(f)&&(b=null);if(b&&f.length())if(a=="in")if(b.type=="tag"&&!b.close)return!1;else if(b.range.equal(b.outerRange))b.range=b.innerRange;else{var j=e("utils").narrowToNonSpace(d,b.innerRange);if((b=i.find(d,j.start+1))&&b.range.equal(f)&&b.outerRange.equal(f))b.range=b.innerRange}else if(!b.innerRange.equal(b.outerRange)&&
b.range.equal(b.innerRange)&&f.equal(b.range))b.range=b.outerRange;else{if((b=i.find(d,f.start))&&b.range.equal(f)&&b.innerRange.equal(f))b.range=b.outerRange}else b=i.find(d,f.start);if(b&&!b.range.equal(f))return c.createSelection(b.range.start,b.range.end),!0;b=null;return!1}var h=e("actions"),i=e("htmlMatcher"),b=null;h.add("match_pair",d,{hidden:!0});h.add("match_pair_inward",function(b){return d(b,"in")},{label:"HTML/Match Pair Tag (inward)"});h.add("match_pair_outward",function(b){return d(b,
"out")},{label:"HTML/Match Pair Tag (outward)"});h.add("matching_pair",function(b){var a=String(b.getContent()),d=b.getCaretPos();a.charAt(d)=="<"&&d++;return(a=i.tag(a,d))&&a.close?(a.open.range.inside(d)?b.setCaretPos(a.close.range.start):b.setCaretPos(a.open.range.start),!0):!1},{label:"HTML/Go To Matching Tag Pair"})});
emmet.exec(function(e){e("actions").add("remove_tag",function(d){var h=e("utils"),i=e("editorUtils").outputInfo(d),b=e("htmlMatcher").tag(i.content,d.getCaretPos());if(b){if(b.close){var c=h.narrowToNonSpace(i.content,b.innerRange),a=h.findNewlineBounds(i.content,c.start),a=h.getLinePadding(a.substring(i.content)),i=c.substring(i.content),i=h.unindentString(i,a);d.replaceContent(h.getCaretPlaceholder()+h.escapeText(i),b.outerRange.start,b.outerRange.end)}else d.replaceContent(h.getCaretPlaceholder(),
b.range.start,b.range.end);return!0}return!1},{label:"HTML/Remove Tag"})});
emmet.exec(function(e){e("actions").add("split_join_tag",function(d,h){var i=e("htmlMatcher"),b=e("editorUtils").outputInfo(d,null,h),c=e("profile").get(b.profile);if(i=i.tag(b.content,d.getCaretPos())){if(i.close){var b=e("utils"),c=c.selfClosing()||" /",c=i.open.range.substring(i.source).replace(/\s*>$/,c+">"),a=d.getCaretPos();c.length+i.outerRange.start<a&&(a=c.length+i.outerRange.start);c=b.escapeText(c);d.replaceContent(c,i.outerRange.start,i.outerRange.end)}else{var b=e("utils"),g=b.getNewline(),
f=e("resources").getVariable("indentation"),a=d.getCaretPos(),c=c.tag_nl===!0?g+f+g:"",g=i.outerContent().replace(/\s*\/>$/,">"),a=i.outerRange.start+g.length;g+=c+"</"+i.open.name+">";g=b.escapeText(g);d.replaceContent(g,i.outerRange.start,i.outerRange.end)}d.setCaretPos(a);i=!0}else i=!1;return i},{label:"HTML/Split\\Join Tag Declaration"})});
emmet.define("reflectCSSValue",function(e,d){function h(c){var a=e("cssEditTree"),d=e("editorUtils").outputInfo(c),c=c.getCaretPos();if(a=a.parseFromPosition(d.content,c))if(d=a.itemFromPosition(c,!0)){var f=a.source,j=a.options.offset,c=c-j-d.range().start;b.exec(!1,[d]);if(f!==a.source)return{data:a.source,start:j,end:j+f.length,caret:j+d.range().start+c}}}function i(b){var b=e("cssEditTree").baseName(b),a;if(b=="opacity"||b=="filter")return/^(?:\-\w+\-)?(?:opacity|filter)$/;else if(a=b.match(/^border-radius-(top|bottom)(left|right)/))return RegExp("^(?:\\-\\w+\\-)?(?:"+
b+"|border-"+a[1]+"-"+a[2]+"-radius)$");else if(a=b.match(/^border-(top|bottom)-(left|right)-radius/))return RegExp("^(?:\\-\\w+\\-)?(?:"+b+"|border-radius-"+a[1]+a[2]+")$");return RegExp("^(?:\\-\\w+\\-)?"+b+"$")}var b=e("handlerList").create();e("actions").add("reflect_css_value",function(b){return b.getSyntax()!="css"?!1:e("actionUtils").compoundUpdate(b,h(b))},{label:"CSS/Reflect Value"});b.add(function(b){var a=i(b.name());d.each(b.parent.list(),function(d){if(a.test(d.name())){var f;var j=b.name(),
h=b.value(),i=d.name();f=d.value();var m=e("cssEditTree"),o=e("utils"),j=m.baseName(j),i=m.baseName(i);f=j=="opacity"&&i=="filter"?f.replace(/opacity=[^)]*/i,"opacity="+Math.floor(parseFloat(h)*100)):j=="filter"&&i=="opacity"?(j=h.match(/opacity=([^)]*)/i))?o.prettifyNumber(parseInt(j[1])/100):f:h;d.value(f)}})},{order:-1});return{addHandler:function(c,a){b.add(c,a)},removeHandler:function(c){b.remove(c,options)}}});
emmet.exec(function(e){e("actions").add("evaluate_math_expression",function(d){var h=e("actionUtils"),i=e("utils"),b=String(d.getContent()),c=e("range").create(d.getSelectionRange());c.length()||(c=h.findExpressionBounds(d,function(a){return i.isNumeric(a)||".+-*/\\".indexOf(a)!=-1}));if(c&&c.length()){h=c.substring(b);h=h.replace(/([\d\.\-]+)\\([\d\.\-]+)/g,"Math.round($1/$2)");try{var a=i.prettifyNumber((new Function("return "+h))());d.replaceContent(a,c.start,c.end);d.setCaretPos(c.start+a.length);
return!0}catch(g){}}return!1},{label:"Numbers/Evaluate Math Expression"})});
emmet.exec(function(e,d){function h(b,a){var g=e("utils"),f=!1,j=!1,h=e("actionUtils").findExpressionBounds(b,function(a,b,c){return g.isNumeric(a)?!0:a=="."?!g.isNumeric(c.charAt(b+1))?!1:j?!1:j=!0:a=="-"?f?!1:f=!0:!1});if(h&&h.length()){var n=h.substring(String(b.getContent())),m=parseFloat(n);if(!d.isNaN(m)){m=g.prettifyNumber(m+a);if(/^(\-?)0+[1-9]/.test(n)){var o="";RegExp.$1&&(o="-",m=m.substring(1));m=m.split(".");m[0]=g.zeroPadString(m[0],i(n));m=o+m.join(".")}b.replaceContent(m,h.start,h.end);
b.createSelection(h.start,h.start+m.length);return!0}}return!1}function i(b){b=b.replace(/^\-/,"");return~b.indexOf(".")?b.split(".")[0].length:b.length}var b=e("actions");d.each([1,-1,10,-10,0.1,-0.1],function(c){var a=c>0?"increment":"decrement";b.add(a+"_number_by_"+String(Math.abs(c)).replace(".","").substring(0,2),function(a){return h(a,c)},{label:"Numbers/"+a.charAt(0).toUpperCase()+a.substring(1)+" number by "+Math.abs(c)})})});
emmet.exec(function(e,d){var h=e("actions"),i=e("preferences");i.define("css.closeBraceIndentation","\n","Indentation before closing brace of CSS rule. Some users prefere indented closing brace of CSS rule for better readability. This preference\u2019s value will be automatically inserted before closing brace when user adds newline in newly created CSS rule (e.g. when \u201cInsert formatted linebreak\u201d action will be performed in CSS file). If you\u2019re such user, you may want to write put a value like <code>\\n\\t</code> in this preference.");
h.add("insert_formatted_line_break_only",function(b){var c=e("utils"),a=e("resources"),g=e("editorUtils").outputInfo(b),f=b.getCaretPos(),j=c.getNewline();if(d.include(["html","xml","xsl"],g.syntax)){if(a=a.getVariable("indentation"),(g=e("htmlMatcher").tag(g.content,f))&&!g.innerRange.length())return b.replaceContent(j+a+c.getCaretPlaceholder()+j,f),!0}else if(g.syntax=="css"&&(g=g.content,f&&g.charAt(f-1)=="{")){var h=i.get("css.closeBraceIndentation"),a=a.getVariable("indentation"),n=g.charAt(f)==
"}";if(!n)for(var m=f,o=g.length,p;m<o;m++){p=g.charAt(m);if(p=="{")break;if(p=="}"){h="";n=!0;break}}n||(h+="}");c=j+a+c.getCaretPlaceholder()+h;b.replaceContent(c,f);return!0}return!1},{hidden:!0});h.add("insert_formatted_line_break",function(b){if(!h.run("insert_formatted_line_break_only",b)){for(var c=e("utils"),a=e("editorUtils").getCurrentLinePadding(b),d=String(b.getContent()),f=b.getCaretPos(),j=d.length,c=c.getNewline(),i="",n=b.getCurrentLineRange().end+1,m;n<j;n++)if(m=d.charAt(n),m==" "||
m=="\t")i+=m;else break;i.length>a.length?b.replaceContent(c+i,f,f,!0):b.replaceContent(c,f)}return!0},{hidden:!0})});
emmet.exec(function(e){e("actions").add("merge_lines",function(d){var h=e("htmlMatcher"),i=e("utils"),b=e("editorUtils").outputInfo(d),c=e("range").create(d.getSelectionRange());if(!c.length()&&(h=h.find(b.content,d.getCaretPos())))c=h.outerRange;if(c.length()){b=c.substring(b.content);b=i.splitByLines(b);for(h=1;h<b.length;h++)b[h]=b[h].replace(/^\s+/,"");b=b.join("").replace(/\s{2,}/," ");h=b.length;b=i.escapeText(b);d.replaceContent(b,c.start,c.end);d.createSelection(c.start,c.start+h);return!0}return!1})});
emmet.exec(function(e){function d(d,b,c){c=c||0;return b.charAt(c)==d.charAt(0)&&b.substr(c,d.length)==d}function h(d,b,c){var a=e("file"),g=e("actionUtils"),f=d.getFilePath();if(f===null)throw"You should save your file before using this action";var j=a.locateFile(f,b);if(j===null)throw"Can't find "+b+" file";a.read(j,function(f,h){if(f)throw"Unable to read "+j+": "+f;var m=e("base64").encode(String(h));if(!m)throw"Can't encode file content to base64";m="data:"+(g.mimeTypes[String(a.getExt(j))]||
"application/octet-stream")+";base64,"+m;d.replaceContent("$0"+m,c,c+b.length)});return!0}e("actions").add("encode_decode_data_url",function(i){var b=String(i.getSelection()),c=i.getCaretPos();if(!b)for(var a=String(i.getContent());c-- >=0;)if(d("src=",a,c)){if(a=a.substr(c).match(/^(src=(["'])?)([^'"<>\s]+)\1?/))b=a[3],c+=a[1].length;break}else if(d("url(",a,c)){if(a=a.substr(c).match(/^(url\((['"])?)([^'"\)\s]+)\1?/))b=a[3],c+=a[1].length;break}if(b)if(d("data:",b))if(a=String(i.prompt("Enter path to file (absolute or relative)"))){var g=
e("file"),f=g.createPath(i.getFilePath(),a);if(!f)throw"Can't save file";g.save(f,e("base64").decode(b.replace(/^data\:.+?;.+?,/,"")));i.replaceContent("$0"+a,c,c+b.length);i=!0}else i=!1;else i=h(i,b,c);else i=!1;return i},{label:"Encode\\Decode data:URL image"})});
emmet.exec(function(e,d){function h(c){var a=c.getCaretPos(),g=e("editorUtils").outputInfo(c),f=e("xmlEditTree").parseFromPosition(g.content,a,!0);f&&(f.name()||"").toLowerCase()=="img"&&b(c,f.value("src"),function(b){if(b){var g=f.range(!0);f.value("width",b.width);f.value("height",b.height,f.indexOf("width")+1);e("actionUtils").compoundUpdate(c,d.extend(g,{data:f.toString(),caret:a}))}})}function i(c){var a=c.getCaretPos(),g=e("editorUtils").outputInfo(c),f=e("cssEditTree").parseFromPosition(g.content,
a,!0);if(f){var g=f.itemFromPosition(a,!0),j;g&&(j=/url\((["']?)(.+?)\1\)/i.exec(g.value()||""))&&b(c,j[2],function(b){if(b){var j=f.range(!0);f.value("width",b.width+"px");f.value("height",b.height+"px",f.indexOf("width")+1);e("actionUtils").compoundUpdate(c,d.extend(j,{data:f.toString(),caret:a}))}})}}function b(b,a,d){var f=e("actionUtils");if(a){if(/^data:/.test(a))return b=e("base64").decode(a.replace(/^data\:.+?;.+?,/,"")),d(f.getImageSize(b));var j=e("file"),h=j.locateFile(b.getFilePath(),
a);if(h===null)throw"Can't find "+a+" file";j.read(h,function(a,b){if(a)throw"Unable to read "+h+": "+a;d(f.getImageSize(String(b)))})}}e("actions").add("update_image_size",function(b){d.include(["css","less","scss"],String(b.getSyntax()))?i(b):h(b);return!0})});
emmet.define("cssResolver",function(e,d){function h(a){var b=a&&a.charCodeAt(0);return a&&a=="."||b>47&&b<58}function i(a){a=e("utils").trim(a);if(~a.indexOf("/*")||/[\n\r]/.test(a))return!1;if(!/^[a-z0-9\-]+\s*\:/i.test(a))return!1;a=e("tabStops").processText(a,{replaceCarets:!0,tabstop:function(){return"value"}});return a.split(":").length==2}function b(a){a.charAt(0)=="-"&&!/^\-[\.\d]/.test(a)&&(a=a.replace(/^\-+/,""));if(a.charAt(0)=="#"){var b=a.replace(/^#+/,"")||"0";if(b.toLowerCase()=="t")a=
"transparent";else{var d=e("utils").repeatString,a=null;switch(b.length){case 1:a=d(b,6);break;case 2:a=d(b,3);break;case 3:a=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+b.charAt(2);break;case 4:a=b+b.substr(0,2);break;case 5:a=b+b.charAt(0);break;default:a=b.substr(0,6)}q.get("css.color.short")&&(b=a.split(""),b[0]==b[1]&&b[2]==b[3]&&b[4]==b[5]&&(a=b[0]+b[2]+b[4]));switch(q.get("css.color.case")){case "upper":a=a.toUpperCase();break;case "lower":a=a.toLowerCase()}a="#"+a}}else a=
c(a);return a}function c(a){var b=q.getDict("css.keywordAliases");return a in b?b[a]:a}function a(a){return d.include(q.getArray("css.keywords"),c(a))}function g(a,b){var c=r[b];c||(c=d.find(r,function(a){return a.prefix==b}));return c&&c.supports(a)}function f(a,b){var c=[];d.each(r,function(b,d){g(a,d)&&c.push(d)});!c.length&&!b&&d.each(r,function(a,b){a.obsolete||c.push(b)});return c}function j(a,b){d.isString(b)&&(b={prefix:b});r[a]=d.extend({},p,b)}function l(a,b){if(b){var c=q.get(b+"."+a);
if(!d.isUndefined(c))return c}return q.get("css."+a)}function n(a,b,c){if(!d.isString(a))a=a.data;if(!i(a))return a;b&&(~a.indexOf(";")?a=a.split(";").join(" !important;"):a+=" !important");b=a.indexOf(":");a=a.substring(0,b).replace(/\s+$/,"")+l("valueSeparator",c)+e("utils").trim(a.substring(b+1));return a.replace(/\s*;\s*$/,l("propertyEnd",c))}function m(a){var b=q.getArray(a);d.each(q.getArray(a+"Addon"),function(a){a.charAt(0)=="-"?b=d.without(b,a.substr(1)):(a.charAt(0)=="+"&&(a=a.substr(1)),
b.push(a))});return b}var o=null,p={prefix:"emmet",obsolete:!1,transformName:function(a){return"-"+this.prefix+"-"+a},properties:function(){return m("css."+this.prefix+"Properties")||[]},supports:function(a){return d.include(this.properties(),a)}},r={},q=e("preferences");q.define("css.valueSeparator",": ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations.");q.define("css.propertyEnd",";","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations.");
q.define("stylus.valueSeparator"," ","Defines a symbol that should be placed between CSS property and value when expanding CSS abbreviations in Stylus dialect.");q.define("stylus.propertyEnd","","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations in Stylus dialect.");q.define("sass.propertyEnd","","Defines a symbol that should be placed at the end of CSS property when expanding CSS abbreviations in SASS dialect.");q.define("css.autoInsertVendorPrefixes",
!0,"Automatically generate vendor-prefixed copies of expanded CSS property. By default, Emmet will generate vendor-prefixed properties only when you put dash before abbreviation (e.g. <code>-bxsh</code>). With this option enabled, you don\u2019t need dashes before abbreviations: Emmet will produce vendor-prefixed properties for you.");var u=d.template("A comma-separated list of CSS properties that may have <code><%= vendor %></code> vendor prefix. This list is used to generate a list of prefixed properties when expanding <code>-property</code> abbreviations. Empty list means that all possible CSS values may have <code><%= vendor %></code> prefix."),
s=d.template("A comma-separated list of <em>additional</em> CSS properties for <code>css.<%= vendor %>Preperties</code> preference. You should use this list if you want to add or remove a few CSS properties to original set. To add a new property, simply write its name, to remove it, precede property with hyphen.<br>For example, to add <em>foo</em> property and remove <em>border-radius</em> one, the preference value will look like this: <code>foo, -border-radius</code>.");d.each({webkit:"animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-clip, background-composite, background-origin, background-size, border-fit, border-horizontal-spacing, border-image, border-vertical-spacing, box-align, box-direction, box-flex, box-flex-group, box-lines, box-ordinal-group, box-orient, box-pack, box-reflect, box-shadow, color-correction, column-break-after, column-break-before, column-break-inside, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-span, column-width, dashboard-region, font-smoothing, highlight, hyphenate-character, hyphenate-limit-after, hyphenate-limit-before, hyphens, line-box-contain, line-break, line-clamp, locale, margin-before-collapse, margin-after-collapse, marquee-direction, marquee-increment, marquee-repetition, marquee-style, mask-attachment, mask-box-image, mask-box-image-outset, mask-box-image-repeat, mask-box-image-slice, mask-box-image-source, mask-box-image-width, mask-clip, mask-composite, mask-image, mask-origin, mask-position, mask-repeat, mask-size, nbsp-mode, perspective, perspective-origin, rtl-ordering, text-combine, text-decorations-in-effect, text-emphasis-color, text-emphasis-position, text-emphasis-style, text-fill-color, text-orientation, text-security, text-stroke-color, text-stroke-width, transform, transition, transform-origin, transform-style, transition-delay, transition-duration, transition-property, transition-timing-function, user-drag, user-modify, user-select, writing-mode, svg-shadow, box-sizing, border-radius",
moz:"animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, appearance, backface-visibility, background-inline-policy, binding, border-bottom-colors, border-image, border-left-colors, border-right-colors, border-top-colors, box-align, box-direction, box-flex, box-ordinal-group, box-orient, box-pack, box-shadow, box-sizing, column-count, column-gap, column-rule-color, column-rule-style, column-rule-width, column-width, float-edge, font-feature-settings, font-language-override, force-broken-image-icon, hyphens, image-region, orient, outline-radius-bottomleft, outline-radius-bottomright, outline-radius-topleft, outline-radius-topright, perspective, perspective-origin, stack-sizing, tab-size, text-blink, text-decoration-color, text-decoration-line, text-decoration-style, text-size-adjust, transform, transform-origin, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-focus, user-input, user-modify, user-select, window-shadow, background-clip, border-radius",
ms:"accelerator, backface-visibility, background-position-x, background-position-y, behavior, block-progression, box-align, box-direction, box-flex, box-line-progression, box-lines, box-ordinal-group, box-orient, box-pack, content-zoom-boundary, content-zoom-boundary-max, content-zoom-boundary-min, content-zoom-chaining, content-zoom-snap, content-zoom-snap-points, content-zoom-snap-type, content-zooming, filter, flow-from, flow-into, font-feature-settings, grid-column, grid-column-align, grid-column-span, grid-columns, grid-layer, grid-row, grid-row-align, grid-row-span, grid-rows, high-contrast-adjust, hyphenate-limit-chars, hyphenate-limit-lines, hyphenate-limit-zone, hyphens, ime-mode, interpolation-mode, layout-flow, layout-grid, layout-grid-char, layout-grid-line, layout-grid-mode, layout-grid-type, line-break, overflow-style, perspective, perspective-origin, perspective-origin-x, perspective-origin-y, scroll-boundary, scroll-boundary-bottom, scroll-boundary-left, scroll-boundary-right, scroll-boundary-top, scroll-chaining, scroll-rails, scroll-snap-points-x, scroll-snap-points-y, scroll-snap-type, scroll-snap-x, scroll-snap-y, scrollbar-arrow-color, scrollbar-base-color, scrollbar-darkshadow-color, scrollbar-face-color, scrollbar-highlight-color, scrollbar-shadow-color, scrollbar-track-color, text-align-last, text-autospace, text-justify, text-kashida-space, text-overflow, text-size-adjust, text-underline-position, touch-action, transform, transform-origin, transform-origin-x, transform-origin-y, transform-origin-z, transform-style, transition, transition-delay, transition-duration, transition-property, transition-timing-function, user-select, word-break, word-wrap, wrap-flow, wrap-margin, wrap-through, writing-mode",
o:"dashboard-region, animation, animation-delay, animation-direction, animation-duration, animation-fill-mode, animation-iteration-count, animation-name, animation-play-state, animation-timing-function, border-image, link, link-source, object-fit, object-position, tab-size, table-baseline, transform, transform-origin, transition, transition-delay, transition-duration, transition-property, transition-timing-function, accesskey, input-format, input-required, marquee-dir, marquee-loop, marquee-speed, marquee-style"},
function(a,b){q.define("css."+b+"Properties",a,u({vendor:b}));q.define("css."+b+"PropertiesAddon","",s({vendor:b}))});q.define("css.unitlessProperties","z-index, line-height, opacity, font-weight, zoom","The list of properties whose values \u200b\u200bmust not contain units.");q.define("css.intUnit","px","Default unit for integer values");q.define("css.floatUnit","em","Default unit for float values");q.define("css.keywords","auto, inherit","A comma-separated list of valid keywords that can be used in CSS abbreviations.");
q.define("css.keywordAliases","a:auto, i:inherit, s:solid, da:dashed, do:dotted, t:transparent","A comma-separated list of keyword aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:keyword_name</code>.");q.define("css.unitAliases","e:em, p:%, x:ex, r:rem","A comma-separated list of unit aliases, used in CSS abbreviation. Each alias should be defined as <code>alias:unit_value</code>.");q.define("css.color.short",!0,"Should color values like <code>#ffffff</code> be shortened to <code>#fff</code> after abbreviation with color was expanded.");
q.define("css.color.case","keep","Letter case of color values generated by abbreviations with color (like <code>c#0</code>). Possible values are <code>upper</code>, <code>lower</code> and <code>keep</code>.");q.define("css.fuzzySearch",!0,"Enable fuzzy search among CSS snippet names. When enabled, every <em>unknown</em> snippet will be scored against available snippet names (not values or CSS properties!). The match with best score will be used to resolve snippet value. For example, with this preference enabled, the following abbreviations are equal: <code>ov:h</code> == <code>ov-h</code> == <code>o-h</code> == <code>oh</code>");
q.define("css.fuzzySearchMinScore",0.3,"The minium score (from 0 to 1) that fuzzy-matched abbreviation should achive. Lower values may produce many false-positive matches, higher values may reduce possible matches.");q.define("css.alignVendor",!1,"If set to <code>true</code>, all generated vendor-prefixed properties will be aligned by real property name.");j("w",{prefix:"webkit"});j("m",{prefix:"moz"});j("s",{prefix:"ms"});j("o",{prefix:"o"});var v=["css","less","sass","scss","stylus"];e("resources").addResolver(function(a,
b){return d.include(v,b)&&a.isElement()?o.expandToSnippet(a.abbreviation,b):null});var w=e("expandAbbreviation");w.addHandler(function(a,b,c){if(!d.include(v,b))return!1;var e=a.getSelectionRange().end,f=w.findAbbreviation(a);return f&&(b=emmet.expandAbbreviation(f,b,c))?(f=e-f.length,c=e,a.getContent().charAt(e)==";"&&b.charAt(b.length-1)==";"&&c++,a.replaceContent(b,f,c),!0):!1});return o={addPrefix:j,supportsPrefix:g,prefixed:function(a,b){return g(a,b)?"-"+b+"-"+a:a},listPrefixes:function(){return d.map(r,
function(a){return a.prefix})},getPrefix:function(a){return r[a]},removePrefix:function(a){a in r&&delete r[a]},extractPrefixes:function(a){if(a.charAt(0)!="-")return{property:a,prefixes:null};for(var b=1,c=a.length,d,e=[];b<c;){d=a.charAt(b);if(d=="-"){b++;break}if(d in r)e.push(d);else{e.length=0;b=1;break}b++}if(b==c-1)b=1,e.length=1;return{property:a.substring(b),prefixes:e.length?e:"all"}},findValuesInAbbreviation:function(b,c){for(var c=c||"css",d=0,f=b.length,j="",g;d<f;){g=b.charAt(d);if(h(g)||
g=="#"||g=="-"&&h(b.charAt(d+1))){j=b.substring(d);break}d++}g=b.substring(0,b.length-j.length);d=e("resources");for(f=[];~g.indexOf("-")&&!d.findSnippet(c,g);){g=g.split("-");var i=g.pop();if(!a(i))break;f.unshift(i);g=g.join("-")}return f.join("-")+j},parseValues:function(c){for(var f=e("stringStream").create(c),j=[],g=null;g=f.next();){if(g=="#")f.match(/^t|[0-9a-f]+/i,!0);else if(g=="-"){if(a(d.last(j))||f.start&&h(c.charAt(f.start-1)))f.start=f.pos;f.match(/^\-?[0-9]*(\.[0-9]+)?[a-z%\.]*/,!0)}else f.match(/^[0-9]*(\.[0-9]*)?[a-z%]*/,
!0);j.push(f.current());f.start=f.pos}return d.map(d.compact(j),b)},extractValues:function(a){var b=this.findValuesInAbbreviation(a);return!b?{property:a,values:null}:{property:a.substring(0,a.length-b.length).replace(/-$/,""),values:this.parseValues(b)}},normalizeValue:function(a,b){var b=(b||"").toLowerCase(),c=q.getArray("css.unitlessProperties");return a.replace(/^(\-?[0-9\.]+)([a-z]*)$/,function(a,f,e){if(!e&&(f=="0"||d.include(c,b)))return f;e?(a=q.getDict("css.unitAliases"),f+=e in a?a[e]:
e):f=f.replace(/\.$/,"")+q.get(~f.indexOf(".")?"css.floatUnit":"css.intUnit");return f})},expand:function(a,b,c){var c=c||"css",j=e("resources"),g=q.get("css.autoInsertVendorPrefixes"),h;if(h=/^(.+)\!$/.test(a))a=RegExp.$1;var l=j.findSnippet(c,a);if(l&&!g)return n(l,h,c);var a=this.extractPrefixes(a),o=this.extractValues(a.property),a=d.extend(a,o);l?a.values=null:l=j.findSnippet(c,a.property);!l&&q.get("css.fuzzySearch")&&(l=j.fuzzyFindSnippet(c,a.property,parseFloat(q.get("css.fuzzySearchMinScore"))));
if(l){if(!d.isString(l))l=l.data}else l=a.property+":${1};";if(!i(l))return l;var m=this.splitSnippet(l),p=[];!b&&a.values&&(b=d.map(a.values,function(a){return this.normalizeValue(a,m.name)},this).join(" ")+";");m.value=b||m.value;var b=a.prefixes=="all"||!a.prefixes&&g?f(m.name,g&&a.prefixes!="all"):a.prefixes,v=[],w;d.each(b,function(a){a in r&&(w=r[a].transformName(m.name),v.push(w),p.push(n(w+":"+m.value,h,c)))});p.push(n(m.name+":"+m.value,h,c));v.push(m.name);if(q.get("css.alignVendor"))var s=
e("utils").getStringsPads(v),p=d.map(p,function(a,b){return s[b]+a});return p},expandToSnippet:function(a,b){var c=this.expand(a,null,b);return d.isArray(c)?c.join("\n"):!d.isString(c)?c.data:String(c)},splitSnippet:function(a){var b=e("utils"),a=b.trim(a);if(a.indexOf(":")==-1)return{name:a,value:"${1};"};a=a.split(":");return{name:b.trim(a.shift()),value:b.trim(a.join(":")).replace(/^(\$\{0\}|\$0)(\s*;?)$/,"${1}$2")}},getSyntaxPreference:l,transformSnippet:n}});
emmet.define("cssGradient",function(e,d){function h(a){return e("utils").trim(a).replace(/\s+/g," ")}function i(a){var a=h(a),b=null,a=a.replace(/^(\w+\(.+?\))\s*/,function(a,c){b=c;return""});b||(a=a.split(" "),b=a[0],a=a[1]||"");var c={color:b};a&&a.replace(/^(\-?[\d\.]+)([a-z%]+)?$/,function(a,b,d){c.position=b;~b.indexOf(".")?d="":d||(d="%");if(d)c.unit=d});return c}function b(a){var b=0;d.each(a,function(c,f){if(!f)return c.position=c.position||0;if(f==a.length-1&&!("position"in c))c.position=
1;if("position"in c){var e=a[b].position||0,j=(c.position-e)/(f-b);d.each(a.slice(b,f),function(a,b){a.position=e+j*b});b=f}})}function c(a){var b=parseFloat(a);if(!d.isNaN(b))switch(b%360){case 0:return"left";case 90:return"bottom";case 180:return"right";case 240:return"top"}return a}function a(a){a=c(a);if(q.test(a))throw"The direction is an angle that can\u2019t be converted.";var b=function(b){return~a.indexOf(b)?"100%":"0"};return b("right")+" "+b("bottom")+", "+b("left")+" "+b("top")}function g(a){var b=
s.getArray("css.gradient.prefixes"),b=b?d.map(b,function(b){return"-"+b+"-"+a}):[];b.push(a);return b}function f(a,b){var c=[],f=e("cssResolver");s.get("css.gradient.fallback")&&~b.toLowerCase().indexOf("background")&&c.push({name:"background-color",value:"${1:"+a.colorStops[0].color+"}"});d.each(s.getArray("css.gradient.prefixes"),function(d){var e=f.prefixed(b,d);if(d=="webkit"&&s.get("css.gradient.oldWebkit"))try{c.push({name:e,value:p.oldWebkitLinearGradient(a)})}catch(j){}c.push({name:e,value:p.toString(a,
d)})});return c.sort(function(a,b){return b.name.length-a.name.length})}function j(a,b,c){var j=a.parent,h=e("utils"),i=e("preferences").get("css.alignVendor"),l=a.styleSeparator,o=a.styleBefore;d.each(j.getAll(g(a.name())),function(b){if(b!=a&&/gradient/i.test(b.value())){if(b.styleSeparator.length<l.length)l=b.styleSeparator;if(b.styleBefore.length<o.length)o=b.styleBefore;j.remove(b)}});if(i){if(o!=a.styleBefore){var m=a.fullRange();j._updateSource(o,m.start,m.start+a.styleBefore.length);a.styleBefore=
o}if(l!=a.styleSeparator)j._updateSource(l,a.nameRange().end,a.valueRange().start),a.styleSeparator=l}var n=a.value();c||(c=e("range").create(0,a.value()));a.value(function(a){return h.replaceSubstring(n,a,c)}(p.toString(b))+"${2}");b=f(b,a.name());if(i){i=d.pluck(b,"value");m=d.pluck(b,"name");i.push(a.value());m.push(a.name());var r=h.getStringsPads(d.map(i,function(a){return a.substring(0,a.indexOf("("))})),q=h.getStringsPads(m);a.name(d.last(q)+a.name());d.each(b,function(a,b){a.name=q[b]+a.name;
a.value=r[b]+a.value});a.value(d.last(r)+a.value())}d.each(b,function(b){j.add(b.name,b.value,j.indexOf(a))})}function l(a){var b=a.value(),c=null;return(a=d.find(a.valueParts(),function(a){return c=p.parse(a.substring(b))}))&&c?{gradient:c,valueRange:a}:null}function n(a,b){var c=s.get("css.gradient.defaultProperty");if(!c)return!1;var j=String(a.getContent()),g=e("range").create(a.getCurrentLineRange()),h=g.substring(j).replace(/^\s+/,function(a){g.start+=a.length;return""}).replace(/\s+$/,function(a){g.end-=
a.length;return""}),j=e("cssResolver");if(h=p.parse(h)){var i=f(h,c);i.push({name:c,value:p.toString(h)+"${2}"});var l=j.getSyntaxPreference("valueSeparator",b),o=j.getSyntaxPreference("propertyEnd",b);if(e("preferences").get("css.alignVendor")){var m=e("utils").getStringsPads(d.map(i,function(a){return a.value.substring(0,a.value.indexOf("("))}));d.each(i,function(a,b){a.value=m[b]+a.value})}i=d.map(i,function(a){return a.name+l+a.value+o});a.replaceContent(i.join("\n"),g.start,g.end);return!0}return!1}
function m(a,b){var c=null,f=e("cssEditTree").parseFromPosition(a,b,!0);f&&((c=f.itemFromPosition(b,!0))||(c=d.find(f.list(),function(a){return a.range(!0).end==b})));return{rule:f,property:c}}var o=["top","to bottom","0deg"],p=null,r=["css","less","sass","scss","stylus","styl"],q=/\d+deg/i,u=/top|bottom|left|right/i,s=e("preferences");s.define("css.gradient.prefixes","webkit, moz, o","A comma-separated list of vendor-prefixes for which values should be generated.");s.define("css.gradient.oldWebkit",
!0,"Generate gradient definition for old Webkit implementations");s.define("css.gradient.omitDefaultDirection",!0,"Do not output default direction definition in generated gradients.");s.define("css.gradient.defaultProperty","background-image","When gradient expanded outside CSS value context, it will produce properties with this name.");s.define("css.gradient.fallback",!1,"With this option enabled, CSS gradient generator will produce <code>background-color</code> property with gradient first color as fallback for old browsers.");
e("expandAbbreviation").addHandler(function(a,b,c){c=e("editorUtils").outputInfo(a,b,c);if(!d.include(r,c.syntax))return!1;var f=a.getCaretPos(),g=c.content,c=m(g,f);if(c.property){var h=l(c.property);if(h){var i=c.rule.options.offset||0,o=i+c.rule.toString().length;if(/[\n\r]/.test(c.property.value())){var p=c.property.valueRange(!0).start+h.valueRange.end,g=e("utils").replaceSubstring(g,";",p),f=m(g,f);f.property&&(h=l(f.property),c=f)}c.property.end(";");var f=c.property.name(),g=e("resources"),
p=e("preferences"),q=g.findSnippet(b,f);!q&&p.get("css.fuzzySearch")&&(q=g.fuzzyFindSnippet(b,f,parseFloat(p.get("css.fuzzySearchMinScore"))));if(q){if(!d.isString(q))q=q.data;b=e("cssResolver").splitSnippet(q).name}else b=void 0;b&&c.property.name(b);j(c.property,h.gradient,h.valueRange);a.replaceContent(c.rule.toString(),i,o,!0);return!0}}return n(a,b)});e("reflectCSSValue").addHandler(function(a){var b=e("utils"),c=l(a);if(!c)return!1;var f=a.value(),j=function(a){return b.replaceSubstring(f,a,
c.valueRange)};d.each(a.parent.getAll(g(a.name())),function(b){if(b!==a){var d=b.value().match(/^\s*(\-([a-z]+)\-)?linear\-gradient/);d?b.value(j(p.toString(c.gradient,d[2]||""))):b.value().match(/\s*\-webkit\-gradient/)&&b.value(j(p.oldWebkitLinearGradient(c.gradient)))}});return!0});return p={parse:function(a){var b=null;e("utils").trim(a).replace(/^([\w\-]+)\((.+?)\)$/,function(a,c,f){c=c.toLowerCase().replace(/^\-[a-z]+\-/,"");if(c=="linear-gradient"||c=="lg"){for(var a=o[0],f=e("stringStream").create(e("utils").trim(f)),
c=[],j;j=f.next();)f.peek()==","?(c.push(f.current()),f.next(),f.eatSpace(),f.start=f.pos):j=="("&&f.skipTo(")");c.push(f.current());c=d.compact(d.map(c,h));if(c.length){if(q.test(c[0])||u.test(c[0]))a=c.shift();b={type:"linear",direction:a,colorStops:d.map(c,i)}}else b=null;return""}return a});return b},oldWebkitLinearGradient:function(c){d.isString(c)&&(c=this.parse(c));if(!c)return null;var f=d.map(c.colorStops,d.clone);d.each(f,function(a){if("position"in a)if(~a.position.indexOf(".")||a.unit==
"%")a.position=parseFloat(a.position)/(a.unit=="%"?100:1);else throw"Can't convert color stop '"+(a.position+(a.unit||""))+"'";});b(f);f=d.map(f,function(a,b){return!a.position&&!b?"from("+a.color+")":a.position==1&&b==f.length-1?"to("+a.color+")":"color-stop("+a.position.toFixed(2).replace(/\.?0+$/,"")+", "+a.color+")"});return"-webkit-gradient(linear, "+a(c.direction)+", "+f.join(", ")+")"},toString:function(a,b){if(a.type=="linear"){var c=(b?"-"+b+"-":"")+"linear-gradient",f=d.map(a.colorStops,
function(a){return a.color+("position"in a?" "+a.position+(a.unit||""):"")});a.direction&&(!s.get("css.gradient.omitDefaultDirection")||!d.include(o,a.direction))&&f.unshift(a.direction);return c+"("+f.join(", ")+")"}}}});emmet.exec(function(e,d){var h=e("handlerList").create(),i=e("resources");d.extend(i,{addGenerator:function(b,c,a){d.isString(b)&&(b=RegExp(b));h.add(function(a,d){var e;return(e=b.exec(a.name()))?c(e,a,d):null},a)}});i.addResolver(function(b,c){return h.exec(null,d.toArray(arguments))})});
emmet.define("tagName",function(e,d){var h={empty:[],blockLevel:"address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,link,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul,h1,h2,h3,h4,h5,h6".split(","),inlineLevel:"a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var".split(",")},
i={p:"span",ul:"li",ol:"li",table:"tr",tr:"td",tbody:"tr",thead:"tr",tfoot:"tr",colgroup:"col",select:"option",optgroup:"option",audio:"source",video:"source",object:"param",map:"area"};return{resolve:function(b){b=(b||"").toLowerCase();return b in i?this.getMapping(b):this.isInlineLevel(b)?"span":"div"},getMapping:function(b){return i[b.toLowerCase()]},isInlineLevel:function(b){return this.isTypeOf(b,"inlineLevel")},isBlockLevel:function(b){return this.isTypeOf(b,"blockLevel")},isEmptyElement:function(b){return this.isTypeOf(b,
"empty")},isTypeOf:function(b,c){return d.include(h[c],b)},addMapping:function(b,c){i[b]=c},removeMapping:function(b){b in i&&delete i[b]},addElementToCollection:function(b,c){h[c]||(h[c]=[]);var a=this.getCollection(c);d.include(a,b)||a.push(b)},removeElementFromCollection:function(b,c){c in h&&(h[c]=d.without(this.getCollection(c),b))},getCollection:function(b){return h[b]}}});
emmet.exec(function(e,d){function h(){return{element:g.get("bem.elementSeparator"),modifier:g.get("bem.modifierSeparator")}}function i(a){if(e("abbreviationUtils").isSnippet(a))return a;a.__bem={block:"",element:"",modifier:""};var f=b(a.attribute("class")).split(" "),g=/^[a-z]\-/i;a.__bem.block=d.find(f,function(a){return g.test(a)});if(!a.__bem.block)g=/^[a-z]/i,a.__bem.block=d.find(f,function(a){return g.test(a)})||"";(f=d.chain(f).map(function(b){var d;d=c(b,a,"element");d=c(d,a,"modifier");var f=
"",e="",g="",b=h();~d.indexOf(b.element)?(f=d.split(b.element),g=f[1].split(b.modifier),f=f[0],e=g.shift(),g=g.join(b.modifier)):~d.indexOf(b.modifier)&&(g=d.split(b.modifier),f=g.shift(),g=g.join(b.modifier));if(f||e||g){if(!f)f=a.__bem.block;d=f;var i=[];e&&(d+=b.element+e);i.push(d);g&&i.push(d+b.modifier+g);a.__bem.block=f;a.__bem.element=e;a.__bem.modifier=g;b=i}else b=d;return b}).flatten().uniq().value().join(" "))&&a.attribute("class",f);return a}function b(a){var b=e("utils"),a=(" "+(a||
"")+" ").replace(/\s+/g," "),c=g.get("bem.shortElementPrefix");c&&(c=RegExp("\\s("+b.escapeForRegexp(c)+"+)","g"),a=a.replace(c,function(a,c){return" "+b.repeatString(h().element,c.length)}));return b.trim(a)}function c(a,b,c){var d=h(),f=RegExp("^("+d[c]+")+","g");if(f.test(a)){for(var e=0,f=a.replace(f,function(a){e=a.length/d[c].length;return""}),g=b;g.parent&&e--;)g=g.parent;if(!g||!g.__bem)g=b;if(g&&g.__bem)return a=g.__bem.block,c=="modifier"&&g.__bem.element&&(a+=d.element+g.__bem.element),
a+d[c]+f}return a}function a(b,c){b.name&&i(b,c);var g=e("abbreviationUtils");d.each(b.children,function(b){a(b,c);!g.isSnippet(b)&&b.start&&(f=!0)});return b}var g=e("preferences");g.define("bem.elementSeparator","__","Class name\u2019s element separator.");g.define("bem.modifierSeparator","_","Class name\u2019s modifier separator.");g.define("bem.shortElementPrefix","-","Symbol for describing short \u201cblock-element\u201d notation. Class names prefixed with this symbol will be treated as element name for parent\u2018s block name. Each symbol instance traverses one level up in parsed tree for block name lookup. Empty value will disable short notation.");
var f=!1;e("filters").add("bem",function(b,c){f=!1;b=a(b,c);f&&(b=e("filters").apply(b,"html",c));return b})});
emmet.exec(function(e,d){function h(c,a,g){var f=e("utils"),j=b.get("filter.commentTrigger");if(j=="*"||d.find(j.split(","),function(a){return!!c.attribute(f.trim(a))}))j={node:c,name:c.name(),padding:c.parent?c.parent.padding:"",attr:function(a,b,d){return(a=c.attribute(a))?(b||"")+a+(d||""):""}},a=f.normalizeNewline(a?a(j):""),g=f.normalizeNewline(g?g(j):""),c.start=c.start.replace(/</,a+"<"),c.end=c.end.replace(/>/,">"+g)}function i(b,a,g){var f=e("abbreviationUtils");d.each(b.children,function(b){f.isBlock(b)&&
h(b,a,g);i(b,a,g)});return b}var b=e("preferences");b.define("filter.commentAfter",'\n<\!-- /<%= attr("id", "#") %><%= attr("class", ".") %> --\>',"A definition of comment that should be placed <i>after</i> matched element when <code>comment</code> filter is applied. This definition is an ERB-style template passed to <code>_.template()</code> function (see Underscore.js docs for details). In template context, the following properties and functions are availabe:\n<ul><li><code>attr(name, before, after)</code> \u2013 a function that outputsspecified attribute value concatenated with <code>before</code> and <code>after</code> strings. If attribute doesn't exists, the empty string will be returned.</li><li><code>node</code> \u2013 current node (instance of <code>AbbreviationNode</code>)</li><li><code>name</code> \u2013 name of current tag</li><li><code>padding</code> \u2013 current string padding, can be used for formatting</li></ul>");
b.define("filter.commentBefore","","A definition of comment that should be placed <i>before</i> matched element when <code>comment</code> filter is applied. For more info, read description of <code>filter.commentAfter</code> property");b.define("filter.commentTrigger","id, class","A comma-separated list of attribute names that should exist in abbreviatoin where comment should be added. If you wish to add comment for every element, set this option to <code>*</code>");e("filters").add("c",function(c){var a=
d.template(b.get("filter.commentBefore")),e=d.template(b.get("filter.commentAfter"));return i(c,a,e)})});emmet.exec(function(e,d){function h(b){return b.replace(/([<>&])/g,function(b,a){return i[a]})}var i={"<":"&lt;",">":"&gt;","&":"&amp;"};e("filters").add("e",function c(a){d.each(a.children,function(a){a.start=h(a.start);a.end=h(a.end);a.content=h(a.content);c(a)});return a})});
emmet.exec(function(e,d){function h(a){return a.parent&&!a.parent.parent&&!a.index()}function i(a,c){var d=e("abbreviationUtils");return c.tag_nl===!0||d.isBlock(a)?!0:!a.parent||!c.inline_break?!1:b(a.parent,c)}function b(a,b){var c=0,h=e("abbreviationUtils");return!!d.find(a.children,function(a){a.isTextNode()||!h.isInline(a)?c=0:h.isInline(a)&&c++;if(c>=b.inline_break)return!0})}function c(a,c){var h=e("abbreviationUtils");return!d.any(a.children,function(a){return h.isSnippet(a)?!1:!h.isInline(a)})?
b(a,c):!0}var a=e("preferences");a.define("format.noIndentTags","html","A comma-separated list of tag names that should not get inner indentation.");a.define("format.forceIndentationForTags","body","A comma-separated list of tag names that should <em>always</em> get inner indentation.");e("filters").add("_format",function f(b,l,n){var n=n||0,m=e("abbreviationUtils");d.each(b.children,function(b){if(m.isSnippet(b)){if(b.start=b.end="",!h(b)&&l.tag_nl!==!1&&i(b,l)&&(!b.parent.parent||!e("abbreviationUtils").isInline(b.parent)))b.start=
e("utils").getNewline()+b.start}else{b.start=b.end="%s";var j=e("utils"),r=e("abbreviationUtils"),q=r.isUnary(b),j=j.getNewline(),u=d.include(a.getArray("format.noIndentTags")||[],b.name())?"":e("resources").getVariable("indentation");if(l.tag_nl!==!1){var s=l.tag_nl===!0&&(l.tag_nl_leaf||b.children.length);s||(s=d.include(a.getArray("format.forceIndentationForTags")||[],b.name()));if(!b.isTextNode()){if(i(b,l)){if(!h(b)&&(!r.isSnippet(b.parent)||b.index()))b.start=j+b.start;if(r.hasBlockChildren(b)||
b.children.length&&i(b.children[0],l)||s&&!q)b.end=j+b.end;if(r.hasTagsInContent(b)||s&&!b.children.length&&!q)b.start+=j+u}else if(r.isInline(b)&&b.parent&&e("abbreviationUtils").hasBlockChildren(b.parent)&&!h(b))b.start=j+b.start;else if(r.isInline(b)&&c(b,l))b.end=j+b.end;b.padding=u}}}f(b,l,n+1)});return b})});
emmet.exec(function(e,d){function h(h,b){var c="",a=[],g=b.attributeQuote(),f=b.cursor();d.each(h.attributeList(),function(d){var h=b.attributeName(d.name);switch(h.toLowerCase()){case "id":c+="#"+(d.value||f);break;case "class":c+="."+e("utils").trim(d.value||f).replace(/\s+/g,".");break;default:a.push(":"+h+" => "+g+(d.value||f)+g)}});a.length&&(c+="{"+a.join(", ")+"}");return c}e("filters").add("haml",function b(c,a,g){var g=g||0,f=e("abbreviationUtils");g||(c=e("filters").apply(c,"_format",a));
d.each(c.children,function(c){if(!f.isSnippet(c)&&c.parent){var d=e("abbreviationUtils"),n=e("utils"),m=h(c,a),o=a.cursor(),d=d.isUnary(c),p=a.self_closing_tag&&d?"/":"",r="",r="%"+a.tagName(c.name());r.toLowerCase()=="%div"&&m&&m.indexOf("{")==-1&&(r="");c.end="";c.start=n.replaceSubstring(c.start,r+m+p+" ",c.start.indexOf("%s"),"%s");!c.children.length&&!d&&(c.start+=o)}b(c,a,g+1)});return c})});
emmet.exec(function(e,d){function h(e,b){var c=b.attributeQuote(),a=b.cursor();return d.map(e.attributeList(),function(d){return" "+b.attributeName(d.name)+"="+c+(d.value||a)+c}).join("")}e("filters").add("html",function b(c,a,g){var g=g||0,f=e("abbreviationUtils");g||(c=e("filters").apply(c,"_format",a));d.each(c.children,function(c){if(!f.isSnippet(c)&&c.parent){var d=e("abbreviationUtils"),n=e("utils"),m=h(c,a),o=a.cursor(),d=d.isUnary(c),p="",r="";if(!c.isTextNode()){var q=a.tagName(c.name());
d?(p="<"+q+m+a.selfClosing()+">",c.end=""):(p="<"+q+m+">",r="</"+q+">")}c.start=n.replaceSubstring(c.start,p,c.start.indexOf("%s"),"%s");c.end=n.replaceSubstring(c.end,r,c.end.indexOf("%s"),"%s");!c.children.length&&!d&&!~c.content.indexOf(o)&&!e("tabStops").extract(c.content).tabstops.length&&(c.start+=o)}b(c,a,g+1)});return c})});
emmet.exec(function(e,d){var h=/^\s+/,i=/[\n\r]/g;e("filters").add("s",function c(a){var g=e("abbreviationUtils");d.each(a.children,function(a){if(!g.isSnippet(a))a.start=a.start.replace(h,""),a.end=a.end.replace(h,"");a.start=a.start.replace(i,"");a.end=a.end.replace(i,"");a.content=a.content.replace(i,"");c(a)});return a})});
emmet.exec(function(e,d){function h(e,b){d.each(e.children,function(c){if(c.content)c.content=c.content.replace(b,"");h(c,b)});return e}e("preferences").define("filter.trimRegexp","[\\s|\\u00a0]*[\\d|#|\\-|*|\\u2022]+\\.?\\s*","Regular expression used to remove list markers (numbers, dashes, bullets, etc.) in <code>t</code> (trim) filter. The trim filter is useful for wrapping with abbreviation lists, pased from other documents (for example, Word documents).");e("filters").add("t",function(d){var b=
RegExp(e("preferences").get("filter.trimRegexp"));return h(d,b)})});emmet.exec(function(e,d){var h={"xsl:variable":1,"xsl:with-param":1};e("filters").add("xsl",function b(c){var a=e("abbreviationUtils");d.each(c.children,function(c){if(!a.isSnippet(c)&&(c.name()||"").toLowerCase()in h&&c.children.length)c.start=c.start.replace(/\s+select\s*=\s*(['"]).*?\1/,"");b(c)});return c})});
emmet.define("lorem",function(e,d){function h(a,b){return Math.round(Math.random()*(b-a)+a)}function i(a,b){for(var c=a.length,e=Math.min(c,b),g=[];g.length<e;){var i=h(0,c-1);d.include(g,i)||g.push(i)}return d.map(g,function(b){return a[b]})}function b(a,b){a.length&&(a[0]=a[0].charAt(0).toUpperCase()+a[0].substring(1));return a.join(" ")+(b||(d.isString("?!...")?"?!...".charAt(h(0,4)):"?!..."[h(0,4)]))}function c(a){var b=a.length,c=0,c=b>3&&b<=6?h(0,1):b>6&&b<=12?h(0,2):h(1,4);d.each(d.range(c),
function(b){b<a.length-1&&(a[b]+=",")})}var a={en:{common:["lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit"],words:["exercitationem","perferendis","perspiciatis","laborum","eveniet","sunt","iure","nam","nobis","eum","cum","officiis","excepturi","odio","consectetur","quasi","aut","quisquam","vel","eligendi","itaque","non","odit","tempore","quaerat","dignissimos","facilis","neque","nihil","expedita","vitae","vero","ipsum","nisi","animi","cumque","pariatur","velit","modi","natus",
"iusto","eaque","sequi","illo","sed","ex","et","voluptatibus","tempora","veritatis","ratione","assumenda","incidunt","nostrum","placeat","aliquid","fuga","provident","praesentium","rem","necessitatibus","suscipit","adipisci","quidem","possimus","voluptas","debitis","sint","accusantium","unde","sapiente","voluptate","qui","aspernatur","laudantium","soluta","amet","quo","aliquam","saepe","culpa","libero","ipsa","dicta","reiciendis","nesciunt","doloribus","autem","impedit","minima","maiores","repudiandae",
"ipsam","obcaecati","ullam","enim","totam","delectus","ducimus","quis","voluptates","dolores","molestiae","harum","dolorem","quia","voluptatem","molestias","magni","distinctio","omnis","illum","dolorum","voluptatum","ea","quas","quam","corporis","quae","blanditiis","atque","deserunt","laboriosam","earum","consequuntur","hic","cupiditate","quibusdam","accusamus","ut","rerum","error","minus","eius","ab","ad","nemo","fugit","officia","at","in","id","quos","reprehenderit","numquam","iste","fugiat","sit",
"inventore","beatae","repellendus","magnam","recusandae","quod","explicabo","doloremque","aperiam","consequatur","asperiores","commodi","optio","dolor","labore","temporibus","repellat","veniam","architecto","est","esse","mollitia","nulla","a","similique","eos","alias","dolore","tenetur","deleniti","porro","facere","maxime","corrupti"]},ru:{common:["\u0434\u0430\u043b\u0435\u043a\u043e-\u0434\u0430\u043b\u0435\u043a\u043e","\u0437\u0430","\u0441\u043b\u043e\u0432\u0435\u0441\u043d\u044b\u043c\u0438",
"\u0433\u043e\u0440\u0430\u043c\u0438","\u0432 \u0441\u0442\u0440\u0430\u043d\u0435","\u0433\u043b\u0430\u0441\u043d\u044b\u0445","\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u044b\u0445","\u0436\u0438\u0432\u0443\u0442","\u0440\u044b\u0431\u043d\u044b\u0435","\u0442\u0435\u043a\u0441\u0442\u044b"],words:["\u0432\u0434\u0430\u043b\u0438","\u043e\u0442 \u0432\u0441\u0435\u0445","\u043e\u043d\u0438","\u0431\u0443\u043a\u0432\u0435\u043d\u043d\u044b\u0445","\u0434\u043e\u043c\u0430\u0445","\u043d\u0430 \u0431\u0435\u0440\u0435\u0433\u0443",
"\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430","\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e","\u044f\u0437\u044b\u043a\u043e\u0432\u043e\u0433\u043e","\u043e\u043a\u0435\u0430\u043d\u0430","\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439","\u0440\u0443\u0447\u0435\u0435\u043a","\u0434\u0430\u043b\u044c","\u0436\u0443\u0440\u0447\u0438\u0442","\u043f\u043e \u0432\u0441\u0435\u0439","\u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442","\u0435\u0435","\u0432\u0441\u0435\u043c\u0438",
"\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438","\u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438","\u044d\u0442\u0430","\u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f","\u0441\u0442\u0440\u0430\u043d\u0430","\u043a\u043e\u0442\u043e\u0440\u043e\u0439","\u0436\u0430\u0440\u0435\u043d\u043d\u044b\u0435","\u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f","\u0437\u0430\u043b\u0435\u0442\u0430\u044e\u0442",
"\u043f\u0440\u044f\u043c\u043e","\u0440\u043e\u0442","\u0434\u0430\u0436\u0435","\u0432\u0441\u0435\u043c\u043e\u0433\u0443\u0449\u0430\u044f","\u043f\u0443\u043d\u043a\u0442\u0443\u0430\u0446\u0438\u044f","\u043d\u0435","\u0438\u043c\u0435\u0435\u0442","\u0432\u043b\u0430\u0441\u0442\u0438","\u043d\u0430\u0434","\u0440\u044b\u0431\u043d\u044b\u043c\u0438","\u0442\u0435\u043a\u0441\u0442\u0430\u043c\u0438","\u0432\u0435\u0434\u0443\u0449\u0438\u043c\u0438","\u0431\u0435\u0437\u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u043d\u044b\u0439",
"\u043e\u0431\u0440\u0430\u0437","\u0436\u0438\u0437\u043d\u0438","\u043e\u0434\u043d\u0430\u0436\u0434\u044b","\u043e\u0434\u043d\u0430","\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f","\u0441\u0442\u0440\u043e\u0447\u043a\u0430","\u0440\u044b\u0431\u043d\u043e\u0433\u043e","\u0442\u0435\u043a\u0441\u0442\u0430","\u0438\u043c\u0435\u043d\u0438","lorem","ipsum","\u0440\u0435\u0448\u0438\u043b\u0430","\u0432\u044b\u0439\u0442\u0438","\u0431\u043e\u043b\u044c\u0448\u043e\u0439","\u043c\u0438\u0440",
"\u0433\u0440\u0430\u043c\u043c\u0430\u0442\u0438\u043a\u0438","\u0432\u0435\u043b\u0438\u043a\u0438\u0439","\u043e\u043a\u0441\u043c\u043e\u043a\u0441","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u043b","\u043e","\u0437\u043b\u044b\u0445","\u0437\u0430\u043f\u044f\u0442\u044b\u0445","\u0434\u0438\u043a\u0438\u0445","\u0437\u043d\u0430\u043a\u0430\u0445","\u0432\u043e\u043f\u0440\u043e\u0441\u0430","\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0445","\u0442\u043e\u0447\u043a\u0430\u0445",
"\u0437\u0430\u043f\u044f\u0442\u043e\u0439","\u043d\u043e","\u0442\u0435\u043a\u0441\u0442","\u0434\u0430\u043b","\u0441\u0431\u0438\u0442\u044c","\u0441\u0435\u0431\u044f","\u0442\u043e\u043b\u043a\u0443","\u043e\u043d","\u0441\u043e\u0431\u0440\u0430\u043b","\u0441\u0435\u043c\u044c","\u0441\u0432\u043e\u0438\u0445","\u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0445","\u0431\u0443\u043a\u0432","\u043f\u043e\u0434\u043f\u043e\u044f\u0441\u0430\u043b","\u0438\u043d\u0438\u0446\u0438\u0430\u043b",
"\u0437\u0430","\u043f\u043e\u044f\u0441","\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f","\u0434\u043e\u0440\u043e\u0433\u0443","\u0432\u0437\u043e\u0431\u0440\u0430\u0432\u0448\u0438\u0441\u044c","\u043f\u0435\u0440\u0432\u0443\u044e","\u0432\u0435\u0440\u0448\u0438\u043d\u0443","\u043a\u0443\u0440\u0441\u0438\u0432\u043d\u044b\u0445","\u0433\u043e\u0440","\u0431\u0440\u043e\u0441\u0438\u043b","\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439","\u0432\u0437\u0433\u043b\u044f\u0434","\u043d\u0430\u0437\u0430\u0434",
"\u0441\u0438\u043b\u0443\u044d\u0442","\u0441\u0432\u043e\u0435\u0433\u043e","\u0440\u043e\u0434\u043d\u043e\u0433\u043e","\u0433\u043e\u0440\u043e\u0434\u0430","\u0431\u0443\u043a\u0432\u043e\u0433\u0440\u0430\u0434","\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","\u0434\u0435\u0440\u0435\u0432\u043d\u0438","\u0430\u043b\u0444\u0430\u0432\u0438\u0442","\u043f\u043e\u0434\u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a","\u0441\u0432\u043e\u0435\u0433\u043e","\u043f\u0435\u0440\u0435\u0443\u043b\u043a\u0430",
"\u0433\u0440\u0443\u0441\u0442\u043d\u044b\u0439","\u0440\u0435\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439","\u0432\u043e\u043f\u0440\u043e\u0441","\u0441\u043a\u0430\u0442\u0438\u043b\u0441\u044f","\u0435\u0433\u043e","\u0449\u0435\u043a\u0435","\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b","\u0441\u0432\u043e\u0439","\u043f\u0443\u0442\u044c","\u0434\u043e\u0440\u043e\u0433\u0435","\u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b","\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u044c",
"\u043e\u043d\u0430","\u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0434\u0438\u043b\u0430","\u043c\u043e\u0435\u0439","\u0432\u0441\u0435","\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f","\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e","\u0440\u0430\u0437","\u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435","\u0447\u0442\u043e","\u043c\u0435\u043d\u044f","\u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c","\u044d\u0442\u043e",
"\u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430","\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0439\u0441\u044f","\u0442\u044b","\u043b\u0443\u0447\u0448\u0435","\u0441\u0432\u043e\u044e","\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e","\u0441\u0442\u0440\u0430\u043d\u0443","\u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0432\u0448\u0438\u0441\u044c","\u0440\u0443\u043a\u043e\u043f\u0438\u0441\u0438","\u043d\u0430\u0448","\u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b",
"\u0441\u0432\u043e\u0439","\u043f\u0443\u0442\u044c","\u0432\u0441\u043a\u043e\u0440\u0435","\u0435\u043c\u0443","\u043f\u043e\u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0441\u044f","\u043a\u043e\u0432\u0430\u0440\u043d\u044b\u0439","\u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c","\u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445","\u0442\u0435\u043a\u0441\u0442\u043e\u0432","\u043d\u0430\u043f\u043e\u0438\u0432\u0448\u0438\u0439","\u044f\u0437\u044b\u043a\u043e\u043c",
"\u0440\u0435\u0447\u044c\u044e","\u0437\u0430\u043c\u0430\u043d\u0438\u0432\u0448\u0438\u0439","\u0441\u0432\u043e\u0435","\u0430\u0433\u0435\u043d\u0441\u0442\u0432\u043e","\u043a\u043e\u0442\u043e\u0440\u043e\u0435","\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e","\u0441\u043d\u043e\u0432\u0430","\u0441\u043d\u043e\u0432\u0430","\u0441\u0432\u043e\u0438\u0445","\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445","\u0435\u0441\u043b\u0438","\u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438",
"\u0442\u043e","\u0436\u0438\u0432\u0435\u0442","\u0442\u0430\u043c","\u0434\u043e","\u0441\u0438\u0445","\u043f\u043e\u0440"]}},g=e("preferences");g.define("lorem.defaultLang","en");e("abbreviationParser").addPreprocessor(function(d){var e=/^(?:lorem|lipsum)([a-z]{2})?(\d*)$/i,l;d.findAll(function(d){if(d._name&&(l=d._name.match(e))){var f=l[2]||30,o=l[1]||g.get("lorem.defaultLang")||"en";d._name="";d.data("forceNameResolving",d.isRepeating()||d.attributeList().length);d.data("pasteOverwrites",!0);
d.data("paste",function(d){var e;e=f;var g=!d;if(d=a[o]){var j=[],l=0;e=parseInt(e,10);g&&d.common&&(g=d.common.slice(0,e),g.length>5&&(g[4]+=","),l+=g.length,j.push(b(g,".")));for(;l<e;)g=i(d.words,Math.min(h(3,12)*h(1,5),e-l)),l+=g.length,c(g),j.push(b(g));e=j.join(" ")}else e="";return e})}})});return{addLang:function(b,c){d.isString(c)?c={words:d.compact(c.split(" "))}:d.isArray(c)&&(c={words:c});a[b]=c}}});
emmet.exec(function(e){e("actions").add("select_line",function(d){var e=d.getCurrentLineRange();d.createSelection(e.start,e.end);return!0})});
emmet.exec(function(e){e("resources").setVocabulary({variables:{lang:"en",locale:"en-US",charset:"UTF-8",indentation:"\t",newline:"\n"},css:{filters:"html",snippets:{"@i":"@import url(|);","@import":"@import url(|);","@m":"@media ${1:screen} {\n\t|\n}","@media":"@media ${1:screen} {\n\t|\n}","@f":"@font-face {\n\tfont-family:|;\n\tsrc:url(|);\n}","@f+":"@font-face {\n\tfont-family: '${1:FontName}';\n\tsrc: url('${2:FileName}.eot');\n\tsrc: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n\t\t url('${2:FileName}.woff') format('woff'),\n\t\t url('${2:FileName}.ttf') format('truetype'),\n\t\t url('${2:FileName}.svg#${1:FontName}') format('svg');\n\tfont-style: ${3:normal};\n\tfont-weight: ${4:normal};\n}","@kf":"@-webkit-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-o-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@-moz-keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}\n@keyframes ${1:identifier} {\n\t${2:from} { ${3} }${6}\n\t${4:to} { ${5} }\n}",
anim:"animation:|;","anim-":"animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode};",animdel:"animation-delay:${1:time};",animdir:"animation-direction:${1:normal};","animdir:n":"animation-direction:normal;","animdir:r":"animation-direction:reverse;","animdir:a":"animation-direction:alternate;","animdir:ar":"animation-direction:alternate-reverse;",animdur:"animation-duration:${1:0}s;",animfm:"animation-fill-mode:${1:both};","animfm:f":"animation-fill-mode:forwards;",
"animfm:b":"animation-fill-mode:backwards;","animfm:bt":"animation-fill-mode:both;","animfm:bh":"animation-fill-mode:both;",animic:"animation-iteration-count:${1:1};","animic:i":"animation-iteration-count:infinite;",animn:"animation-name:${1:none};",animps:"animation-play-state:${1:running};","animps:p":"animation-play-state:paused;","animps:r":"animation-play-state:running;",animtf:"animation-timing-function:${1:linear};","animtf:e":"animation-timing-function:ease;","animtf:ei":"animation-timing-function:ease-in;",
"animtf:eo":"animation-timing-function:ease-out;","animtf:eio":"animation-timing-function:ease-in-out;","animtf:l":"animation-timing-function:linear;","animtf:cb":"animation-timing-function:cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1});",ap:"appearance:${none};","!":"!important",pos:"position:${1:relative};","pos:s":"position:static;","pos:a":"position:absolute;","pos:r":"position:relative;","pos:f":"position:fixed;",t:"top:|;","t:a":"top:auto;",r:"right:|;","r:a":"right:auto;",b:"bottom:|;",
"b:a":"bottom:auto;",l:"left:|;","l:a":"left:auto;",z:"z-index:|;","z:a":"z-index:auto;",fl:"float:${1:left};","fl:n":"float:none;","fl:l":"float:left;","fl:r":"float:right;",cl:"clear:${1:both};","cl:n":"clear:none;","cl:l":"clear:left;","cl:r":"clear:right;","cl:b":"clear:both;",colm:"columns:|;",colmc:"column-count:|;",colmf:"column-fill:|;",colmg:"column-gap:|;",colmr:"column-rule:|;",colmrc:"column-rule-color:|;",colmrs:"column-rule-style:|;",colmrw:"column-rule-width:|;",colms:"column-span:|;",
colmw:"column-width:|;",d:"display:${1:block};","d:n":"display:none;","d:b":"display:block;","d:i":"display:inline;","d:ib":"display:inline-block;","d:li":"display:list-item;","d:ri":"display:run-in;","d:cp":"display:compact;","d:tb":"display:table;","d:itb":"display:inline-table;","d:tbcp":"display:table-caption;","d:tbcl":"display:table-column;","d:tbclg":"display:table-column-group;","d:tbhg":"display:table-header-group;","d:tbfg":"display:table-footer-group;","d:tbr":"display:table-row;","d:tbrg":"display:table-row-group;",
"d:tbc":"display:table-cell;","d:rb":"display:ruby;","d:rbb":"display:ruby-base;","d:rbbg":"display:ruby-base-group;","d:rbt":"display:ruby-text;","d:rbtg":"display:ruby-text-group;",v:"visibility:${1:hidden};","v:v":"visibility:visible;","v:h":"visibility:hidden;","v:c":"visibility:collapse;",ov:"overflow:${1:hidden};","ov:v":"overflow:visible;","ov:h":"overflow:hidden;","ov:s":"overflow:scroll;","ov:a":"overflow:auto;",ovx:"overflow-x:${1:hidden};","ovx:v":"overflow-x:visible;","ovx:h":"overflow-x:hidden;",
"ovx:s":"overflow-x:scroll;","ovx:a":"overflow-x:auto;",ovy:"overflow-y:${1:hidden};","ovy:v":"overflow-y:visible;","ovy:h":"overflow-y:hidden;","ovy:s":"overflow-y:scroll;","ovy:a":"overflow-y:auto;",ovs:"overflow-style:${1:scrollbar};","ovs:a":"overflow-style:auto;","ovs:s":"overflow-style:scrollbar;","ovs:p":"overflow-style:panner;","ovs:m":"overflow-style:move;","ovs:mq":"overflow-style:marquee;",zoo:"zoom:1;",zm:"zoom:1;",cp:"clip:|;","cp:a":"clip:auto;","cp:r":"clip:rect(${1:top} ${2:right} ${3:bottom} ${4:left});",
bxz:"box-sizing:${1:border-box};","bxz:cb":"box-sizing:content-box;","bxz:bb":"box-sizing:border-box;",bxsh:"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:color};","bxsh:r":"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:spread }rgb(${6:0}, ${7:0}, ${8:0});","bxsh:ra":"box-shadow:${1:inset }${2:h} ${3:v} ${4:blur} ${5:spread }rgba(${6:0}, ${7:0}, ${8:0}, .${9:5});","bxsh:n":"box-shadow:none;",m:"margin:|;","m:a":"margin:auto;",mt:"margin-top:|;","mt:a":"margin-top:auto;",mr:"margin-right:|;",
"mr:a":"margin-right:auto;",mb:"margin-bottom:|;","mb:a":"margin-bottom:auto;",ml:"margin-left:|;","ml:a":"margin-left:auto;",p:"padding:|;",pt:"padding-top:|;",pr:"padding-right:|;",pb:"padding-bottom:|;",pl:"padding-left:|;",w:"width:|;","w:a":"width:auto;",h:"height:|;","h:a":"height:auto;",maw:"max-width:|;","maw:n":"max-width:none;",mah:"max-height:|;","mah:n":"max-height:none;",miw:"min-width:|;",mih:"min-height:|;",mar:"max-resolution:${1:res};",mir:"min-resolution:${1:res};",ori:"orientation:|;",
"ori:l":"orientation:landscape;","ori:p":"orientation:portrait;",ol:"outline:|;","ol:n":"outline:none;",olo:"outline-offset:|;",olw:"outline-width:|;",ols:"outline-style:|;",olc:"outline-color:#${1:000};","olc:i":"outline-color:invert;",bd:"border:|;","bd+":"border:${1:1px} ${2:solid} ${3:#000};","bd:n":"border:none;",bdbk:"border-break:${1:close};","bdbk:c":"border-break:close;",bdcl:"border-collapse:|;","bdcl:c":"border-collapse:collapse;","bdcl:s":"border-collapse:separate;",bdc:"border-color:#${1:000};",
"bdc:t":"border-color:transparent;",bdi:"border-image:url(|);","bdi:n":"border-image:none;",bdti:"border-top-image:url(|);","bdti:n":"border-top-image:none;",bdri:"border-right-image:url(|);","bdri:n":"border-right-image:none;",bdbi:"border-bottom-image:url(|);","bdbi:n":"border-bottom-image:none;",bdli:"border-left-image:url(|);","bdli:n":"border-left-image:none;",bdci:"border-corner-image:url(|);","bdci:n":"border-corner-image:none;","bdci:c":"border-corner-image:continue;",bdtli:"border-top-left-image:url(|);",
"bdtli:n":"border-top-left-image:none;","bdtli:c":"border-top-left-image:continue;",bdtri:"border-top-right-image:url(|);","bdtri:n":"border-top-right-image:none;","bdtri:c":"border-top-right-image:continue;",bdbri:"border-bottom-right-image:url(|);","bdbri:n":"border-bottom-right-image:none;","bdbri:c":"border-bottom-right-image:continue;",bdbli:"border-bottom-left-image:url(|);","bdbli:n":"border-bottom-left-image:none;","bdbli:c":"border-bottom-left-image:continue;",bdf:"border-fit:${1:repeat};",
"bdf:c":"border-fit:clip;","bdf:r":"border-fit:repeat;","bdf:sc":"border-fit:scale;","bdf:st":"border-fit:stretch;","bdf:ow":"border-fit:overwrite;","bdf:of":"border-fit:overflow;","bdf:sp":"border-fit:space;",bdlen:"border-length:|;","bdlen:a":"border-length:auto;",bdsp:"border-spacing:|;",bds:"border-style:|;","bds:n":"border-style:none;","bds:h":"border-style:hidden;","bds:dt":"border-style:dotted;","bds:ds":"border-style:dashed;","bds:s":"border-style:solid;","bds:db":"border-style:double;","bds:dtds":"border-style:dot-dash;",
"bds:dtdtds":"border-style:dot-dot-dash;","bds:w":"border-style:wave;","bds:g":"border-style:groove;","bds:r":"border-style:ridge;","bds:i":"border-style:inset;","bds:o":"border-style:outset;",bdw:"border-width:|;",bdtw:"border-top-width:|;",bdrw:"border-right-width:|;",bdbw:"border-bottom-width:|;",bdlw:"border-left-width:|;",bdt:"border-top:|;",bt:"border-top:|;","bdt+":"border-top:${1:1px} ${2:solid} ${3:#000};","bdt:n":"border-top:none;",bdts:"border-top-style:|;","bdts:n":"border-top-style:none;",
bdtc:"border-top-color:#${1:000};","bdtc:t":"border-top-color:transparent;",bdr:"border-right:|;",br:"border-right:|;","bdr+":"border-right:${1:1px} ${2:solid} ${3:#000};","bdr:n":"border-right:none;",bdrst:"border-right-style:|;","bdrst:n":"border-right-style:none;",bdrc:"border-right-color:#${1:000};","bdrc:t":"border-right-color:transparent;",bdb:"border-bottom:|;",bb:"border-bottom:|;","bdb+":"border-bottom:${1:1px} ${2:solid} ${3:#000};","bdb:n":"border-bottom:none;",bdbs:"border-bottom-style:|;",
"bdbs:n":"border-bottom-style:none;",bdbc:"border-bottom-color:#${1:000};","bdbc:t":"border-bottom-color:transparent;",bdl:"border-left:|;",bl:"border-left:|;","bdl+":"border-left:${1:1px} ${2:solid} ${3:#000};","bdl:n":"border-left:none;",bdls:"border-left-style:|;","bdls:n":"border-left-style:none;",bdlc:"border-left-color:#${1:000};","bdlc:t":"border-left-color:transparent;",bdrs:"border-radius:|;",bdtrrs:"border-top-right-radius:|;",bdtlrs:"border-top-left-radius:|;",bdbrrs:"border-bottom-right-radius:|;",
bdblrs:"border-bottom-left-radius:|;",bg:"background:|;","bg+":"background:${1:#fff} url(${2}) ${3:0} ${4:0} ${5:no-repeat};","bg:n":"background:none;","bg:ie":"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${1:x}.png',sizingMethod='${2:crop}');",bgc:"background-color:#${1:fff};","bgc:t":"background-color:transparent;",bgi:"background-image:url(|);","bgi:n":"background-image:none;",bgr:"background-repeat:|;","bgr:n":"background-repeat:no-repeat;","bgr:x":"background-repeat:repeat-x;",
"bgr:y":"background-repeat:repeat-y;","bgr:sp":"background-repeat:space;","bgr:rd":"background-repeat:round;",bga:"background-attachment:|;","bga:f":"background-attachment:fixed;","bga:s":"background-attachment:scroll;",bgp:"background-position:${1:0} ${2:0};",bgpx:"background-position-x:|;",bgpy:"background-position-y:|;",bgbk:"background-break:|;","bgbk:bb":"background-break:bounding-box;","bgbk:eb":"background-break:each-box;","bgbk:c":"background-break:continuous;",bgcp:"background-clip:${1:padding-box};",
"bgcp:bb":"background-clip:border-box;","bgcp:pb":"background-clip:padding-box;","bgcp:cb":"background-clip:content-box;","bgcp:nc":"background-clip:no-clip;",bgo:"background-origin:|;","bgo:pb":"background-origin:padding-box;","bgo:bb":"background-origin:border-box;","bgo:cb":"background-origin:content-box;",bgsz:"background-size:|;","bgsz:a":"background-size:auto;","bgsz:ct":"background-size:contain;","bgsz:cv":"background-size:cover;",c:"color:#${1:000};","c:r":"color:rgb(${1:0}, ${2:0}, ${3:0});",
"c:ra":"color:rgba(${1:0}, ${2:0}, ${3:0}, .${4:5});",cm:"/* |${child} */",cnt:"content:'|';","cnt:n":"content:normal;","cnt:oq":"content:open-quote;","cnt:noq":"content:no-open-quote;","cnt:cq":"content:close-quote;","cnt:ncq":"content:no-close-quote;","cnt:a":"content:attr(|);","cnt:c":"content:counter(|);","cnt:cs":"content:counters(|);",tbl:"table-layout:|;","tbl:a":"table-layout:auto;","tbl:f":"table-layout:fixed;",cps:"caption-side:|;","cps:t":"caption-side:top;","cps:b":"caption-side:bottom;",
ec:"empty-cells:|;","ec:s":"empty-cells:show;","ec:h":"empty-cells:hide;",lis:"list-style:|;","lis:n":"list-style:none;",lisp:"list-style-position:|;","lisp:i":"list-style-position:inside;","lisp:o":"list-style-position:outside;",list:"list-style-type:|;","list:n":"list-style-type:none;","list:d":"list-style-type:disc;","list:c":"list-style-type:circle;","list:s":"list-style-type:square;","list:dc":"list-style-type:decimal;","list:dclz":"list-style-type:decimal-leading-zero;","list:lr":"list-style-type:lower-roman;",
"list:ur":"list-style-type:upper-roman;",lisi:"list-style-image:|;","lisi:n":"list-style-image:none;",q:"quotes:|;","q:n":"quotes:none;","q:ru":"quotes:'\\00AB' '\\00BB' '\\201E' '\\201C';","q:en":"quotes:'\\201C' '\\201D' '\\2018' '\\2019';",ct:"content:|;","ct:n":"content:normal;","ct:oq":"content:open-quote;","ct:noq":"content:no-open-quote;","ct:cq":"content:close-quote;","ct:ncq":"content:no-close-quote;","ct:a":"content:attr(|);","ct:c":"content:counter(|);","ct:cs":"content:counters(|);",coi:"counter-increment:|;",
cor:"counter-reset:|;",va:"vertical-align:${1:top};","va:sup":"vertical-align:super;","va:t":"vertical-align:top;","va:tt":"vertical-align:text-top;","va:m":"vertical-align:middle;","va:bl":"vertical-align:baseline;","va:b":"vertical-align:bottom;","va:tb":"vertical-align:text-bottom;","va:sub":"vertical-align:sub;",ta:"text-align:${1:left};","ta:l":"text-align:left;","ta:c":"text-align:center;","ta:r":"text-align:right;","ta:j":"text-align:justify;","ta-lst":"text-align-last:|;","tal:a":"text-align-last:auto;",
"tal:l":"text-align-last:left;","tal:c":"text-align-last:center;","tal:r":"text-align-last:right;",td:"text-decoration:${1:none};","td:n":"text-decoration:none;","td:u":"text-decoration:underline;","td:o":"text-decoration:overline;","td:l":"text-decoration:line-through;",te:"text-emphasis:|;","te:n":"text-emphasis:none;","te:ac":"text-emphasis:accent;","te:dt":"text-emphasis:dot;","te:c":"text-emphasis:circle;","te:ds":"text-emphasis:disc;","te:b":"text-emphasis:before;","te:a":"text-emphasis:after;",
th:"text-height:|;","th:a":"text-height:auto;","th:f":"text-height:font-size;","th:t":"text-height:text-size;","th:m":"text-height:max-size;",ti:"text-indent:|;","ti:-":"text-indent:-9999px;",tj:"text-justify:|;","tj:a":"text-justify:auto;","tj:iw":"text-justify:inter-word;","tj:ii":"text-justify:inter-ideograph;","tj:ic":"text-justify:inter-cluster;","tj:d":"text-justify:distribute;","tj:k":"text-justify:kashida;","tj:t":"text-justify:tibetan;",tov:"text-overflow:${ellipsis};","tov:e":"text-overflow:ellipsis;",
"tov:c":"text-overflow:clip;",to:"text-outline:|;","to+":"text-outline:${1:0} ${2:0} ${3:#000};","to:n":"text-outline:none;",tr:"text-replace:|;","tr:n":"text-replace:none;",tt:"text-transform:${1:uppercase};","tt:n":"text-transform:none;","tt:c":"text-transform:capitalize;","tt:u":"text-transform:uppercase;","tt:l":"text-transform:lowercase;",tw:"text-wrap:|;","tw:n":"text-wrap:normal;","tw:no":"text-wrap:none;","tw:u":"text-wrap:unrestricted;","tw:s":"text-wrap:suppress;",tsh:"text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000};",
"tsh:r":"text-shadow:${1:h} ${2:v} ${3:blur} rgb(${4:0}, ${5:0}, ${6:0});","tsh:ra":"text-shadow:${1:h} ${2:v} ${3:blur} rgba(${4:0}, ${5:0}, ${6:0}, .${7:5});","tsh+":"text-shadow:${1:0} ${2:0} ${3:0} ${4:#000};","tsh:n":"text-shadow:none;",trf:"transform:|;","trf:skx":"transform: skewX(${1:angle});","trf:sky":"transform: skewY(${1:angle});","trf:sc":"transform: scale(${1:x}, ${2:y});","trf:scx":"transform: scaleX(${1:x});","trf:scy":"transform: scaleY(${1:y});","trf:r":"transform: rotate(${1:angle});",
"trf:t":"transform: translate(${1:x}, ${2:y});","trf:tx":"transform: translateX(${1:x});","trf:ty":"transform: translateY(${1:y});",trfo:"transform-origin:|;",trfs:"transform-style:${1:preserve-3d};",trs:"transition:${1:prop} ${2:time};",trsde:"transition-delay:${1:time};",trsdu:"transition-duration:${1:time};",trsp:"transition-property:${1:prop};",trstf:"transition-timing-function:${1:tfunc};",lh:"line-height:|;",whs:"white-space:|;","whs:n":"white-space:normal;","whs:p":"white-space:pre;","whs:nw":"white-space:nowrap;",
"whs:pw":"white-space:pre-wrap;","whs:pl":"white-space:pre-line;",whsc:"white-space-collapse:|;","whsc:n":"white-space-collapse:normal;","whsc:k":"white-space-collapse:keep-all;","whsc:l":"white-space-collapse:loose;","whsc:bs":"white-space-collapse:break-strict;","whsc:ba":"white-space-collapse:break-all;",wob:"word-break:|;","wob:n":"word-break:normal;","wob:k":"word-break:keep-all;","wob:l":"word-break:loose;","wob:bs":"word-break:break-strict;","wob:ba":"word-break:break-all;",wos:"word-spacing:|;",
wow:"word-wrap:|;","wow:nm":"word-wrap:normal;","wow:n":"word-wrap:none;","wow:u":"word-wrap:unrestricted;","wow:s":"word-wrap:suppress;","wow:b":"word-wrap:break-word;",lts:"letter-spacing:|;",f:"font:|;","f+":"font:${1:1em} ${2:Arial,sans-serif};",fw:"font-weight:|;","fw:n":"font-weight:normal;","fw:b":"font-weight:bold;","fw:br":"font-weight:bolder;","fw:lr":"font-weight:lighter;",fs:"font-style:${italic};","fs:n":"font-style:normal;","fs:i":"font-style:italic;","fs:o":"font-style:oblique;",fv:"font-variant:|;",
"fv:n":"font-variant:normal;","fv:sc":"font-variant:small-caps;",fz:"font-size:|;",fza:"font-size-adjust:|;","fza:n":"font-size-adjust:none;",ff:"font-family:|;","ff:s":"font-family:serif;","ff:ss":"font-family:sans-serif;","ff:c":"font-family:cursive;","ff:f":"font-family:fantasy;","ff:m":"font-family:monospace;",fef:"font-effect:|;","fef:n":"font-effect:none;","fef:eg":"font-effect:engrave;","fef:eb":"font-effect:emboss;","fef:o":"font-effect:outline;",fem:"font-emphasize:|;",femp:"font-emphasize-position:|;",
"femp:b":"font-emphasize-position:before;","femp:a":"font-emphasize-position:after;",fems:"font-emphasize-style:|;","fems:n":"font-emphasize-style:none;","fems:ac":"font-emphasize-style:accent;","fems:dt":"font-emphasize-style:dot;","fems:c":"font-emphasize-style:circle;","fems:ds":"font-emphasize-style:disc;",fsm:"font-smooth:|;","fsm:a":"font-smooth:auto;","fsm:n":"font-smooth:never;","fsm:aw":"font-smooth:always;",fst:"font-stretch:|;","fst:n":"font-stretch:normal;","fst:uc":"font-stretch:ultra-condensed;",
"fst:ec":"font-stretch:extra-condensed;","fst:c":"font-stretch:condensed;","fst:sc":"font-stretch:semi-condensed;","fst:se":"font-stretch:semi-expanded;","fst:e":"font-stretch:expanded;","fst:ee":"font-stretch:extra-expanded;","fst:ue":"font-stretch:ultra-expanded;",op:"opacity:|;","op:ie":"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);","op:ms":"-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=100)';",rsz:"resize:|;","rsz:n":"resize:none;","rsz:b":"resize:both;","rsz:h":"resize:horizontal;",
"rsz:v":"resize:vertical;",cur:"cursor:${pointer};","cur:a":"cursor:auto;","cur:d":"cursor:default;","cur:c":"cursor:crosshair;","cur:ha":"cursor:hand;","cur:he":"cursor:help;","cur:m":"cursor:move;","cur:p":"cursor:pointer;","cur:t":"cursor:text;",pgbb:"page-break-before:|;","pgbb:au":"page-break-before:auto;","pgbb:al":"page-break-before:always;","pgbb:l":"page-break-before:left;","pgbb:r":"page-break-before:right;",pgbi:"page-break-inside:|;","pgbi:au":"page-break-inside:auto;","pgbi:av":"page-break-inside:avoid;",
pgba:"page-break-after:|;","pgba:au":"page-break-after:auto;","pgba:al":"page-break-after:always;","pgba:l":"page-break-after:left;","pgba:r":"page-break-after:right;",orp:"orphans:|;",us:"user-select:${none};",wid:"widows:|;",wfsm:"-webkit-font-smoothing:${antialiased};","wfsm:a":"-webkit-font-smoothing:antialiased;","wfsm:s":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:sa":"-webkit-font-smoothing:subpixel-antialiased;","wfsm:n":"-webkit-font-smoothing:none;"}},html:{filters:"html",profile:"html",
snippets:{"!!!":"<!doctype html>","!!!4t":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">',"!!!4s":'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',"!!!xt":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',"!!!xs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">',"!!!xxs":'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">',
c:"<\!-- |${child} --\>","cc:ie6":"<\!--[if lte IE 6]>\n\t${child}|\n<![endif]--\>","cc:ie":"<\!--[if IE]>\n\t${child}|\n<![endif]--\>","cc:noie":"<\!--[if !IE]><\!--\>\n\t${child}|\n<\!--<![endif]--\>"},abbreviations:{"!":"html:5",a:'<a href="">',"a:link":'<a href="http://|">',"a:mail":'<a href="mailto:|">',abbr:'<abbr title="">',acronym:'<acronym title="">',base:'<base href="" />',basefont:"<basefont/>",br:"<br/>",frame:"<frame/>",hr:"<hr/>",bdo:'<bdo dir="">',"bdo:r":'<bdo dir="rtl">',"bdo:l":'<bdo dir="ltr">',
col:"<col/>",link:'<link rel="stylesheet" href="" />',"link:css":'<link rel="stylesheet" href="${1:style}.css" />',"link:print":'<link rel="stylesheet" href="${1:print}.css" media="print" />',"link:favicon":'<link rel="shortcut icon" type="image/x-icon" href="${1:favicon.ico}" />',"link:touch":'<link rel="apple-touch-icon" href="${1:favicon.png}" />',"link:rss":'<link rel="alternate" type="application/rss+xml" title="RSS" href="${1:rss.xml}" />',"link:atom":'<link rel="alternate" type="application/atom+xml" title="Atom" href="${1:atom.xml}" />',
meta:"<meta/>","meta:utf":'<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />',"meta:win":'<meta http-equiv="Content-Type" content="text/html;charset=windows-1251" />',"meta:vp":'<meta name="viewport" content="width=${1:device-width}, user-scalable=${2:no}, initial-scale=${3:1.0}, maximum-scale=${4:1.0}, minimum-scale=${5:1.0}" />',"meta:compat":'<meta http-equiv="X-UA-Compatible" content="${1:IE=7}" />',style:"<style>",script:"<script>","script:src":'<script src="">',img:'<img src="" alt="" />',
iframe:'<iframe src="" frameborder="0">',embed:'<embed src="" type="" />',object:'<object data="" type="">',param:'<param name="" value="" />',map:'<map name="">',area:'<area shape="" coords="" href="" alt="" />',"area:d":'<area shape="default" href="" alt="" />',"area:c":'<area shape="circle" coords="" href="" alt="" />',"area:r":'<area shape="rect" coords="" href="" alt="" />',"area:p":'<area shape="poly" coords="" href="" alt="" />',form:'<form action="">',"form:get":'<form action="" method="get">',
"form:post":'<form action="" method="post">',label:'<label for="">',input:'<input type="${1:text}" />',inp:'<input type="${1:text}" name="" id="" />',"input:hidden":"input[type=hidden name]","input:h":"input:hidden","input:text":"inp","input:t":"inp","input:search":"inp[type=search]","input:email":"inp[type=email]","input:url":"inp[type=url]","input:password":"inp[type=password]","input:p":"input:password","input:datetime":"inp[type=datetime]","input:date":"inp[type=date]","input:datetime-local":"inp[type=datetime-local]",
"input:month":"inp[type=month]","input:week":"inp[type=week]","input:time":"inp[type=time]","input:number":"inp[type=number]","input:color":"inp[type=color]","input:checkbox":"inp[type=checkbox]","input:c":"input:checkbox","input:radio":"inp[type=radio]","input:r":"input:radio","input:range":"inp[type=range]","input:file":"inp[type=file]","input:f":"input:file","input:submit":'<input type="submit" value="" />',"input:s":"input:submit","input:image":'<input type="image" src="" alt="" />',"input:i":"input:image",
"input:button":'<input type="button" value="" />',"input:b":"input:button",isindex:"<isindex/>","input:reset":"input:button[type=reset]",select:'<select name="" id="">',option:'<option value="">',textarea:'<textarea name="" id="" cols="${1:30}" rows="${2:10}">',"menu:context":"menu[type=context]>","menu:c":"menu:context","menu:toolbar":"menu[type=toolbar]>","menu:t":"menu:toolbar",video:'<video src="">',audio:'<audio src="">',"html:xml":'<html xmlns="http://www.w3.org/1999/xhtml">',keygen:"<keygen/>",
command:"<command/>",bq:"blockquote",acr:"acronym",fig:"figure",figc:"figcaption",ifr:"iframe",emb:"embed",obj:"object",src:"source",cap:"caption",colg:"colgroup",fst:"fieldset",btn:"button","btn:b":"button[type=button]","btn:r":"button[type=reset]","btn:s":"button[type=submit]",optg:"optgroup",opt:"option",tarea:"textarea",leg:"legend",sect:"section",art:"article",hdr:"header",ftr:"footer",adr:"address",dlg:"dialog",str:"strong",prog:"progress",fset:"fieldset",datag:"datagrid",datal:"datalist",kg:"keygen",
out:"output",det:"details",cmd:"command",doc:"html>(head>meta[charset=UTF-8]+title{${1:Document}})+body",doc4:'html>(head>meta[http-equiv="Content-Type" content="text/html;charset=${charset}"]+title{${1:Document}})+body',"html:4t":"!!!4t+doc4[lang=${lang}]","html:4s":"!!!4s+doc4[lang=${lang}]","html:xt":"!!!xt+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:xs":"!!!xs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]","html:xxs":"!!!xxs+doc4[xmlns=http://www.w3.org/1999/xhtml xml:lang=${lang}]",
"html:5":"!!!+doc[lang=${lang}]","ol+":"ol>li","ul+":"ul>li","dl+":"dl>dt+dd","map+":"map>area","table+":"table>tr>td","colgroup+":"colgroup>col","colg+":"colgroup>col","tr+":"tr>td","select+":"select>option","optgroup+":"optgroup>option","optg+":"optgroup>option"}},xml:{"extends":"html",profile:"xml",filters:"html"},xsl:{"extends":"html",profile:"xml",filters:"html, xsl",abbreviations:{tm:'<xsl:template match="" mode="">',tmatch:"tm",tn:'<xsl:template name="">',tname:"tn",call:'<xsl:call-template name=""/>',
ap:'<xsl:apply-templates select="" mode=""/>',api:"<xsl:apply-imports/>",imp:'<xsl:import href=""/>',inc:'<xsl:include href=""/>',ch:"<xsl:choose>","xsl:when":'<xsl:when test="">',wh:"xsl:when",ot:"<xsl:otherwise>","if":'<xsl:if test="">',par:'<xsl:param name="">',pare:'<xsl:param name="" select=""/>',"var":'<xsl:variable name="">',vare:'<xsl:variable name="" select=""/>',wp:'<xsl:with-param name="" select=""/>',key:'<xsl:key name="" match="" use=""/>',elem:'<xsl:element name="">',attr:'<xsl:attribute name="">',
attrs:'<xsl:attribute-set name="">',cp:'<xsl:copy select=""/>',co:'<xsl:copy-of select=""/>',val:'<xsl:value-of select=""/>',each:'<xsl:for-each select="">',"for":"each",tex:"<xsl:text></xsl:text>",com:"<xsl:comment>",msg:'<xsl:message terminate="no">',fall:"<xsl:fallback>",num:'<xsl:number value=""/>',nam:'<namespace-alias stylesheet-prefix="" result-prefix=""/>',pres:'<xsl:preserve-space elements=""/>',strip:'<xsl:strip-space elements=""/>',proc:'<xsl:processing-instruction name="">',sort:'<xsl:sort select="" order=""/>',
"choose+":"xsl:choose>xsl:when+xsl:otherwise",xsl:"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}"},snippets:{"!!!":'<?xml version="1.0" encoding="UTF-8"?>'}},haml:{filters:"haml","extends":"html",profile:"xml"},scss:{"extends":"css"},sass:{"extends":"css"},less:{"extends":"css"},stylus:{"extends":"css"}},"system")});
emmet.define("shortcut",function(){var e=/mac\s+os/i.test(navigator.userAgent),d={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},h={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,
pd:34,plus:187,minus:189,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},i={ctrl:"\u2303",control:"\u2303",meta:"\u2318",shift:"\u21e7",alt:"\u2325",enter:"\u23ce",tab:"\u21e5",left:"\u2190",right:"\u2192",up:"\u2191",down:"\u2193"},b={meta:"Ctrl",control:"Ctrl",left:"\u2190",right:"\u2192",up:"\u2191",down:"\u2193"},c={SHIFT:1,CTRL:2,ALT:4,META:8};return{compile:function(a){if(typeof a!="string")return a;for(var b=0,a=a.toLowerCase().split("+"),
d,h,i=0,n=a.length;i<n;i++)h=a[i],!e&&h=="meta"&&(h="ctrl"),h=="ctrl"||h=="control"?b|=c.CTRL:h=="shift"?b|=c.SHIFT:h=="alt"?b|=c.ALT:h=="meta"?b|=c.META:d=h;return{mask:b,key:d}},test:function(a,b){var e=0,i=this.compile(a);b.ctrlKey&&(e|=c.CTRL);b.shiftKey&&(e|=c.SHIFT);b.altKey&&(e|=c.ALT);b.metaKey&&(e|=c.META);var l=b.keyCode?b.keyCode:b.which,n=String.fromCharCode(l).toLowerCase();if(e!==i.mask)return!1;if(i.key.length>1)return h[i.key]==l;else{l==188&&(n=",");l==190&&(n=".");l==191&&(n="/");
if(n==i.key)return!0;if(b.shiftKey&&d[n])return d[n]==i.key}return!1},format:function(a){for(var c=e?i:b,d=e?"":"+",a=a.toLowerCase().split("+"),h=[],l,n=0;n<a.length;n++)l=a[n],h.push(l in c?c[l]:l.charAt().toUpperCase()+l.substring(1));return h.join(d)}}});
emmet.define("editor",function(e,d){var h=null,i=document.createElement("textarea");i.value="\n";e("utils").setNewline(i.value);i=null;return{setContext:function(b){h=b},getContext:function(){return h},getSelectionRange:function(){if("selectionStart"in h)return{start:h.selectionStart,end:h.selectionEnd};else if(document.selection){h.focus();var b=document.selection.createRange();if(b===null)return{start:0,end:this.getContent().length};var c=h.createTextRange(),a=c.duplicate();c.moveToBookmark(b.getBookmark());
a.setEndPoint("EndToStart",c);return{start:a.text.length,end:a.text.length+b.text.length}}else return null},createSelection:function(b,c){typeof c=="undefined"&&(c=b);if("setSelectionRange"in h)h.setSelectionRange(b,c);else if("createTextRange"in h){var a=h.createTextRange();a.collapse(!0);var d=e("utils"),f=d.splitByLines(this.getContent().substring(0,b)).length-1;c-=f+d.splitByLines(this.getContent().substring(b,c)).length-1;b-=f;a.moveStart("character",b);a.moveEnd("character",c-b);a.select()}},
getCurrentLineRange:function(){var b=this.getCaretPos();return b===null?null:e("utils").findNewlineBounds(this.getContent(),b)},getCaretPos:function(){var b=this.getSelectionRange();return b?b.start:null},setCaretPos:function(b){this.createSelection(b)},getCurrentLine:function(){var b=this.getCurrentLineRange();return b.start<b.end?this.getContent().substring(b.start,b.end):""},replaceContent:function(b,c,a,g){var f=this.getContent(),i=e("utils");d.isUndefined(a)&&(a=d.isUndefined(c)?f.length:c);
d.isUndefined(c)&&(c=0);g||(b=i.padString(b,i.getLinePaddingFromPosition(f,c)));g=emmet.require("tabStops").extract(b,{escape:function(a){return a}});b=g.text;(g=g.tabstops[0])?(g.start+=c,g.end+=c):g={start:b.length+c,end:b.length+c};try{h.value=i.replaceSubstring(f,b,c,a),this.createSelection(g.start,g.end)}catch(l){}},getContent:function(){return h.value||""},getSyntax:function(){return e("actionUtils").detectSyntax(this,e("textarea").getOption("syntax"))},getProfileName:function(){var b=e("textarea").getOption("profile");
return this.getSyntax()=="html"&&b?b:e("actionUtils").detectProfile(this)},prompt:function(b){return prompt(b)},getSelection:function(){var b=this.getSelectionRange();if(b)try{return this.getContent().substring(b.start,b.end)}catch(c){}return""},getFilePath:function(){return location.href}}});
emmet.define("textarea",function(e,d){function h(b){for(var c=e("editor").getContext().className||"",g=/\bemmet\-(\w+)\-(\w+)/g,h=d.extend({},a,f||{}),i;i=g.exec(c);){var j=i[1].toLowerCase();i=i[2].toLowerCase();if(i=="true"||i=="yes"||i=="1")i=!0;else if(i=="false"||i=="no"||i=="0")i=!1;h[j]=i}return h[b]}function i(a,b){g[a.toLowerCase()]={compiled:e("shortcut").compile(a),action:b}}function b(a){var a=a||window.event,b=a.target||a.srcElement,c=a.keyCode||a.which,f=e("editor"),i=e("shortcut");
if(b&&b.nodeType==1&&b.nodeName=="TEXTAREA"){if(~b.className.indexOf("no-emmet"))return!1;f.setContext(b);return!d.find(g,function(b){if(i.test(b.compiled,a)){b=b.action;switch(b){case "expand_abbreviation":if(c==9)if(h("use_tab"))b="expand_abbreviation_with_tab";else return!1;break;case "insert_formatted_line_break":if(c==13&&!h("pretty_break"))return!1}e("actions").run(b,f);b=a;b.cancelBubble=!0;b.returnValue=!1;b.stopPropagation&&(b.stopPropagation(),b.preventDefault());return!0}})}return!0}var c=
{"Meta+E":"expand_abbreviation",Tab:"expand_abbreviation","Meta+D":"match_pair_outward","Shift+Meta+D":"match_pair_inward","Shift+Meta+A":"wrap_with_abbreviation","Ctrl+Alt+Right":"next_edit_point","Ctrl+Alt+Left":"prev_edit_point","Meta+L":"select_line","Meta+Shift+M":"merge_lines","Meta+/":"toggle_comment","Meta+J":"split_join_tag","Meta+K":"remove_tag","Shift+Meta+Y":"evaluate_math_expression","Ctrl+Up":"increment_number_by_1","Ctrl+Down":"decrement_number_by_1","Alt+Up":"increment_number_by_01",
"Alt+Down":"decrement_number_by_01","Ctrl+Alt+Up":"increment_number_by_10","Ctrl+Alt+Down":"decrement_number_by_10","Meta+.":"select_next_item","Meta+,":"select_previous_item","Meta+Shift+B":"reflect_css_value",Enter:"insert_formatted_line_break"},a={syntax:"html",use_tab:!1,pretty_break:!1},g={},f={},j=document;j.addEventListener?j.addEventListener("keydown",b,!1):j.attachEvent?ele.attachEvent("onkeydown",b):j.onkeydown=func;f=d.extend({},a,{});typeof emmetKeymap!="undefined"&&(c=emmetKeymap);d.each(c,
function(a,b){i(b,a)});return{setOptions:function(b){f=d.extend({},a,b||{})},getOption:h,addShortcut:i,unbindShortcut:function(a){a=a.toLowerCase();a in g&&delete g[a]},getShortcuts:function(){var a=e("shortcut"),b=e("actions");return d.compact(d.map(g,function(c,e){var f=e.toLowerCase();return f=="tab"||f=="enter"?void 0:{keystroke:a.format(e),compiled:c.compiled,label:d.last((b.get(c.action).options.label||c.action).split("/")),action:c.action}}))},getInfo:function(){var a="This textareas on this page are powered by Emmet toolkit.\n\nAvailable shortcuts:\n",
b=d.map(this.getShortcuts(),function(a){return a.keystroke+" \u2014 "+a.label});a+=b.join("\n")+"\n\n";a+="More info on http://emmet.io/";return a},showInfo:function(){alert(this.getInfo())},setup:function(a){this.setOptions(a)}}});

@ -1,94 +1,62 @@
var c = document.createElement.bind(document);
var d = document.getElementById.bind(document);
var g = document.querySelector.bind(document);
// Insert nav tag
var navigation = c("nav")
navigation.className = "navigation"
var navbarList = c("ul")
navbarList.className = "navbarList"
navigation.appendChild(navbarList)
document.body.appendChild(navigation)
// // Opacity
// var opacity = c("div")
// opacity.className = "opacityMenu lowerIndex menu"
// document.body.appendChild(opacity)
// Hamburger Menu
var hamburger = c("i")
hamburger.className = "fas fa-bars fa-2x"
navigation.prepend(hamburger)
// // Search
// var search = c("input")
// search.className = "searchBar"
// search.placeholder = "Enter a searchterm or url"
// search.type = "text"
// navigation.appendChild(search)
//
// g(".searchBar").addEventListener("keyup",searchEnter)
// function searchEnter(key) {
// if(key.key == "Enter") {
// var search = g(".searchBar").value;
// var containsDot = search.indexOf(".");
// if (search !== "") {
// if (containsDot > -1) {
// open("http://" + search);
// }
// else {
// open("https://www.google.com/search?q=" + search);
// }
// }
// }
// if (key.key == "Escape") {
// closeSearch()
// }
// }
// Create Navbar
Navbar.forEach(i=>{
var navList = c("li")
navList.className = "navList"
var navLink = c("a");
navList.appendChild(navLink);
if (i.link) {
navLink.href = i.link
}
if (i.name) {
navLink.innerHTML = i.name
}
if (i.desc) {
navLink.title = i.desc
}
if (i.icon) {
var navImg = c("img")
navImg.src = i.icon
navImg.className = "navImg"
navImg.alt = "img"
navLink.appendChild(navImg)
}
var dropdownList = c("ul")
dropdownList.className = "dropdownList"
dropdownList.style = "display: none;"
if (typeof i.dropdown == "object") {
i.dropdown.forEach(d=>{
if (d.link) {
var dropdownListItem = c("li");
dropdownListItem.className = "dropdownLi"
var dropdownLink = c("a");
dropdownLink.href = d.link
dropdownLink.innerHTML = d.name
if (d.desc) {
dropdownLink.title = d.desc
}
dropdownListItem.appendChild(dropdownLink);
dropdownList.appendChild(dropdownListItem);
}
navList.appendChild(dropdownList)
})
navLink.innerHTML = navLink.innerHTML + "<i class='fas fa-caret-down'></i>"
}
navbarList.appendChild(navList);
})
var c = document.createElement.bind(document);
var d = document.getElementById.bind(document);
var g = document.querySelector.bind(document);
// Insert nav tag
var navigation = c("nav")
navigation.className = "navigation"
var navbarList = c("ul")
navbarList.className = "navbarList"
navigation.appendChild(navbarList)
document.body.appendChild(navigation)
// Hamburger Menu
var hamburger = c("i")
hamburger.className = "fas fa-bars fa-2x"
navigation.prepend(hamburger)
// Create Navbar
Navbar.forEach(i=>{
var navList = c("li")
navList.className = "navList"
var navLink = c("a");
navList.appendChild(navLink);
if (i.link) {
navLink.href = i.link
}
if (i.name) {
navLink.innerHTML = i.name
}
if (i.desc) {
navLink.title = i.desc
}
if (i.icon) {
var navImg = c("img")
navImg.src = i.icon
navImg.className = "navImg"
navImg.alt = "img"
navLink.appendChild(navImg)
}
var dropdownList = c("ul")
dropdownList.className = "dropdownList"
dropdownList.style = "display: none;"
if (typeof i.dropdown == "object") {
i.dropdown.forEach(d=>{
if (d.link) {
var dropdownListItem = c("li");
dropdownListItem.className = "dropdownLi"
var dropdownLink = c("a");
dropdownLink.href = d.link
dropdownLink.innerHTML = d.name
if (d.desc) {
dropdownLink.title = d.desc
}
dropdownListItem.appendChild(dropdownLink);
dropdownList.appendChild(dropdownListItem);
}
navList.appendChild(dropdownList)
})
navLink.innerHTML = navLink.innerHTML + "<i class='fas fa-caret-down'></i>"
}
navbarList.appendChild(navList);
})

@ -1,7 +1,6 @@
// Console mark
console.log('%cDoor Guus van Meerveld', "color:#9c9c9c; font-size:30px;");
// Head tag
var shortcon = $("<link>", {rel :'shortcut icon',href:'/resources/img/favicon.ico'})
$('head').append(shortcon)
// Console mark
console.log('%cDoor Guus van Meerveld', "color:#9c9c9c; font-size:30px;");
// Head tag
var shortcon = $("<link>", {rel :'shortcut icon',href:'/resources/img/favicon.ico'})
$('head').append(shortcon)

@ -1,76 +1,76 @@
var d = document.getElementById.bind(document);
var g = document.querySelector.bind(document);
var autoRunCheck = localStorage.getItem("autoRun")
var setCodeHTML = localStorage.getItem("writtenCodeHTML")
var setCodeCSS = localStorage.getItem("writtenCodeCSS")
var setCodeJS = localStorage.getItem("writtenCodeJS")
d("htmlInput").value = setCodeHTML
d("cssInput").value = setCodeCSS
d("jsInput").value = setCodeJS
updateCode()
showCode("html")
if (autoRunCheck == "on") {
d("autoRun").style = "background-color: green"
}
else {
d("autoRun").style = "background-color: tomato"
}
function autoRun() {
var autoRunCheck = localStorage.getItem("autoRun")
if (autoRunCheck == "on") {
localStorage.setItem("autoRun", "off")
d("autoRun").style = "background-color: tomato"
}
else {
localStorage.setItem("autoRun", "on")
d("autoRun").style = "background-color: green"
}
}
function showCode(lang) {
$(".langButton").css("background-color", "#3b3c45")
$(".langButton").css("border", "none")
$(".langInput").css("display", "none")
if (lang == "html") {
d("htmlButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("htmlInput").style = "display: block"
}
else if (lang == "css") {
d("cssButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("cssInput").style = "display: block"
}
else {
d("jsButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("jsInput").style = "display: block"
}
}
function updateCode(source) {
var autoRunCheck = localStorage.getItem("autoRun")
var code = "<style>" + d("cssInput").value + "</style>" + "<script>" + d("jsInput").value + "</script>" + d("htmlInput").value
if (source == "run" || autoRunCheck == "on") {
localStorage.setItem("writtenCodeHTML", d("htmlInput").value)
localStorage.setItem("writtenCodeCSS", d("cssInput").value)
localStorage.setItem("writtenCodeJS", d("jsInput").value)
d("htmlOutput").setAttribute('srcdoc', code)
}
}
emmet.require('textarea').setup({
use_tab: true // expand abbreviations by Tab key
});
if (localStorage.getItem("showHeadsUpPlayground") == undefined) {
d("headsUp").style.visibility = "visible"
d("headsUp").style.height = "13rem"
}
function hideHeadsUp() {
d("headsUp").style.height = "0"
}
function removeHeadsUp() {
hideHeadsUp();
localStorage.setItem("showHeadsUpPlayground", "1")
}
var d = document.getElementById.bind(document);
var g = document.querySelector.bind(document);
var autoRunCheck = localStorage.getItem("autoRun")
var setCodeHTML = localStorage.getItem("writtenCodeHTML")
var setCodeCSS = localStorage.getItem("writtenCodeCSS")
var setCodeJS = localStorage.getItem("writtenCodeJS")
d("htmlInput").value = setCodeHTML
d("cssInput").value = setCodeCSS
d("jsInput").value = setCodeJS
updateCode()
showCode("html")
if (autoRunCheck == "on") {
d("autoRun").style = "background-color: green"
}
else {
d("autoRun").style = "background-color: tomato"
}
function autoRun() {
var autoRunCheck = localStorage.getItem("autoRun")
if (autoRunCheck == "on") {
localStorage.setItem("autoRun", "off")
d("autoRun").style = "background-color: tomato"
}
else {
localStorage.setItem("autoRun", "on")
d("autoRun").style = "background-color: green"
}
}
function showCode(lang) {
$(".langButton").css("background-color", "#3b3c45")
$(".langButton").css("border", "none")
$(".langInput").css("display", "none")
if (lang == "html") {
d("htmlButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("htmlInput").style = "display: block"
}
else if (lang == "css") {
d("cssButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("cssInput").style = "display: block"
}
else {
d("jsButton").style = "background-color: #27282e;border-bottom: white 2px solid;"
d("jsInput").style = "display: block"
}
}
function updateCode(source) {
var autoRunCheck = localStorage.getItem("autoRun")
var code = "<style>" + d("cssInput").value + "</style>" + "<script>" + d("jsInput").value + "</script>" + d("htmlInput").value
if (source == "run" || autoRunCheck == "on") {
localStorage.setItem("writtenCodeHTML", d("htmlInput").value)
localStorage.setItem("writtenCodeCSS", d("cssInput").value)
localStorage.setItem("writtenCodeJS", d("jsInput").value)
d("htmlOutput").setAttribute('srcdoc', code)
}
}
emmet.require('textarea').setup({
use_tab: true // expand abbreviations by Tab key
});
if (localStorage.getItem("showHeadsUpPlayground") == undefined) {
d("headsUp").style.visibility = "visible"
d("headsUp").style.height = "13rem"
}
function hideHeadsUp() {
d("headsUp").style.height = "0"
}
function removeHeadsUp() {
hideHeadsUp();
localStorage.setItem("showHeadsUpPlayground", "1")
}

@ -1,76 +1,76 @@
.main {
width: 100%;
float: left;
background-position: center;
background-image: url("/resources/img/leaves.jpg");
background-size: cover;
}
.main h1 {
text-align: center;
font-size: 6rem;
margin-top: 5%;
}
.form {
margin: 6rem auto;
width: 50%;
background-color: #454752;
position: relative;
border-radius: 7px;
box-shadow: 0px 0px 15px -3px rgba(0,0,0,1);
padding: 1rem;
}
.form h3 {
display: block;
width: 90%;
margin: 0 auto;
margin-bottom: 1rem;
}
.form span {
color:#c42222;
}
.submit {
width: 90%;
height: 40px;
display: block;
margin: -2rem auto 1rem auto;
}
.dataInput {
width: 90%;
display: block;
margin: 0 auto;
margin-bottom: 2rem;
}
.dataInput:focus {
outline: 0;
}
.info {
background-color: #33353d;
box-shadow: 0 -1px 6px 1px hsla(0, 0%, 0%, 0.8);
width: 100%;
padding-top: 2rem;
float: left;
}
.info h2 {
margin: 0;
margin-top: 4rem;
margin-left: 10%;
}
.info ul {
list-style-type: none;
display: inline-block;
margin: 3.5rem 0 3rem 10%;
padding: 0;
font-family: 'Open Sans'
}
.info h4 {
color: gray;
}
@media screen and (min-width:0px) and (max-width:1000px) {
.main h1 {
font-size: 4rem!important;
margin-top: 15%!important;
}
.form {
width: 90%!important;
}
}
.main {
width: 100%;
float: left;
background-position: center;
background-image: url("/resources/img/leaves.jpg");
background-size: cover;
}
.main h1 {
text-align: center;
font-size: 6rem;
margin-top: 5%;
}
.form {
margin: 6rem auto;
width: 50%;
background-color: #454752;
position: relative;
border-radius: 7px;
box-shadow: 0px 0px 15px -3px rgba(0,0,0,1);
padding: 1rem;
}
.form h3 {
display: block;
width: 90%;
margin: 0 auto;
margin-bottom: 1rem;
}
.form span {
color:#c42222;
}
.submit {
width: 90%;
height: 40px;
display: block;
margin: -2rem auto 1rem auto;
}
.dataInput {
width: 90%;
display: block;
margin: 0 auto;
margin-bottom: 2rem;
}
.dataInput:focus {
outline: 0;
}
.info {
background-color: #33353d;
box-shadow: 0 -1px 6px 1px hsla(0, 0%, 0%, 0.8);
width: 100%;
padding-top: 2rem;
float: left;
}
.info h2 {
margin: 0;
margin-top: 4rem;
margin-left: 10%;
}
.info ul {
list-style-type: none;
display: inline-block;
margin: 3.5rem 0 3rem 10%;
padding: 0;
font-family: 'Open Sans'
}
.info h4 {
color: gray;
}
@media screen and (min-width:0px) and (max-width:1000px) {
.main h1 {
font-size: 4rem!important;
margin-top: 15%!important;
}
.form {
width: 90%!important;
}
}

@ -1,49 +1,55 @@
.feedbackContent {
background-color: #33353d;
float: left;
margin-top: 55px;
width: 100%;
}
.feedback {
display: inline-block;
padding: 14vh 0 14vh 5%;
width: 50%;
vertical-align: top;
border-right: #454752 4px solid;
border-bottom: #454752 4px solid;
}
.user {
display: inline-block;
min-width: 8rem;
}
.user h3 {
text-align: center;
}
.userImg {
width: 8rem;
height: 8rem;
margin-left: calc(50% - 4rem);
margin-bottom: 2rem;
}
.userFeedback {
font-family: 'Open Sans';
display: inline-block;
vertical-align: top;
margin-left: 2rem;
padding-left: 1rem;
border-left: #ededed 2px solid;
width: 30rem;
word-wrap: break-word;
}
@media screen and (min-width:0px) and (max-width:1525px) {
.feedback {
display: block;
width: 100%;
padding: 5vh 0 5vh;
border-right: 0;
border-bottom: #454752 4px solid;
}
.user {
margin-left: calc(50% - 20rem);
}
}
.feedbackContent {
background-color: #33353d;
float: left;
margin-top: 55px;
width: 100%;
}
.feedback {
display: inline-block;
padding: 14vh 0 14vh 5%;
width: 50%;
vertical-align: top;
border-right: #454752 4px solid;
border-bottom: #454752 4px solid;
}
.user {
display: inline-block;
min-width: 8rem;
}
.user h3 {
text-align: center;
}
.userImg {
width: 8rem;
height: 8rem;
margin-left: calc(50% - 4rem);
margin-bottom: 2rem;
}
.userFeedback::-webkit-scrollbar {
display: none;
}
.userFeedback {
font-family: 'Open Sans';
display: inline-block;
vertical-align: top;
margin-left: 2rem;
padding-left: 1rem;
height: 11.7rem;
overflow: scroll;
overflow-x: hidden;
border-left: #ededed 2px solid;
width: 30rem;
word-wrap: break-word;
}
@media screen and (min-width:0px) and (max-width:1525px) {
.feedback {
display: block;
width: 100%;
padding: 5vh 0 5vh;
border-right: 0;
border-bottom: #454752 4px solid;
}
.user {
margin-left: calc(50% - 20rem);
}
}

@ -20,6 +20,7 @@
}
.hideHeadsUp {
height: 3rem;
}
.removeHeadsUp {
cursor: pointer;
@ -33,7 +34,7 @@
body {
background-color: #212126!important;
}
button {
.rowImg button {
border: 0;
padding: 0;
margin-top: 8px!important;
@ -45,6 +46,7 @@ button {
}
.rowImg {
display: flex;
justify-content: center;
flex-wrap: wrap;
padding: 0 4px;
margin-top: 3rem;

@ -1,91 +1,91 @@
#headsUp {
visibility: hidden;
transition: height .3s;
background-color: #454752;
box-shadow: 0 1px 6px 1px hsla(0, 0%, 0%, 0.4);
z-index: 3;
margin-top: 55px;
position: relative;
}
.welcome {
position: absolute;
bottom: 4.5rem;
padding-left: 2.5%;
}
.removeOptions {
width: 100%;
position: absolute;
bottom: 1rem;
padding-left: 2.5%;
}
.hideHeadsUp {
height: 3rem;
}
.removeHeadsUp {
cursor: pointer;
display: inline-block;
margin-left: 1rem;
border-bottom: white 3px dotted;
}
.content {
width: 100%;
height: 61.7rem;
}
.content div {
float: left;
}
.codeContent {
height: 100%;
width: 50%;
background-color: #222226;
}
.codeContent textarea {
height: 100%;
font-family: 'Open Sans', sans-serif;
width: 100%;
}
.codeContent div {
margin-left: calc(50% - 45%);
width: 90%;
height: 85%;
}
.codeContent button {
background-color: #3b3c45;
border: 0;
color: white;
margin-top: 2rem;
float: left;
transition: background-color .3s;
width: 6rem;
height: 3rem;
}
.codeContent button:hover {
background-color: #27282e;
}
.codeContent button:focus {
outline: 0;
}
.options {
float: right!important;
}
#htmlOutput {
background-color: white;
height: 100%;
border: 0;
width: 50%;
float: left;
}
@media screen and (min-width:0px) and (max-width:1079px) {
.codeContent {
display: block!important;
width: 100%;
}
.codeContent button {
width: 4rem!important;
font-size: 11px;
}
iframe {
width: 100%!important;
}
}
#headsUp {
visibility: hidden;
transition: height .3s;
background-color: #454752;
box-shadow: 0 1px 6px 1px hsla(0, 0%, 0%, 0.4);
z-index: 3;
margin-top: 55px;
position: relative;
}
.welcome {
position: absolute;
bottom: 4.5rem;
padding-left: 2.5%;
}
.removeOptions {
width: 100%;
position: absolute;
bottom: 1rem;
padding-left: 2.5%;
}
.hideHeadsUp {
height: 3rem;
}
.removeHeadsUp {
cursor: pointer;
display: inline-block;
margin-left: 1rem;
border-bottom: white 3px dotted;
}
.content {
width: 100%;
height: 61.7rem;
}
.content div {
float: left;
}
.codeContent {
height: 100%;
width: 50%;
background-color: #222226;
}
.codeContent textarea {
height: 100%;
font-family: 'Open Sans', sans-serif;
width: 100%;
}
.codeContent div {
margin-left: calc(50% - 45%);
width: 90%;
height: 85%;
}
.codeContent button {
background-color: #3b3c45;
border: 0;
color: white;
margin-top: 2rem;
float: left;
transition: background-color .3s;
width: 6rem;
height: 3rem;
}
.codeContent button:hover {
background-color: #27282e;
}
.codeContent button:focus {
outline: 0;
}
.options {
float: right!important;
}
#htmlOutput {
background-color: white;
height: 100%;
border: 0;
width: 50%;
float: left;
}
@media screen and (min-width:0px) and (max-width:1079px) {
.codeContent {
display: block!important;
width: 100%;
}
.codeContent button {
width: 4rem!important;
font-size: 11px;
}
iframe {
width: 100%!important;
}
}

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Wireframe</title>
<link rel="stylesheet" href="/resources/css/cssall.css">
<link rel="stylesheet" href="/resources/css/navbar.css">
<link rel="stylesheet" href="/resources/styles/cssall.css">
<link rel="stylesheet" href="/resources/styles/navbar.css">
<script src="https://kit.fontawesome.com/340f4d917c.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
@ -14,8 +14,8 @@
<body style="padding-top:55px;">
<img src="/resources/img/wireframe.png" alt="wireframe">
<script src="/resources/js/navbar.json.js"></script>
<script src="/resources/js/insertNavbar.js"></script>
<script src="/resources/js/javall.js"></script>
<script src="/resources/json/navbar.json.js"></script>
<script src="/resources/scripts/insertNavbar.js"></script>
<script src="/resources/scripts/javall.js"></script>
</body>
</html>