!function(e,t){"object"==typeofmodule&&"object"==typeofmodule.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)thrownewError("jQuery requires a window with a document");returnt(e)}:t(e)}("undefined"!=typeofwindow?window:this,function(e,t){functionn(e){vart=e.length,n=Z.type(e);return"function"===n||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeoft&&t>0&&t-1ine}functionr(e,t,n){if(Z.isFunction(t))returnZ.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)returnZ.grep(e,function(e){returne===t!==n});if("string"==typeoft){if(ae.test(t))returnZ.filter(t,e,n);t=Z.filter(t,e)}returnZ.grep(e,function(e){returnU.call(t,e)>=0!==n})}functioni(e,t){for(;(e=e[t])&&1!==e.nodeType;);returne}functiono(e){vart=he[e]={};returnZ.each(e.match(de)||[],function(e,n){t[n]=!0}),t}functions(){J.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),Z.ready()}functiona(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+Math.random()}functionu(e,t,n){varr;if(void0===n&&1===e.nodeType)if(r="data-"+t.replace(be,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeofn){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:xe.test(n)?Z.parseJSON(n):n}catch(i){}ye.set(e,t,n)}elsen=void0;returnn}functionl(){return!0}functionc(){return!1}functionf(){try{returnJ.activeElement}catch(e){}}functionp(e,t){returnZ.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}functiond(e){returne.type=(null!==e.getAttribute("type"))+"/"+e.type,e}functionh(e){vart=Pe.exec(e.type);returnt?e.type=t[1]:e.removeAttribute("type"),e}functiong(e,t){for(varn=0,r=e.length;r>n;n++)ve.set(e[n],"globalEval",!t||ve.get(t[n],"globalEval"))}functionm(e,t){varn,r,i,o,s,a,u,l;if(1===t.nodeType){if(ve.hasData(e)&&(o=ve.access(e),s=ve.set(t,o),l=o.events)){deletes.handle,s.events={};for(iinl)for(n=0,r=l[i].length;r>n;n++)Z.event.add(t,i,l[i][n])}ye.hasData(e)&&(a=ye.access(e),u=Z.extend({},a),ye.set(t,u))}}functionv(e,t){varn=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];returnvoid0===t||t&&Z.nodeName(e,t)?Z.merge([e],n):n}functiony(e,t){varn=t.nodeName.toLowerCase();"input"===n&&Ne.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}functionx(t,n){varr,i=Z(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(r=e.getDefaultComputedStyle(i[0]))?r.display:Z.css(i[0],"display");returni.detach(),o}functionb(e){vart=J,n=$e[e];returnn||(n=x(e,t),"none"!==n&&n||(We=(We||Z("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=We[0].contentDocument,t.write(),t.close(),n=x(e,t),We.detach()),$e[e]=n),n}functionw(e,t,n){varr,i,o,s,a=e.style;returnn=n||_e(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||Z.contains(e.ownerDocument,e)||(s=Z.style(e,t)),Ie.test(s)&&Be.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void0!==s?s+"":s}functionT(e,t){return{get:function(){returne()?voiddeletethis.get:(this.get=t).apply(this,arguments)}}}functionC(e,t){if(tine)returnt;for(varn=t[0].toUpperCase()+t.slice(1),r=t,i=Ge.length;i--;)if(t=Ge[i]+n,tine)returnt;returnr}functionN(e,t,n){varr=Xe.exec(t);returnr?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}functionk(e,t,n,r,i){for(varo=n===(r?"border":"content")?4:"width"===t?1:0,s=0;4>o;o+=2)"margin"===n&&(s+=Z.css(e,n+Te[o],!0,i)),r?("content"===n&&(s-=Z.css(e,"padding"+Te[o],!0,i)),"margin"!==n&&(s-=Z.css(e,"border"+Te[o]+"Width",!0,i))):(s+=Z.css(e,"padding"+Te[o],!0,i),"padding"!==n&&(s+=Z.css(e,"border"+Te[o]+"Width",!0,i)));returns}functionE(e,t,n){varr=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=_e(e),s="border-box"===Z.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=w(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ie.test(i))return
!function(e){if("object"==typeofexports&&"undefined"!=typeofmodule)module.exports=e();elseif("function"==typeofdefine&&define.amd)define([],e);else{vart;"undefined"!=typeofwindow?t=window:"undefined"!=typeofglobal?t=global:"undefined"!=typeofself&&(t=self),t.emmetCodeMirror=e()}}(function(){vardefine,module,exports;returnfunctione(t,n,r){functioni(o,s){if(!n[o]){if(!t[o]){vary="function"==typeofrequire&&require;if(!s&&y)returny(o,!0);if(a)returna(o,!0);varl=newError("Cannot find module '"+o+"'");throwl.code="MODULE_NOT_FOUND",l}varc=n[o]={exports:{}};t[o][0].call(c.exports,function(e){varn=t[o][1][e];returni(n?n:e)},c,c.exports,e,t,n,r)}returnn[o].exports}for(vara="function"==typeofrequire&&require,o=0;o<r.length;o++)i(r[o]);returni}({1:[function(e,t,n){"use strict";functionr(e,t){returnarguments.length>2&&"object"!=typeoft&&(t={line:arguments[1],ch:arguments[2]}),e.indexFromPos(t)}functioni(e,t){returne.posFromIndex(t)}vara=function(e){returne&&e.__esModule?e["default"]:e},o=function(){functione(e,t){for(varnint){varr=t[n];r.configurable=!0,r.value&&(r.writable=!0)}Object.defineProperties(e,t)}returnfunction(t,n,r){returnn&&e(t.prototype,n),r&&e(t,r),t}}(),s=function(e,t){if(!(einstanceoft))thrownewTypeError("Cannot call a class as a function")};Object.defineProperty(n,"__esModule",{value:!0});vary=a(e("./emmet")),l={"text/html":"html","application/xml":"xml","text/xsl":"xsl","text/css":"css","text/x-less":"less","text/x-scss":"scss","text/x-sass":"sass"};n.modeMap=l;varc=function(){functione(t){varn=void0===arguments[1]?0:arguments[1];s(this,e),this.context=t,this.selectionIndex=n||0}returno(e,{selectionList:{value:function(){vare=this.context;returne.listSelections().map(function(t){varn=r(e,t.anchor),i=r(e,t.head);return{start:Math.min(n,i),end:Math.max(n,i)}})}},getCaretPos:{value:function(){returnthis.getSelectionRange().start}},setCaretPos:{value:function(e){this.createSelection(e)}},getSelectionRange:{value:function(){returnthis.selectionList()[this.selectionIndex]}},createSelection:{value:function(e,t){"undefined"==typeoft&&(t=e);varn=this.selectionList(),r=this.context;n[this.selectionIndex]={start:e,end:t},this.context.setSelections(n.map(function(e){return{head:i(r,e.start),anchor:i(r,e.end)}}))}},getSelection:{value:function(){vare=this.getSelectionRange();returne.start=i(this.context,e.start),e.end=i(this.context,e.end),this.context.getRange(e.start,e.end)}},getCurrentLineRange:{value:function(){vare=i(this.context,this.getCaretPos());return{start:r(this.context,e.line,0),end:r(this.context,e.line,this.context.getLine(e.line).length)}}},getCurrentLine:{value:function(){vare=i(this.context,this.getCaretPos());returnthis.context.getLine(e.line)||""}},replaceContent:{value:function(e,t,n,r){"undefined"==typeofn&&(n="undefined"==typeoft?this.getContent().length:t),"undefined"==typeoft&&(t=0),e=this.normalize(e),r||(e=y.utils.common.padString(e,y.utils.common.getLinePaddingFromPosition(this.getContent(),t)));vara=y.tabStops.extract(e,{escape:function(e){returne}});e=a.text;varo=a.tabstops[0]||{start:e.length,end:e.length};o.start+=t,o.end+=t,this.context.replaceRange(e,i(this.context,t),i(this.context,n)),this.createSelection(o.start,o.end)}},normalize:{value:function(e){vart=" ",n=this.context;returnn.getOption("indentWithTabs")||(t=y.utils.common.repeatString(" ",n.getOption("indentUnit"))),y.utils.editor.normalize(e,{indentation:t})}},getContent:{value:function(){returnthis.context.getValue()}},getSyntax:{value:function(){vare=this.context,t=(e.posFromIndex(this.getCaretPos()),e.getModeAt(e.getCursor())),n=t.name;return"xml"===n&&t.configuration&&(n=t.configuration),n||y.utils.action.detectSyntax(this,n)}},getProfileName:{value:function(){returnthis.context.getOption("profile")?this.context.getOption("profile"):y.utils.action.detectProfile(this)}},prompt:{value:function(e){vart=function(t){returne.apply(this,arguments)};returnt.toString=function(){returne.toString()},t}(function(e){returnprompt(e)})},getFilePath:{value:function(){r
y.compoundUpdate(e,o.extend(i,{data:r.toString(),caret:t}))}})}functioni(e){vart=e.getCaretPos(),n=s.outputInfo(e),r=c.parseFromPosition(n.content,t,!0);if(r){vari,l=r.itemFromPosition(t,!0);l&&(i=/url\((["']?)(.+?)\1\)/i.exec(l.value()||""))&&a(e,i[2],function(n){if(n){vari=r.range(!0);r.value("width",n.width+"px"),r.value("height",n.height+"px",r.indexOf("width")+1),y.compoundUpdate(e,o.extend(i,{data:r.toString(),caret:t}))}})}}functiona(e,t,n){varr;if(t){if(/^data:/.test(t))returnr=p.decode(t.replace(/^data\:.+?;.+?,/,"")),n(y.getImageSize(r));vari=u.locateFile(e.getFilePath(),t);if(null===i)throw"Can't find "+t+" file";u.read(i,function(e,t){if(e)throw"Unable to read "+i+": "+e;t=String(t),n(y.getImageSize(t))})}}varo=e("../utils/common"),s=e("../utils/editor"),y=e("../utils/action"),l=e("../editTree/xml"),c=e("../editTree/css"),p=e("../utils/base64"),u=e("../plugin/file");return{updateImageSizeAction:function(e){returny.isSupportedCSS(e.getSyntax())?i(e):r(e),!0}}})},{"../editTree/css":37,"../editTree/xml":38,"../plugin/file":63,"../utils/action":70,"../utils/base64":71,"../utils/common":73,"../utils/editor":75}],21:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e,t,n){varr=(t.attribute("class")||"").split(/\s+/g);n&&r.push("+"+t.name());vari=function(e){returno.replaceCounter(e,t.counter)};r.forEach(function(t){if(t){t=i(t);varn=t.charAt(0);"+"==n?e.addClass(t.substr(1)):"-"==n?e.removeClass(t.substr(1)):e.value("class",t)}}),t.attributeList().forEach(function(t){if("class"!=t.name.toLowerCase()){varn=t.name.charAt(0);if("+"==n){varr=t.name.substr(1),a=e.get(r);a?a.value(a.value()+i(t.value)):e.value(r,i(t.value))}else"-"==n?e.remove(t.name.substr(1)):e.value(t.name,i(t.value))}})}vari=e("../editTree/xml"),a=(e("../utils/editor"),e("../utils/action")),o=e("../utils/common"),s=e("../parser/abbreviation");return{updateTagAction:function(e,t){if(t=t||e.prompt("Enter abbreviation"),!t)return!1;varn=e.getContent(),r=a.captureContext(e),i=this.getUpdatedTag(t,r,n);returni?(i.name()!=r.name&&r.match.close&&e.replaceContent("</"+i.name()+">",r.match.close.range.start,r.match.close.range.end,!0),e.replaceContent(i.source,r.match.open.range.start,r.match.open.range.end,!0),!0):!1},getUpdatedTag:function(e,t,n,a){if(!t)returnnull;varo=s.parse(e,a||{}),y=i.parse(t.match.open.range.substring(n),{offset:t.match.outerRange.start});o.children.forEach(function(e,t){r(y,e,t)});varl=o.children[0];returnl.data("nameResolved")||y.name(l.name()),y}}})},{"../editTree/xml":38,"../parser/abbreviation":55,"../utils/action":70,"../utils/common":73,"../utils/editor":75}],22:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){varr=e("../assets/range"),i=e("../assets/htmlMatcher"),a=e("../utils/common"),o=e("../utils/editor"),s=e("../utils/action"),y=e("../parser/abbreviation");return{wrapWithAbbreviationAction:function(e,t,n,l){varc=o.outputInfo(e,n,l);if(t=t||e.prompt("Enter abbreviation"),!t)returnnull;t=String(t);varp=r(e.getSelectionRange());if(!p.length()){varu=i.tag(c.content,p.start);if(!u)return!1;p=a.narrowToNonSpace(c.content,u.range)}varf=a.escapeText(p.substring(c.content)),d=y.expand(t,{pastedContent:o.unindent(e,f),syntax:c.syntax,profile:c.profile,contextNode:s.captureContext(e)});returnd?(e.replaceContent(d,p.start,p.end),!0):!1}}})},{"../assets/htmlMatcher":26,"../assets/range":30,"../parser/abbreviation":55,"../utils/action":70,"../utils/common":73,"../utils/editor":75}],23:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functioni(e,t){varn=[],r=e,i=t;returnr.length>i.length&&(r=t,i=e),i.forEach(function(e){~r.indexOf(e)&&n.push(e)}),n}functiona(e,t){"string"==typeofe&&(e=JSON.parse(e)),t||(e=o(e)),m=e.vendors,h=e.css,g=e.era}functiono(e){return"string"==typeofe&&(e=JSON.parse(e)),{vendors:s(e),css:y(e),era:l(e)}}functions(e){vart={};returnObject.keys(e.agents).forEach(func
current_version:""},op_mob:{browser:"Opera Mobile",abbr:"O.Mob",prefix:"o",type:"mobile",usage_global:{0:0,10:0,11.5:.00726525,12:.0363263,12.1:.101714},versions:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10",null,null,"11.5","12","12.1","0",null,null],current_version:"16",prefix_exceptions:{0:"webkit"}},bb:{browser:"Blackberry Browser",abbr:"BB",prefix:"webkit",type:"mobile",usage_global:{10:0,7:.141419},versions:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"7","10",null,null],current_version:""},and_chr:{browser:"Chrome for Android",abbr:"Chr/And.",prefix:"webkit",type:"mobile",usage_global:{0:1.38176},versions:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null],current_version:"30"},and_ff:{browser:"Firefox for Android",abbr:"FF/And.",prefix:"moz",type:"mobile",usage_global:{0:.070956},versions:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"0",null,null],current_version:"25"},ie_mob:{browser:"IE Mobile",abbr:"IE.Mob",prefix:"ms",type:"mobile",usage_global:{10:.205595},versions:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"10",null,null],current_version:""}},statuses:{rec:"Recommendation",pr:"Proposed Recommendation",cr:"Candidate Recommendation",wd:"Working Draft",other:"Other",unoff:"Unofficial / Note"},cats:{CSS:["CSS","CSS2","CSS3"],HTML5:["Canvas","HTML5"],"JS API":["JS API"],Other:["PNG","Other","DOM"],SVG:["SVG"]},updated:1383587152,data:{"png-alpha":{title:"PNG alpha transparency",description:"Semi-transparent areas in PNG files",spec:"http://www.w3.org/TR/PNG/",status:"rec",links:[{url:"http://dillerdesign.com/experiment/DD_belatedPNG/",title:"Workaround for IE6"},{url:"http://en.wikipedia.org/wiki/Portable_Network_Graphics",title:"Wikipedia"}],categories:["PNG"],stats:{ie:{5.5:"n",6:"p",7:"y",8:"y",9:"y",10:"y",11:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"y"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"IE6 does support full transparency in 8-bit PNGs, which can sometimes be an alternative to 24-bit PNGs.",usage_perc_y:94.36,usage_perc_a:0,ucprefix:!1,parent:"",keywords:""},apng:{title:"Animated PNG (APNG)",description:"Like animated GIFs, but allowing 24-bit colors and alpha transparency",spec:"https://wiki.mozilla.org/APNG_Specification",status:"unoff",links:[{url:"http://en.wikipedia.org/wiki/APNG",title:"Wikipedia"},{url:"https://github.com/davidmz/apng-canvas",title:"Polyfill using canvas"},{url:"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp",title:"Chrome extension providing support"},{url:"http://www.truekolor.net/learn-how-to-create-an-animated-png/",title:"APNG tutorial"}],categories:["PNG"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n"},firefox:{2:"n",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},
9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"a",3.2:"a",4:"a",5:"y",5.1:"y",6:"a",6.1:"a",7:"a"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"a x",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"a","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"a"},android:{2.1:"a x",2.2:"y x",2.3:"y x",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"Partial support in Opera Mini refers to not supporting background sizing or background attachments. Partial support in Safari 6 refers to not supporting background sizing offset from edges syntax.",usage_perc_y:78.07,usage_perc_a:7.32,ucprefix:!1,parent:"",keywords:""},"css-table":{title:"CSS Table display",description:"Method of displaying elements as tables, rows, and cells",spec:"http://www.w3.org/TR/CSS21/tables.html",status:"rec",links:[{url:"http://blog.12spokes.com/web-design-development/when-to-choose-between-the-html-table-element-and-css-displaytable-property/",title:"Deciding on HTML or CSS tables"},{url:"http://www.onenaught.com/posts/201/use-css-displaytable-for-layout",title:"Blog post on usage"}],categories:["CSS2"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"y",9:"y",10:"y",11:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"y"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"",usage_perc_y:93.86,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"display:table, display: table,table-cell,table-row,table-layout"},"css-gencontent":{title:"CSS Generated content",description:"Method of displaying text or images before or after the given element's contents using the :before and :after pseudo-elements",spec:"http://www.w3.org/TR/CSS21/generate.html",status:"rec",links:[{url:"http://www.westciv.com/style_master/academy/css_tutorial/advanced/generated_content.html",title:"Guide on usage"},{url:"http://docs.webplatform.org/wiki/css/generated_and_replaced_content",title:"WebPlatform Docs"},{url:"http://dev.opera.com/articles/view/css-generated-content-techniques/",title:"Dev.Opera article"}],categories:["CSS2","CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"a",9:"y",10:"y",11:"y"},firefox:{2:"y",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"y"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1
parent:"webworkers",keywords:"shared worker"},"css-hyphens":{title:"CSS Hyphenation",description:'Method of controlling when words at the end of lines should be hyphenated using the "hyphens" property.',spec:"http://www.w3.org/TR/css3-text/#hyphenation",status:"wd",links:[{url:"https://developer.mozilla.org/en/CSS/hyphens",title:"MDN article"},{url:"http://docs.webplatform.org/wiki/css/properties/hyphens",title:"WebPlatform Docs"},{url:"http://blog.fontdeck.com/post/9037028497/hyphens",title:"Blog post"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y x",11:"y x"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n",28:"n",29:"n",30:"n",31:"n",32:"n"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"y x",6:"y x",6.1:"y x",7:"y x"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0":"y x"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"n"},bb:{7:"n",10:"n"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"n"},and_chr:{0:"n"},and_ff:{0:"y x"},ie_mob:{10:"n"}},notes:'Chrome 29- and Android 4.0 Browser support "-webkit-hyphens: none", but not the "auto" property. Chrome 30+ doesn\'t support it either.',usage_perc_y:33.31,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"hyphen,shy"},"css-transitions":{title:"CSS3 Transitions",description:"Simple method of animating certain properties of an element",spec:"http://www.w3.org/TR/css3-transitions/",status:"wd",links:[{url:"http://docs.webplatform.org/wiki/css/properties/transition",title:"WebPlatform Docs"},{url:"http://www.webdesignerdepot.com/2010/01/css-transitions-101/",title:"Article on usage"},{url:"http://www.opera.com/docs/specs/presto2.12/css/transitions/#anima",title:"Animation of property types support in Opera"},{url:"http://www.css3files.com/transition/",title:"Information page"},{url:"http://www.the-art-of-web.com/css/timing-function/",title:"Examples on timing functions"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"y x",5:"y x",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"y x",5:"y x",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y x",3.2:"y x",4:"y x",5:"y x",5.1:"y x",6:"y x",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"y x",10.6:"y x",11:"y x",11.1:"y x",11.5:"y x",11.6:"y x",12:"y x",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"y x",2.2:"y x",2.3:"y x",3:"y x",4:"y x",4.1:"y x","4.2-4.3":"y x",4.4:"y"},bb:{7:"y x",10:"y x"},op_mob:{10:"y x",11:"y x",11.1:"y x",11.5:"y x",12:"y x",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"",usage_perc_y:75.27,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"css transition"},"font-feature":{title:"Font feature settings",description:"Method of applying advanced typographic and language-specific font features to supported OpenType fonts.",spec:"http://w3.org/TR/css3-fonts/#font-rend-props",status:"wd",links:[{url:"http://docs.webplatform.org/wiki/css/properties/font-feature-settings",title:"WebPlatform Docs"},{url:"http://hacks.mozilla.org/2010/11/firefox-4-font-feature-sup
spec:"http://www.w3.org/TR/webdatabase/",status:"unoff",links:[{url:"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-sql-db",title:"has.js test"},{url:"http://html5doctor.com/introducing-web-sql-databases/",title:"HTML5 Doctor article"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"n",27:"n"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"n"},ie_mob:{10:"n"}},notes:"The Web SQL Database specification is no longer being maintained and support may be dropped in future versions.",usage_perc_y:49.18,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"db-storage,websql"},indexeddb:{title:"IndexedDB",description:"Method of storing data client-side, allows indexed database queries. Previously known as WebSimpleDB API.",spec:"http://www.w3.org/TR/IndexedDB/",status:"wd",links:[{url:"http://hacks.mozilla.org/2010/06/comparing-indexeddb-and-webdatabase/",title:"Mozilla Hacks article"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-indexeddb",title:"has.js test"},{url:"http://docs.webplatform.org/wiki/apis/indexedDB",title:"WebPlatform Docs"},{url:"https://github.com/axemclion/IndexedDBShim",title:"Polyfill for browsers supporting WebSQL"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"y",11:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"a x",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"a x",12:"a x",13:"a x",14:"a x",15:"a x",16:"a x",17:"a x",18:"a x",19:"a x",20:"a x",21:"a x",22:"a x",23:"y x",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"n"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0":"n"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y"},bb:{7:"n",10:"a x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:'Partial support in BB10 refers to an <a href="http://www.w3.org/TR/2011/WD-IndexedDB-20110419/">outdated specification</a> being implemented. Code targeting the <a href="http://www.w3.org/TR/IndexedDB/">current state of the specification</a> might not work.',usage_perc_y:59.46,usage_perc_a:1.68,ucprefix:!1,parent:"",keywords:"indexdb"},eventsource:{title:"Server-sent DOM events",description:"Method of continuously sending data from a server to the browser, rather than repeatedly requesting it (EventSource interface, used to fall under HTML5)",spec:"http://www.w3.org/TR/eventsource/",status:"cr",links:[{url:"http://www.html5rocks.com/tutorials/eventsource/basics/",title:"HTML5 Rocks tutorial"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-eventsource",title:"has.js test"},{url:"http://samshull.blogspot.com/2010/10/ajax-push-in-ios-safari-and-chrome-with.html",title:"Blog post with demo"}],categories:["JS
20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:'Supported somewhat in IE8 and IE9 using the XDomainRequest object (but has <a href=" http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx">limitations</a>)',usage_perc_y:75.51,usage_perc_a:13.52,ucprefix:!1,parent:"",keywords:""},calc:{title:"calc() as CSS unit value",description:"Method of allowing calculated values for length units, i.e. width: calc(100% - 3em)",spec:"http://www.w3.org/TR/css3-values/#calc",status:"cr",links:[{url:"http://docs.webplatform.org/wiki/css/functions/calc",title:"WebPlatform Docs"},{url:"https://developer.mozilla.org/en/CSS/-moz-calc",title:"MDN article"},{url:"http://hacks.mozilla.org/2010/06/css3-calc/",title:"Mozilla Hacks article"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"y x",5:"y x",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"y x",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y"},bb:{7:"n",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"Support can be somewhat emulated in older versions of IE using the non-standard expression() syntax. ",usage_perc_y:71.77,usage_perc_a:0,ucprefix:!1,parent:"",keywords:""},ruby:{title:"Ruby annotation",description:"Method of adding pronunciation or other annotations using ruby elements (primarily used in East Asian typography)",spec:"http://www.w3.org/TR/html-markup/ruby.html",status:"wd",links:[{url:"https://addons.mozilla.org/firefox/addon/6812/",title:'Addon "HTML Ruby" for Firefox support'},{url:"http://html5doctor.com/ruby-rt-rp-element/",title:"HTML5 Doctor article"},{url:"http://docs.webplatform.org/wiki/html/elements/ruby",title:"WebPlatform Docs"},{url:"https://addons.mozilla.org/firefox/addon/1935/",title:'Add-on "XHTML Ruby Support" for Firefox'}],categories:["HTML5"],stats:{ie:{5.5:"a",6:"a",7:"a",8:"a",9:"a",10:"a",11:"a"},firefox:{2:"p",3:"p",3.5:"p",3.6:"p",4:"p",5:"p",6:"p",7:"p",8:"p",9:"p",10:"p",11:"p",12:"p",13:"p",14:"p",15:"p",16:"p",17:"p",18:"p",19:"p",20:"p",21:"p",22:"p",23:"p",24:"p",25:"p",26:"p",27:"p"},chrome:{4:"p",5:"a",6:"a",7:"a",8:"a",9:"a",10:"a",11:"a",12:"a",13:"a",14:"a",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"a",27:"a",28:"a",29:"a",30:"a",31:"a",32:"a"},safari:{3.1:"p",3.2:"p",4:"p",5:"a",5.1:"a",6:"a",6.1:"a",7:"a"},opera:{9:"p","9.5-9.6":"p","10.0-10.1":"p",10.5:"p",10.6:"p",11:"p",11.1:"p",11.5:"p",11.6:"p",12:"p",12.1:"p",15:"a",16:"a",17:"a",18:"a"},ios_saf:{3.2:"p","4.0-4.1":"p","4.2-4.3":"p","5.0-5.1":"a","6.0-6.1":"a","7.0":"a"},op_mini:{"5.0-7.0":"p"},android:{2.1:"p",2.2:"p",2.3:"p",3:"a",4:"a",4.1:"a","4.2-4.3":"a",4.4:"a"},bb:{7:"p",10:"a"},op_mob:{10:"p",11:"p",11.1
21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x",30:"y x",31:"y x",32:"y x"},safari:{3.1:"y x",3.2:"y x",4:"y x",5:"y x",5.1:"y x",6:"y x",6.1:"y x",7:"y x"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y x",16:"y x",17:"y x",18:"y x"},ios_saf:{3.2:"a x","4.0-4.1":"y x","4.2-4.3":"y x","5.0-5.1":"y x","6.0-6.1":"y x","7.0":"y x"},op_mini:{"5.0-7.0":"n"},android:{2.1:"y x",2.2:"y x",2.3:"y x",3:"n",4:"y x",4.1:"y x","4.2-4.3":"y x",4.4:"y x"},bb:{7:"y x",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y x"},and_chr:{0:"y x"},and_ff:{0:"n"},ie_mob:{10:"n"}},notes:'Does not yet appear in any W3C specification. Was briefly included in a spec as the "text-outline" property, but this was removed.',usage_perc_y:48.41,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"textstroke,stroke-color,stroke-width,fill-color"},"inline-block":{title:"CSS inline-block",description:"Method of displaying an element as a block while flowing it with text. ",spec:"http://www.w3.org/TR/CSS21/visuren.html#fixed-positioning",status:"rec",links:[{url:"http://robertnyman.com/2010/02/24/css-display-inline-block-why-it-rocks-and-why-it-sucks/",title:"Blog post w/info"},{url:"http://docs.webplatform.org/wiki/css/properties/display",title:"WebPlatform Docs"},{url:"http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/",title:"Info on cross browser support"}],categories:["CSS2"],stats:{ie:{5.5:"a",6:"a",7:"a",8:"y",9:"y",10:"y",11:"y"},firefox:{2:"a x",3:"y",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"y",3.2:"y",4:"y",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"y","9.5-9.6":"y","10.0-10.1":"y",10.5:"y",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"y","4.0-4.1":"y","4.2-4.3":"y","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"y"},android:{2.1:"y",2.2:"y",2.3:"y",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"y",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:'Only supported in IE6 and IE7 on elements with a display of "inline" by default. <a href="http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/">Alternative properties</a> are available to provide complete cross-browser support.',usage_perc_y:93.84,usage_perc_a:.74,ucprefix:!1,parent:"",keywords:"inlineblock"},notifications:{title:"Web Notifications",description:"Method of alerting the user outside of a web page by displaying notifications (that do not require interaction by the user).",spec:"http://www.w3.org/TR/notifications/",status:"wd",links:[{url:"http://www.html5rocks.com/tutorials/notifications/quick/",title:"HTML5 Rocks tutorial"},{url:"http://www.chromium.org/developers/design-documents/desktop-notifications/api-specification",title:"Chromium API"},{url:"https://addons.mozilla.org/en-us/firefox/addon/221523/",title:"Add-on "}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"n",5:"a x",6:"a x",7:"a x",8:"a x",9:"a x",10:"a x",11:"a x",12:"a x",13:"a x",14:"a x",15:"a x",16:"a x",17:"a x",18:"a x",19:"a x",20:"a x",21:"a x",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"n",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"n",16:"n",17:"n",18:"n"},ios_saf:{3.2:
},{url:"http://www.html5rocks.com/en/tutorials/device/orientation/",title:"HTML5 Rocks tutorial"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/features.js#native-orientation",title:"has.js test"}],categories:["JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"a"},firefox:{2:"n",3:"n",3.5:"n",3.6:"p",4:"p",5:"p",6:"a",7:"a",8:"a",9:"a",10:"a",11:"a",12:"a",13:"a",14:"a",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"a",27:"a"},chrome:{4:"n",5:"n",6:"n",7:"a",8:"a",9:"a",10:"a",11:"a",12:"a",13:"a",14:"a",15:"a",16:"a",17:"a",18:"a",19:"a",20:"a",21:"a",22:"a",23:"a",24:"a",25:"a",26:"a",27:"a",28:"a",29:"a",30:"a",31:"a",32:"a"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"u",7:"u"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"a",16:"a",17:"a",18:"a"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"a","5.0-5.1":"a","6.0-6.1":"a","7.0":"a"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"a",4:"a",4.1:"a","4.2-4.3":"a",4.4:"a"},bb:{7:"n",10:"a"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"y",12.1:"y",0:"a"},and_chr:{0:"a"},and_ff:{0:"a"},ie_mob:{10:"n"}},notes:'Partial support refers to the lack of compassneedscalibration event. Partial support also refers to the lack of devicemotion event support for Chrome 30- and Opera. Opera Mobile 14 lost the ondevicemotion event support. Firefox 3.6, 4 and 5 support the non-standard <a href="https://developer.mozilla.org/en/DOM/MozOrientation">MozOrientation</a> event.',usage_perc_y:.14,usage_perc_a:57.76,ucprefix:!1,parent:"",keywords:""},"script-defer":{title:"defer attribute for external scripts",description:"The boolean defer attribute on script elements allows the external JavaScript file to run when the DOM is loaded, without delaying page load first.",spec:"http://www.w3.org/TR/html5/the-script-element.html#attr-script-defer",status:"cr",links:[{url:"https://developer.mozilla.org/en/HTML/Element/script#Attributes",title:"MDN article"},{url:"http://docs.webplatform.org/wiki/html/attributes/defer",title:"WebPlatform Docs"},{url:"https://raw.github.com/phiggins42/has.js/master/detect/script.js#script-defer",title:"has.js test"}],categories:["DOM","HTML5"],stats:{ie:{5.5:"a",6:"a",7:"a",8:"a",9:"a",10:"y",11:"y"},firefox:{2:"n",3:"n",3.5:"y",3.6:"y",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"y",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"Partial support refers to a buggy implementation in IE<10",usage_perc_y:73.17,usage_perc_a:14.25,ucprefix:!1,parent:"",keywords:""},"nav-timing":{title:"Navigation Timing API",description:"API for accessing timing information related to navigation and elements.",spec:"http://www.w3.org/TR/navigation-timing/",status:"cr",links:[{url:"https://developer.mozilla.org/en/API/navigationTiming",title:"MDN article"},{url:"http://www.html5rocks.com/en/tutorials/webperformance/basics/",title:"HTML5 Rocks tutorial"},{url:"http://docs.webplatform.org/wiki/apis/navigation_timing",title:"WebPlatform Docs"}],categories:["DOM","JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19
usage_perc_y:73.31,usage_perc_a:.03,ucprefix:!1,parent:"css-gradients",keywords:""},"css-filters":{title:"CSS Filter Effects",description:"Method of applying filter effects (like blur, grayscale, brightness, contrast and hue) to elements, previously only possible by using SVG.",spec:"http://www.w3.org/TR/filter-effects/",status:"wd",links:[{url:"http://dl.dropbox.com/u/3260327/angular/CSS3ImageManipulation.html",title:"Filter editor"},{url:"http://bennettfeely.com/filters/",title:"Filter Playground"},{url:"http://html5-demos.appspot.com/static/css/filters/index.html",title:"Demo file for WebKit browsers"},{url:"http://www.html5rocks.com/en/tutorials/filters/understanding-css/",title:"Mozilla hacks article"}],categories:["CSS3","CSS"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"n",22:"n",23:"n",24:"n",25:"n",26:"u",27:"u"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x",28:"y x",29:"y x",30:"y x",31:"y x",32:"y x"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"y x",6.1:"y x",7:"y x"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y x",16:"y x",17:"y x",18:"y x"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0":"y x"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y x"},bb:{7:"n",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y x"},and_chr:{0:"y x"},and_ff:{0:"n"},ie_mob:{10:"n"}},notes:'Note that this property is significantly different from and incompatible with Microsoft\'s <a href="http://msdn.microsoft.com/en-us/library/ie/ms530752%28v=vs.85%29.aspx">older "filter" property</a>.',usage_perc_y:40.55,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"sepia,hue-rotate,invert,saturate"},getcomputedstyle:{title:"getComputedStyle",description:"API to get the current computed CSS styles applied to an element. This may be the current value applied by an animation or as set by a stylesheet.",spec:"http://www.w3.org/TR/cssom/#dom-window-getcomputedstyle",status:"rec",links:[{url:"http://ie.microsoft.com/testdrive/HTML5/getComputedStyle/",title:"Demo"},{url:"http://snipplr.com/view/13523/",title:"Polyfill for IE"},{url:"https://developer.mozilla.org/en/DOM/window.getComputedStyle",title:"MDN article"},{url:"http://docs.webplatform.org/wiki/css/cssom/methods/getComputedStyle",title:"WebPlatform Docs"}],categories:["JS API","CSS3","DOM"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"y",10:"y",11:"y"},firefox:{2:"n",3:"a",3.5:"a",3.6:"a",4:"y",5:"y",6:"y",7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"a",5:"a",6:"a",7:"a",8:"a",9:"a",10:"a",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"a",3.2:"a",4:"a",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"a","9.5-9.6":"a","10.0-10.1":"a",10.5:"a",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"a","4.0-4.1":"a","4.2-4.3":"a","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"a"},android:{2.1:"a",2.2:"a",2.3:"a",3:"a",4:"y",4.1:"y","4.2-4.3":"y",4.4:"y"},bb:{7:"a",10:"y"},op_mob:{10:"a",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"y"}},notes:"Partial support in older Firefox versions refers to requiring the second parameter to be included. Partial support in all other browsers refers to not supporting getComputedStyle on pseudo-elements.",usage_perc_y:78.53,usage_perc_a:7,ucprefix:!1,parent:"",keywords:""},"word-break":{title:"CSS3 word-break",description:"Propertytopreventorallowwordstobe
7:"y",8:"y",9:"y",10:"y",11:"y",12:"y",13:"y",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"y",5.1:"y",6:"y",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"u","10.0-10.1":"u",10.5:"u",10.6:"y",11:"y",11.1:"y",11.5:"y",11.6:"y",12:"y",12.1:"y",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"y","6.0-6.1":"y","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"u",11:"y",11.1:"y",11.5:"y",12:"y",12.1:"y",0:"y"},and_chr:{0:"y"},and_ff:{0:"n"},ie_mob:{10:"y"}},notes:"",usage_perc_y:55.07,usage_perc_a:0,ucprefix:!1,parent:"x-doc-messaging",keywords:""},"css3-tabsize":{title:"CSS3 tab-size",description:"Method of customizing the width of a tab character. Only effective using 'white-space: pre'.",spec:"http://www.w3.org/TR/css3-text/#tab-size1",status:"wd",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/CSS/tab-size",title:"MDN article"}],categories:["CSS3"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"y x",5:"y x",6:"y x",7:"y x",8:"y x",9:"y x",10:"y x",11:"y x",12:"y x",13:"y x",14:"y x",15:"y x",16:"y x",17:"y x",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y x"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"n",19:"n",20:"n",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"n",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"y x",11:"y x",11.1:"y x",11.5:"y x",11.6:"y x",12:"y x",12.1:"y x",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"n",4.1:"n","4.2-4.3":"n",4.4:"y"},bb:{7:"y",10:"y"},op_mob:{10:"n",11:"y x",11.1:"y x",11.5:"y x",12:"y x",12.1:"y x",0:"y"},and_chr:{0:"y"},and_ff:{0:"y x"},ie_mob:{10:"n"}},notes:"",usage_perc_y:53.05,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"tab-size,tab-width"},mutationobserver:{title:"Mutation Observer",description:"Method for observing and reacting to changes to the DOM. Replaces MutationEvents, which is deprecated.",spec:"http://www.w3.org/TR/dom/",status:"wd",links:[{url:"https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver",title:"MutationObserver from MDN"},{url:"https://github.com/Polymer/MutationObservers",title:"Polyfill"}],categories:["DOM","JS API"],stats:{ie:{5.5:"n",6:"n",7:"n",8:"n",9:"p",10:"p",11:"y"},firefox:{2:"n",3:"n",3.5:"n",3.6:"n",4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"y",15:"y",16:"y",17:"y",18:"y",19:"y",20:"y",21:"y",22:"y",23:"y",24:"y",25:"y",26:"y",27:"y"},chrome:{4:"n",5:"n",6:"n",7:"n",8:"n",9:"n",10:"n",11:"n",12:"n",13:"n",14:"n",15:"n",16:"n",17:"n",18:"y x",19:"y x",20:"y x",21:"y x",22:"y x",23:"y x",24:"y x",25:"y x",26:"y x",27:"y",28:"y",29:"y",30:"y",31:"y",32:"y"},safari:{3.1:"n",3.2:"n",4:"n",5:"n",5.1:"n",6:"y x",6.1:"y",7:"y"},opera:{9:"n","9.5-9.6":"n","10.0-10.1":"n",10.5:"n",10.6:"n",11:"n",11.1:"n",11.5:"n",11.6:"n",12:"n",12.1:"n",15:"y",16:"y",17:"y",18:"y"},ios_saf:{3.2:"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"y x","7.0":"y"},op_mini:{"5.0-7.0":"n"},android:{2.1:"n",2.2:"n",2.3:"n",3:"n",4:"p",4.1:"p","4.2-4.3":"p",4.4:"y"},bb:{7:"n",10:"y x"},op_mob:{10:"n",11:"n",11.1:"n",11.5:"n",12:"n",12.1:"n",0:"y"},and_chr:{0:"y"},and_ff:{0:"y"},ie_mob:{10:"p"}},notes:"When the content of a node with a single CharacterData child node is changed by innerHTML attribute and the node have a single different one as a result, WebKit browsers consider it as a characterData mutation of the child CharacterData node, while other browsers think it as a childList mutation of the parent node.",usage_perc_y:54.8,usage_perc_a:0,ucprefix:!1,parent:"",keywords:"MutationObserver
returne.children.forEach(function(e){e.start=r(e.start),e.end=r(e.end),e.content=r(e.content),a(e)}),e}})},{}],44:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e){vart=h.getArray("format.noIndentTags")||[];return~t.indexOf(e.name())?"":" "}functioni(e){returne.parent&&d.hasBlockChildren(e.parent)}functiona(e){returne.parent&&!e.parent.parent&&!e.index()}functiono(e,t){returnt.tag_nl===!0||d.isBlock(e)?!0:e.parent&&t.inline_break?y(e.parent,t):!1}functions(e,t){returne.children.length&&o(e.children[0],t)}functiony(e,t){varn=0;return!!f.find(e.children,function(e){returne.isTextNode()||!d.isInline(e)?n=0:d.isInline(e)&&n++,n>=t.inline_break?!0:void0})}functionl(e){return!e.parent}functionc(e,t){returne.start=e.end="",!a(e)&&t.tag_nl!==!1&&o(e,t)&&(l(e.parent)||!d.isInline(e.parent))&&(e.start="\n"+e.start),e}functionp(e,t){varn=e.children.some(function(e){returnd.isSnippet(e)?!1:!d.isInline(e)});returnn?!0:y(e,t)}functionu(e,t){e.start=e.end=m;varn=d.isUnary(e),y="\n",l=r(e);if(t.tag_nl!==!1){varc=t.tag_nl===!0&&(t.tag_nl_leaf||e.children.length);if(!c){varu=h.getArray("format.forceIndentationForTags")||[];c=~u.indexOf(e.name())}e.isTextNode()||(o(e,t)?(a(e)||d.isSnippet(e.parent)&&!e.index()||(e.start=y+e.start),(d.hasBlockChildren(e)||s(e,t)||c&&!n)&&(e.end=y+e.end),(d.hasTagsInContent(e)||c&&!e.children.length&&!n)&&(e.start+=y+l)):d.isInline(e)&&i(e)&&!a(e)?e.start=y+e.start:d.isInline(e)&&p(e,t)&&(e.end=y+e.end),e.padding=l)}returne}varf=e("../utils/common"),d=e("../utils/abbreviation"),h=e("../assets/preferences");e("../assets/resources");h.define("format.noIndentTags","html","A comma-separated list of tag names that should not get inner indentation."),h.define("format.forceIndentationForTags","body","A comma-separated list of tag names that should <em>always</em> get inner indentation.");varm="%s";returnfunctiong(e,t,n){returnn=n||0,e.children.forEach(function(e){d.isSnippet(e)?c(e,t,n):u(e,t,n),g(e,t,n+1)}),e}})},{"../assets/preferences":28,"../assets/resources":31,"../utils/abbreviation":69,"../utils/common":73}],45:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e){returny.trim(e).replace(/\s+/g,".")}functioni(e){vart=[],n=null,r=/^data-/i;returne.forEach(function(e){r.test(e.name)?(n||(n=[],t.push({name:"data",value:n})),n.push(y.extend({},e,{name:e.name.replace(r,"")}))):t.push(e)}),t}functiona(e,t){varn=t.attributeQuote();return"{"+e.map(function(e){varr=n+e.value+n;returnArray.isArray(e.value)?r=a(e.value,t):e.isBoolean&&(r="true"),":"+e.name+" => "+r}).join(", ")+"}"}functiono(e,t){varn="",o=[],s=(t.attributeQuote(),t.cursor());returne.attributeList().forEach(function(e){vari=t.attributeName(e.name);switch(i.toLowerCase()){case"id":n+="#"+(e.value||s);break;case"class":n+="."+r(e.value||s);break;default:o.push({name:i,value:e.value||s,isBoolean:t.isBoolean(e.name,e.value)})}}),o.length&&(n+=a(i(o),t)),n}functions(e,t){if(!e.parent)returne;varn=o(e,t),r=t.cursor(),i=l.isUnary(e),a=t.self_closing_tag&&i?"/":"",s="",c="%"+t.tagName(e.name());"%div"==c.toLowerCase()&&n&&-1==n.indexOf("{")&&(c=""),e.end="",s=c+n+a,e.content&&!/^\s/.test(e.content)&&(e.content=" "+e.content);varp="%s";returne.start=y.replaceSubstring(e.start,s,e.start.indexOf(p),p),e.children.length||i||(e.start+=r),e}vary=e("../utils/common"),l=e("../utils/abbreviation"),c=e("./format");returnfunctionp(e,t,n){returnn=n||0,n||(e=c(e,"_format",t)),e.children.forEach(function(e){l.isSnippet(e)||s(e,t,n),p(e,t,n+1)}),e}})},{"../utils/abbreviation":69,"../utils/common":73,"./format":44}],46:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e,t){varn=t.attributeQuote(),r=t.cursor();returne.attributeList().map(function(e){vari=t.isBoolean(e.name,e.value),a=t.attributeName(e.name),o=i?a:e.value;returni&&t.allowCompactBoolean()?" "+a:" "+a+"="+n+(o||r)+n}).join(""
if(e.attribute(t.DEFAULT_ATTR_NAME,null),n.length){varl=i.find(n,a)||i.find(n,o)||i.find(n,s);if(l){varc=e.attribute(l.name),p=i.replaceUnescapedSymbol(c,"|",y);c==p&&(p=y),e.attribute(l.name,p)}}}elsen.forEach(function(t){t.isImplied&&e.attribute(t.name,null)});r(e,t)})}vari=e("../../utils/common"),a=function(e){returne.isDefault},o=function(e){returne.isImplied},s=function(e){return!e.value};return{preprocessor:function(e,t,n){r(e,n)}}})},{"../../utils/common":73}],58:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){varr=e("../../assets/preferences"),i=e("../../utils/common"),a=e("./pastedContent");returnr.define("href.autodetect",!0,"Enables or disables automatic URL recognition when wrapping text with <code><a></code> tag. With this option enabled, if wrapped text matches URL or e-mail pattern it will be automatically inserted into <code>href</code> attribute."),r.define("href.urlPattern","^(?:(?:https?|ftp|file)://|www\\.|ftp\\.)(?:\\([-A-Z0-9+&@#/%=~_|$?!:,.]*\\)|[-A-Z0-9+&@#/%=~_|$?!:,.])*(?:\\([-A-Z0-9+&@#/%=~_|$?!:,.]*\\)|[A-Z0-9+&@#/%=~_|$])","RegExp pattern to match wrapped URLs. Matched content will be inserts as-is into <code>href</code> attribute, only whitespace will be trimmed."),r.define("href.emailPattern","^[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,5}$","RegExp pattern to match wrapped e-mails. Unlike <code>href.urlPattern</code>, wrapped content will be prefixed with <code>mailto:</code> in <code>href</code> attribute"),{postprocessor:function(e,t){if(r.get("href.autodetect")){varn=newRegExp(r.get("href.urlPattern"),"i"),o=newRegExp(r.get("href.emailPattern"),"i"),s=/^([a-z]+:)?\/\//i;e.findAll(function(e){if("a"==e.name().toLowerCase()&&!e.attribute("href")){varr=i.trim(a.pastedContent(e)||t.pastedContent);r&&(n.test(r)?(s.test(r)||(r="http://"+r),e.attribute("href",r)):o.test(r)&&e.attribute("href","mailto:"+r))}})}}}})},{"../../assets/preferences":28,"../../utils/common":73,"./pastedContent":59}],59:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e){for(vart=[],n=l.create(e);!n.eol();){if("\\"==n.peek())n.next();elseif(n.start=n.pos,n.match(p,!0)){t.push(c.create(n.start,p));continue}n.next()}returnt}functioni(e,t){varn=r(e);returnn.reverse().forEach(function(n){e=s.replaceSubstring(e,t,n)}),e}functiona(e){returnr(e.content).length?!0:!!s.find(e.attributeList(),function(e){return!!r(e.value).length})}functiono(e,t,n){varr=e.findAll(function(e){returna(e)});if(a(e)&&r.unshift(e),r.length)r.forEach(function(e){e.content=i(e.content,t),e._attributes.forEach(function(e){e.value=i(e.value,t)})});else{varo=e.deepestChild()||e;n?o.content=t:o.content=y.insertChildContent(o.content,t)}}vars=e("../../utils/common"),y=e("../../utils/abbreviation"),l=e("../../assets/stringStream"),c=e("../../assets/range"),p="$#";return{pastedContent:function(e){vart=e.data("paste");returnArray.isArray(t)?t[e.counter-1]:"function"==typeoft?t(e.counter-1,e.content):t?t:void0},preprocessor:function(e,t){if(t.pastedContent){varn=s.splitByLines(t.pastedContent,!0).map(s.trim);e.findAll(function(e){returne.hasImplicitRepeat?(e.data("paste",n),e.repeatCount=n.length):void0})}},postprocessor:function(e,t){varn=this,r=e.findAll(function(e){vart=n.pastedContent(e);returnt&&o(e,t,!!e.data("pasteOverwrites")),!!t});!r.length&&t.pastedContent&&o(e,t.pastedContent)}}})},{"../../assets/range":30,"../../assets/stringStream":32,"../../utils/abbreviation":69,"../../utils/common":73}],60:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e,t,n){e.children.slice(0).forEach(function(e){varo=i.getMatchedResource(e,t);"string"==typeofo&&(o=a.create("snippet",o)),e.data("resource",o);vary=a.type(o);if("snippet"==y){varl=o.data,c=e._text||e.content;c&&(l=s.insertChildContent(l,c)),e.content=l}elseif("element"==y)e._name=o.name,Array.isArray(o.attributes)&&(e._attributes=[].concat(o
},expandGradientOutsideValue:function(e,t){varn=c.get("css.gradient.defaultProperty"),r=c.get("css.gradient.omitDefaultDirection");if(!n)return!1;vari=String(e.getContent()),s=d.create(e.getCurrentLineRange()),y=s.substring(i).replace(/^\s+/,function(e){returns.start+=e.length,""}).replace(/\s+$/,function(e){returns.end-=e.length,""}),l="a{"+n+": "+y+";}",p=this.gradientsFromCSSProperty(l,l.length-2);if(p){varh=a(p.gradients,p.property);h.push({name:p.property.name(),value:o(p.gradients,p.property.value(),{placeholder:"${2}",omitDefaultDirection:r})});varm=f.getSyntaxPreference("valueSeparator",t),g=f.getSyntaxPreference("propertyEnd",t);if(c.get("css.alignVendor")){varb=u.getStringsPads(h.map(function(e){returne.value.substring(0,e.value.indexOf("("))}));h.forEach(function(e,t){e.value=b[t]+e.value})}returnh=h.map(function(e){returne.name+m+e.value+g}),e.replaceContent(h.join("\n"),s.start,s.end),!0}return!1},reflectValueHandler:function(e){vart=c.get("css.gradient.omitDefaultDirection"),n=this.findGradients(e);if(!n)return!1;varr=this,i=e.value();returne.parent.getAll(s(e)).forEach(function(a){if(a!==e){vars=r.findGradients(a);if(s){vary=a.value(),l=s[0].matchedPart.substring(y),c="";/^\s*\-([a-z]+)\-/.test(l)&&(c=RegExp.$1),a.value(o(n,i,{prefix:c,omitDefaultDirection:t}))}}}),!0}}})},{"../assets/preferences":28,"../assets/range":30,"../assets/resources":31,"../assets/stringStream":32,"../editTree/css":37,"../utils/common":73,"../utils/editor":75,"./css":64,"./gradient/linear":66}],66:[function(e,t,n){if("object"==typeoft&&"function"!=typeofr)varr=function(r){t.exports=r(e,n,t)};r(function(e,t,n){functionr(e){this.colorStops=[],this.direction=180;for(vart,n,r=y.create(l.trim(e));t=r.next();)","==r.peek()?(n=r.current(),this.colorStops.length||!f.test(n)&&!d.test(n)?this.addColorStop(n):this.direction=a(n),r.next(),r.eatSpace(),r.start=r.pos):"("==t&&r.skipTo(")");this.addColorStop(r.current())}functioni(e){returnl.trim(e).replace(/\s+/g," ")}functiona(e){if("number"==typeofe)returne;if(e=i(e).toLowerCase(),f.test(e))return+RegExp.$1;vart=/^to\s/.test(e)?"to ":"",n=~e.indexOf("left")&&"left",r=~e.indexOf("right")&&"right",a=~e.indexOf("top")&&"top",o=~e.indexOf("bottom")&&"bottom",s=i(t+(a||o||"")+" "+(n||r||""));returnc[s]||0}functiono(e,t){for(varn=/^to\s/,r=Object.keys(c).filter(function(e){varr=n.test(e);returnt?!r:r}),i=0;i<r.length;i++)if(c[r[i]]==e)returnr[i];returnt&&(e=(e+270)%360),e+"deg"}functions(e){if(e=o(e,!0),f.test(e))throw"The direction is an angle that can’t be converted.";vart=function(t){return~e.indexOf(t)?"100%":"0"};returnt("left")+" "+t("top")+", "+t("right")+" "+t("bottom")}vary=e("../../assets/stringStream"),l=e("../../utils/common"),c={bottom:0,"bottom left":45,left:90,"top left":135,top:180,"top right":225,right:270,"bottom right":315,"to top":0,"to top right":45,"to right":90,"to bottom right":135,"to bottom":180,"to bottom left":225,"to left":270,"to top left":315},p=["top","to bottom","0deg"],u=/^\s*(\-[a-z]+\-)?(lg|linear\-gradient)\s*\(/i,f=/(\d+)deg/i,d=/top|bottom|left|right/i;returnr.prototype={type:"linear-gradient",addColorStop:function(e,t){e=i(e||""),e&&(e=this.parseColorStop(e),"undefined"==typeoft?this.colorStops.push(e):this.colorStops.splice(t,0,e))},parseColorStop:function(e){e=i(e);vart=null;if(e=e.replace(/^(\w+\(.+?\))\s*/,function(e,n){returnt=n,""}),!t){varn=e.split(" ");t=n[0],e=n[1]||""}varr={color:t};returne&&e.replace(/^(\-?[\d\.]+)([a-z%]+)?$/,function(e,t,n){r.position=t,~t.indexOf(".")?n="":n||(n="%"),n&&(r.unit=n)}),r},stringify:function(e){e=e||{};vart="linear-gradient";e.prefix&&(t="-"+e.prefix+"-"+t);varn=this.colorStops.map(function(e){vart=e.position?" "+e.position+(e.unit||""):"";returne.color+t}),r=o(this.direction,!!e.prefix);returne.omitDefaultDirection&&~p.indexOf(r)||n.unshift(r),t+"("+n.join(", ")+")"},stringifyOldWebkit:function(){vare=this.colorStops.map(function(e){returnl.clone(e)});returne.forEach(function(e){if("position"ine){if(!~e.position.indexOf(".")&&"%"!=e.unit)throw"Can'tconvertco
!function(t){"function"==typeofdefine&&define.amd?define(["jquery"],t):t(jQuery)}(function(t){vare=0,i=Array.prototype.slice;t.cleanData=function(e){returnfunction(i){varn,s,o;for(o=0;null!=(s=i[o]);o++)try{n=t._data(s,"events"),n&&n.remove&&t(s).triggerHandler("remove")}catch(r){}e(i)}}(t.cleanData),t.widget=function(e,i,n){vars,o,r,a,u={},d=e.split(".")[0];returne=e.split(".")[1],s=d+"-"+e,n||(n=i,i=t.Widget),t.expr[":"][s.toLowerCase()]=function(e){return!!t.data(e,s)},t[d]=t[d]||{},o=t[d][e],r=t[d][e]=function(t,e){returnthis._createWidget?void(arguments.length&&this._createWidget(t,e)):newr(t,e)},t.extend(r,o,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),a=newi,a.options=t.widget.extend({},a.options),t.each(n,function(e,n){returnt.isFunction(n)?void(u[e]=function(){vart=function(){returni.prototype[e].apply(this,arguments)},s=function(t){returni.prototype[e].apply(this,t)};returnfunction(){vare,i=this._super,o=this._superApply;returnthis._super=t,this._superApply=s,e=n.apply(this,arguments),this._super=i,this._superApply=o,e}}()):void(u[e]=n)}),r.prototype=t.widget.extend(a,{widgetEventPrefix:o?a.widgetEventPrefix||e:e},u,{constructor:r,namespace:d,widgetName:e,widgetFullName:s}),o?(t.each(o._childConstructors,function(e,i){varn=i.prototype;t.widget(n.namespace+"."+n.widgetName,r,i._proto)}),deleteo._childConstructors):i._childConstructors.push(r),t.widget.bridge(e,r),r},t.widget.extend=function(e){for(varn,s,o=i.call(arguments,1),r=0,a=o.length;a>r;r++)for(nino[r])s=o[r][n],o[r].hasOwnProperty(n)&&void0!==s&&(t.isPlainObject(s)?e[n]=t.isPlainObject(e[n])?t.widget.extend({},e[n],s):t.widget.extend({},s):e[n]=s);returne},t.widget.bridge=function(e,n){vars=n.prototype.widgetFullName||e;t.fn[e]=function(o){varr="string"==typeofo,a=i.call(arguments,1),u=this;returno=!r&&a.length?t.widget.extend.apply(null,[o].concat(a)):o,r?this.each(function(){vari,n=t.data(this,s);return"instance"===o?(u=n,!1):n?t.isFunction(n[o])&&"_"!==o.charAt(0)?(i=n[o].apply(n,a),i!==n&&void0!==i?(u=i&&i.jquery?u.pushStack(i.get()):i,!1):void0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; attempted to call method '"+o+"'")}):this.each(function(){vare=t.data(this,s);e?(e.option(o||{}),e._init&&e._init()):t.data(this,s,newn(o,this))}),u}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(i,n){n=t(n||this.defaultElement||this)[0],this.element=t(n),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this.bindings=t(),this.hoverable=t(),this.focusable=t(),n!==this&&(t.data(n,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===n&&this.destroy()}}),this.document=t(n.style?n.ownerDocument:n.document||n),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){returnthis.element},option:function(e,i){varn,s,o,r=e;if(0===arguments.length)returnt.widget.extend({},this.options);if("string"==typeofe)if(r={},n=e.split("."),e=n.shift(),n.length){for(s=r[e]=t.widget.extend({},this.options[e]),o=0;o<n.length-1;o++)s[n[o]]=s[n[o]]||{},s=s[n[o]];if(e=n.pop(),1===arguments.length)returnvoid0===s[e]?null:s[e];s[e]=i}else{if(1===arguments.length)returnvoi
!function(e){"object"==typeofexports&&"object"==typeofmodule?e(require("../../lib/codemirror")):"function"==typeofdefine&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("shell",function(){functione(e,t){for(varn=t.split(" "),r=0;r<n.length;r++)i[n[r]]=e}functiont(e,t){if(e.eatSpace())returnnull;vars=e.sol(),u=e.next();if("\\"===u)returne.next(),null;if("'"===u||'"'===u||"`"===u)returnt.tokens.unshift(n(u)),r(e,t);if("#"===u)returns&&e.eat("!")?(e.skipToEnd(),"meta"):(e.skipToEnd(),"comment");if("$"===u)returnt.tokens.unshift(o),r(e,t);if("+"===u||"="===u)return"operator";if("-"===u)returne.eat("-"),e.eatWhile(/\w/),"attribute";if(/\d/.test(u)&&(e.eatWhile(/\d/),e.eol()||!/\w/.test(e.peek())))return"number";e.eatWhile(/[\w-]/);varf=e.current();return"="===e.peek()&&/\w+/.test(f)?"def":i.hasOwnProperty(f)?i[f]:null}functionn(e){returnfunction(t,n){for(varr,i=!1,s=!1;null!=(r=t.next());){if(r===e&&!s){i=!0;break}if("$"===r&&!s&&"'"!==e){s=!0,t.backUp(1),n.tokens.unshift(o);break}s=!s&&"\\"===r}return(i||!s)&&n.tokens.shift(),"`"===e||")"===e?"quote":"string"}}functionr(e,n){return(n.tokens[0]||t)(e,n)}vari={};e("atom","true false"),e("keyword","if then do else elif while until for in esac fi fin fil done exit set unset export function"),e("builtin","ab awk bash beep cat cc cd chown chmod chroot clear cp curl cut diff echo find gawk gcc get git grep kill killall ln ls make mkdir openssl mv nc node npm ping ps restart rm rmdir sed service sh shopt shred source sort sleep ssh start stop su sudo tee telnet top touch vi vim wall wc wget who write yes zsh");varo=function(e,t){t.tokens.length>1&&e.eat("$");vari=e.next(),o=/\w/;return"{"===i&&(o=/[^}]/),"("===i?(t.tokens[0]=n(")"),r(e,t)):(/\d/.test(i)||(e.eatWhile(o),e.eat("}")),t.tokens.shift(),"def")};return{startState:function(){return{tokens:[]}},token:function(e,t){returnr(e,t)},lineComment:"#",fold:"brace"}}),e.defineMIME("text/x-sh","shell")});
!function(e){"object"==typeofexports&&"object"==typeofmodule?e(require("../../lib/codemirror")):"function"==typeofdefine&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.defineMode("sql",function(t,r){functiona(e,t){varr=e.next();if(b[r]){vara=b[r](e,t);if(a!==!1)returna}if(1==p.hexNumber&&("0"==r&&e.match(/^[xX][0-9a-fA-F]+/)||("x"==r||"X"==r)&&e.match(/^'[0-9a-fA-F]+'/)))return"number";if(1==p.binaryNumber&&(("b"==r||"B"==r)&&e.match(/^'[01]+'/)||"0"==r&&e.match(/^b[01]+/)))return"number";if(r.charCodeAt(0)>47&&r.charCodeAt(0)<58)returne.match(/^[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/),1==p.decimallessFloat&&e.eat("."),"number";if("?"==r&&(e.eatSpace()||e.eol()||e.eat(";")))return"variable-3";if("'"==r||'"'==r&&p.doubleQuote)returnt.tokenize=n(r),t.tokenize(e,t);if((1==p.nCharCast&&("n"==r||"N"==r)||1==p.charsetCast&&"_"==r&&e.match(/[a-z][a-z0-9]*/i))&&("'"==e.peek()||'"'==e.peek()))return"keyword";if(/^[\(\),\;\[\]]/.test(r))returnnull;if(p.commentSlashSlash&&"/"==r&&e.eat("/"))returne.skipToEnd(),"comment";if(p.commentHash&&"#"==r||"-"==r&&e.eat("-")&&(!p.commentSpaceRequired||e.eat(" ")))returne.skipToEnd(),"comment";if("/"==r&&e.eat("*"))returnt.tokenize=i,t.tokenize(e,t);if("."!=r){if(m.test(r))returne.eatWhile(m),null;if("{"==r&&(e.match(/^( )*(d|D|t|T|ts|TS)( )*'[^']*'( )*}/)||e.match(/^( )*(d|D|t|T|ts|TS)( )*"[^"]*"( )*}/)))return"number";e.eatWhile(/^[_\w\d]/);varo=e.current().toLowerCase();returnh.hasOwnProperty(o)&&(e.match(/^( )+'[^']*'/)||e.match(/^( )+"[^"]*"/))?"number":c.hasOwnProperty(o)?"atom":u.hasOwnProperty(o)?"builtin":d.hasOwnProperty(o)?"keyword":l.hasOwnProperty(o)?"string-2":null}return1==p.zerolessFloat&&e.match(/^(?:\d+(?:e[+-]?\d+)?)/i)?"number":1==p.ODBCdotTable&&e.match(/^[a-zA-Z_]+/)?"variable-2":void0}functionn(e){returnfunction(t,r){for(varn,i=!1;null!=(n=t.next());){if(n==e&&!i){r.tokenize=a;break}i=!i&&"\\"==n}return"string"}}functioni(e,t){for(;;){if(!e.skipTo("*")){e.skipToEnd();break}if(e.next(),e.eat("/")){t.tokenize=a;break}}return"comment"}functiono(e,t,r){t.context={prev:t.context,indent:e.indentation(),col:e.column(),type:r}}functions(e){e.indent=e.context.indent,e.context=e.context.prev}varl=r.client||{},c=r.atoms||{"false":!0,"true":!0,"null":!0},u=r.builtin||{},d=r.keywords||{},m=r.operatorChars||/^[*+\-%<>!=&|~^]/,p=r.support||{},b=r.hooks||{},h=r.dateSQL||{date:!0,time:!0,timestamp:!0};return{startState:function(){return{tokenize:a,context:null}},token:function(e,t){if(e.sol()&&t.context&&null==t.context.align&&(t.context.align=!1),e.eatSpace())returnnull;varr=t.tokenize(e,t);if("comment"==r)returnr;t.context&&null==t.context.align&&(t.context.align=!0);vara=e.current();return"("==a?o(e,t,")"):"["==a?o(e,t,"]"):t.context&&t.context.type==a&&s(t),r},indent:function(r,a){varn=r.context;if(!n)returne.Pass;vari=a.charAt(0)==n.type;returnn.align?n.col+(i?0:1):n.indent+(i?0:t.indentUnit)},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:p.commentSlashSlash?"//":p.commentHash?"#":null}}),function(){functiont(e){for(vart;null!=(t=e.next());)if("`"==t&&!e.eat("`"))return"variable-2";returne.backUp(e.current().length-1),e.eatWhile(/\w/)?"variable-2":null}functionr(e){returne.eat("@")&&(e.match(/^session\./),e.match(/^local\./),e.match(/^global\./)),e.eat("'")?(e.match(/^.*'/),"variable-2"):e.eat('"')?(e.match(/^.*"/),"variable-2"):e.eat("`")?(e.match(/^.*`/),"variable-2"):e.match(/^[0-9a-zA-Z$\.\_]+/)?"variable-2":null}functiona(e){returne.eat("N")?"atom":e.match(/^[a-zA-Z.#!?]/)?"variable-2":null}functionn(e){for(vart={},r=e.split(" "),a=0;a<r.length;++a)t[r[a]]=!0;returnt}vari="alter and as asc between by count create delete desc distinct drop from having in insert into is join like not on or order select set table union update values where ";e.defineMIME("text/x-sql",{name:"sql",keywords:n(i+"begin"),builtin:n("boolbooleanbitblobenumlonglongbloblongtextmediummediumblobmediumintmediumtexttimetimestamptinyblobtinyinttinytexttextbigintintint1int2int3int4int8integerfloa
ye(t,r,">",U(o,n))}elser.insertMode||(r.lastHPos=t.getCursor().ch)}functiontt(e){this.keyName=e}functionrt(t){functionr(){returno.changes.push(newtt(i)),!0}varn=yt.macroModeState,o=n.lastInsertModeChanges,i=e.keyName(t);i&&(-1!=i.indexOf("Delete")||-1!=i.indexOf("Backspace"))&&e.lookupKey(i,"vim-insert",r)}functionnt(e,t,r,n){functiono(){s?wt.processAction(e,t,t.lastEditActionCommand):wt.evalInput(e,t)}functioni(r){if(a.lastInsertModeChanges.changes.length>0){r=t.lastEditActionCommand?r:1;varn=a.lastInsertModeChanges;ot(e,n.changes,r)}}vara=yt.macroModeState;a.isPlaying=!0;vars=!!t.lastEditActionCommand,l=t.inputState;if(t.inputState=t.lastEditInputState,s&&t.lastEditActionCommand.interlaceInsertRepeat)for(varc=0;r>c;c++)o(),i(1);elsen||o(),i(r);t.inputState=l,t.insertMode&&!n&&Je(e),a.isPlaying=!1}functionot(t,r,n){functiono(r){return"string"==typeofr?e.commands[r](t):r(t),!0}vari=t.getCursor("head"),a=yt.macroModeState.lastInsertModeChanges.inVisualBlock;if(a){vars=t.state.vim,l=s.lastSelection,c=P(l.anchor,l.head);Y(t,i,c.line+1),n=t.listSelections().length,t.setCursor(i)}for(varu=0;n>u;u++){a&&t.setCursor(N(i,u,0));for(varh=0;h<r.length;h++){varp=r[h];if(pinstanceoftt)e.lookupKey(p.keyName,"vim-insert",o);else{vard=t.getCursor();t.replaceRange(p,d,d)}}}a&&t.setCursor(N(i,0,1))}e.defineOption("vimMode",!1,function(t,r,n){r&&"vim"!=t.getOption("keyMap")?t.setOption("keyMap","vim"):!r&&n!=e.Init&&/^vim/.test(t.getOption("keyMap"))&&t.setOption("keyMap","default")});varit={Shift:"S",Ctrl:"C",Alt:"A",Cmd:"D",Mod:"A"},at={Enter:"CR",Backspace:"BS",Delete:"Del"},st=/[\d]/,lt=[e.isWordChar,function(t){returnt&&!e.isWordChar(t)&&!/\s/.test(t)}],ct=[function(e){return/\S/.test(e)}],ut=u(65,26),ht=u(97,26),pt=u(48,10),dt=[].concat(ut,ht,pt,["<",">"]),ft=[].concat(ut,ht,pt,["-",'"',".",":","/"]),mt={},vt=function(){functione(e,t,s){functionl(t){varo=++n%r,i=a[o];i&&i.clear(),a[o]=e.setBookmark(t)}varc=n%r,u=a[c];if(u){varh=u.find();h&&!_(h,t)&&l(t)}elsel(t);l(s),o=n,i=n-r+1,0>i&&(i=0)}functiont(e,t){n+=t,n>o?n=o:i>n&&(n=i);vars=a[(r+n)%r];if(s&&!s.find()){varl,c=t>0?1:-1,u=e.getCursor();doif(n+=c,s=a[(r+n)%r],s&&(l=s.find())&&!_(u,l))break;while(o>n&&n>i)}returns}varr=100,n=-1,o=0,i=0,a=newArray(r);return{cachedCursor:void0,add:e,move:t}},gt=function(e){returne?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};w.prototype={exitMacroRecordMode:function(){vare=yt.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void0,e.isRecording=!1},enterMacroRecordMode:function(e,t){varr=yt.registerController.getRegister(t);r&&(r.clear(),this.latestRegister=t,e.openDialog&&(this.onRecordingDone=e.openDialog("(recording)["+t+"]",null,{bottom:!0})),this.isRecording=!0)}};varyt,kt,Ct={buildKeyMap:function(){},getRegisterController:function(){returnyt.registerController},resetVimGlobalState_:M,getVimGlobalState_:function(){returnyt},maybeInitVimState_:x,suppressErrorLogging:!1,InsertModeKey:tt,map:function(e,t,r){Bt.map(e,t,r)},setOption:k,getOption:C,defineOption:y,defineEx:function(e,t,r){if(0!==e.indexOf(t))thrownewError('(Vim.defineEx) "'+t+'" is not a prefix of "'+e+'", command not registered');Et[e]=r,Bt.commandMap_[t]={name:e,shortName:t,type:"api"}},handleKey:function(e,t,r){varn=this.findKey(e,t,r);return"function"==typeofn?n():void0},findKey:function(r,n,o){functioni(){vare=yt.macroModeState;if(e.isRecording){if("q"==n)returne.exitMacroRecordMode(),A(r),!0;"mapping"!=o&&Qe(e,n)}}functiona(){return"<Esc>"==n?(A(r),h.visualMode?ae(r):h.insertMode&&Je(r),!0):void0}functions(t){for(varo;t;)o=/<\w+-.+?>|<\w+>|./.exec(t),n=o[0],t=t.substring(o.index+n.length),e.Vim.handleKey(r,n,"mapping")}functionl(){if(a())return!0;for(vare=h.inputState.keyBuffer=h.inputState.keyBuffer+n,o=1==n.length,i=wt.matchCommand(e,t,h.inputState,"insert");e.length>1&&"full"!=i.type;){vare=h.inputState.keyBuffer=e.slice(1),s=wt.matchCommand(e,t,h.inputState,"insert");"none"!=s.type&&(i=s)}if("none"==i.type
varr=e.substring(0,t);if(this.commandMap_[r]){varn=this.commandMap_[r];if(0===n.name.indexOf(e))returnn}}returnnull},buildCommandMap_:function(){this.commandMap_={};for(vare=0;e<Tt.length;e++){vart=Tt[e],r=t.shortName||t.name;this.commandMap_[r]=t}},map:function(e,r,n){if(":"!=e&&":"==e.charAt(0)){if(n)throwError("Mode not supported for ex mappings");varo=e.substring(1);":"!=r&&":"==r.charAt(0)?this.commandMap_[o]={name:o,type:"exToEx",toInput:r.substring(1),user:!0}:this.commandMap_[o]={name:o,type:"exToKey",toKeys:r,user:!0}}elseif(":"!=r&&":"==r.charAt(0)){vari={keys:e,type:"keyToEx",exArgs:{input:r.substring(1)},user:!0};n&&(i.context=n),t.unshift(i)}else{vari={keys:e,type:"keyToKey",toKeys:r,user:!0};n&&(i.context=n),t.unshift(i)}},unmap:function(e,r){if(":"!=e&&":"==e.charAt(0)){if(r)throwError("Mode not supported for ex mappings");varn=e.substring(1);if(this.commandMap_[n]&&this.commandMap_[n].user)returnvoiddeletethis.commandMap_[n]}elsefor(varo=e,i=0;i<t.length;i++)if(o==t[i].keys&&t[i].context===r&&t[i].user)returnvoidt.splice(i,1);throwError("No such mapping.")}};varEt={map:function(e,t,r){varn=t.args;return!n||n.length<2?void(e&&Ie(e,"Invalid mapping: "+t.input)):voidBt.map(n[0],n[1],r)},imap:function(e,t){this.map(e,t,"insert")},nmap:function(e,t){this.map(e,t,"normal")},vmap:function(e,t){this.map(e,t,"visual")},unmap:function(e,t,r){varn=t.args;return!n||n.length<1?void(e&&Ie(e,"No such mapping: "+t.input)):voidBt.unmap(n[0],r)},move:function(e,t){wt.processCommand(e,e.state.vim,{type:"motion",motion:"moveToLineOrEdgeOfDocument",motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0},repeatOverride:t.line+1})},set:function(e,t){varr=t.args;if(!r||r.length<1)returnvoid(e&&Ie(e,"Invalid mapping: "+t.input));varn=r[0].split("="),o=n[0],i=n[1],a=!1;if("?"==o.charAt(o.length-1)){if(i)throwError("Trailing characters: "+t.argString);o=o.substring(0,o.length-1),a=!0}void0===i&&"no"==o.substring(0,2)&&(o=o.substring(2),i=!1);vars=mt[o]&&"boolean"==mt[o].type;if(s&&void0==i&&(i=!0),!s&&!i||a){varl=C(o);l===!0||l===!1?Ie(e," "+(l?"":"no")+o):Ie(e," "+o+"="+l)}elsek(o,i)},registers:function(e,t){varr=t.args,n=yt.registerController.registers,o="----------Registers----------<br><br>";if(r){vari;r=r.join("");for(vara=0;a<r.length;a++)if(i=r.charAt(a),yt.registerController.isValidRegister(i)){vars=n[i]||newb;o+='"'+i+" "+s.toString()+"<br>"}}elsefor(variinn){varl=n[i].toString();l.length&&(o+='"'+i+" "+l+"<br>")}Ie(e,o)},sort:function(t,n){functiono(){if(n.argString){vart=newe.StringStream(n.argString);if(t.eat("!")&&(a=!0),t.eol())return;if(!t.eatSpace())return"Invalid arguments";varr=t.match(/[a-z]+/);if(r){r=r[0],s=-1!=r.indexOf("i"),l=-1!=r.indexOf("u");varo=-1!=r.indexOf("d")&&1,i=-1!=r.indexOf("x")&&1,u=-1!=r.indexOf("o")&&1;if(o+i+u>1)return"Invalid arguments";c=o&&"decimal"||i&&"hex"||u&&"octal"}t.eatSpace()&&t.match(/\/.*\//)}}functioni(e,t){if(a){varr;r=e,e=t,t=r}s&&(e=e.toLowerCase(),t=t.toLowerCase());varn=c&&v.exec(e),o=c&&v.exec(t);returnn?(n=parseInt((n[1]+n[2]).toLowerCase(),g),o=parseInt((o[1]+o[2]).toLowerCase(),g),n-o):t>e?-1:1}vara,s,l,c,u=o();if(u)returnvoidIe(t,u+": "+n.argString);varh=n.line||t.firstLine(),p=n.lineEnd||n.line||t.lastLine();if(h!=p){vard=r(h,0),f=r(p,q(t,p)),m=t.getRange(d,f).split("\n"),v="decimal"==c?/(-?)([\d]+)/:"hex"==c?/(-?)(?:0x)?([0-9a-f]+)/i:"octal"==c?/([0-7]+)/:null,g="decimal"==c?10:"hex"==c?16:"octal"==c?8:null,y=[],k=[];if(c)for(varC=0;C<m.length;C++)v.exec(m[C])?y.push(m[C]):k.push(m[C]);elsek=m;if(y.sort(i),k.sort(i),m=a?y.concat(k):k.concat(y),l){varw,x=m;m=[];for(varC=0;C<x.length;C++)x[C]!=w&&m.push(x[C]),w=x[C]}t.replaceRange(m.join("\n"),d,f)}},global:function(e,t){varr=t.argString;if(!r)returnvoidIe(e,"Regular Expression missing from global");varn,o=void0!==t.line?t.line:e.firstLine(),i=t.lineEnd||t.line||e.lastLine(),a=be(r),s=r;if(a.length&&(s=a[0],n=a.slice(1,a.length).join("/")),s)try{Pe(e,s,!0,!0)}catch(l){returnvoidIe(e,"Invalid regex: "+s)}for(varc=Se(e).getQuery(),u=[],h="",p=o;
varjsonlint=function(){vart={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(t,e,i,n,r,s,h){varl=s.length-1;switch(r){case1:this.$=t.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\v/g,"\x0B").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case2:this.$=Number(t);break;case3:this.$=null;break;case4:this.$=!0;break;case5:this.$=!1;break;case6:returnthis.$=s[l-1];case13:this.$={};break;case14:this.$=s[l-1];break;case15:this.$=[s[l-2],s[l]];break;case16:this.$={},this.$[s[l][0]]=s[l][1];break;case17:this.$=s[l-2],s[l-2][s[l][0]]=s[l][1];break;case18:this.$=[];break;case19:this.$=s[l-1];break;case20:this.$=[s[l]];break;case21:this.$=s[l-2],s[l-2].push(s[l])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(t,e){thrownewError(t)},parse:function(t){functione(t){r.length=r.length-2*t,s.length=s.length-t,h.length=h.length-t}functioni(){vart;returnt=n.lexer.lex()||1,"number"!=typeoft&&(t=n.symbols_[t]||t),t}varn=this,r=[0],s=[null],h=[],l=this.table,o="",a=0,c=0,u=0,y=2,p=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeofthis.lexer.yylloc&&(this.lexer.yylloc={});varf=this.lexer.yylloc;h.push(f),"function"==typeofthis.yy.parseError&&(this.parseError=this.yy.parseError);for(varg,d,m,x,_,b,E,S,k,v={};;){if(m=r[r.length-1],this.defaultActions[m]?x=this.defaultActions[m]:(null==g&&(g=i()),x=l[m]&&l[m][g]),"undefined"==typeofx||!x.length||!x[0]){if(!u){k=[];for(binl[m])this.terminals_[b]&&b>2&&k.push("'"+this.terminals_[b]+"'");var$="";$=this.lexer.showPosition?"Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+k.join(", ")+", got '"+this.terminals_[g]+"'":"Parse error on line "+(a+1)+": Unexpected "+(1==g?"end of input":"'"+(this.terminals_[g]||g)+"'"),this.parseError($,{text:this.lexer.match,token:this.terminals_[g]||g,line:this.lexer.yylineno,loc:f,expected:k})}if(3==u){if(g==p)thrownewError($||"Parsing halted.");c=this.lexer.yyleng,o=this.lexer.yytext,a=this.lexer.yylineno,f=this.lexer.yylloc,g=i()}for(;;){if(y.toString()inl[m])break;if(0==m)thrownewError($||"Parsing halted.");e(1),m=r[r.length-1]}d=g,g=y,m=r[r.length-1],x=l[m]&&l[m][y],u=3}if(