1 window
.CodeMirror
=(function(){var bB
=/gecko\/\d/i.test(navigator
.userAgent
);var cs
=/MSIE \d/.test(navigator
.userAgent
);var by
=cs
&&(document
.documentMode
==null||document
.documentMode
<8);var bx
=cs
&&(document
.documentMode
==null||document
.documentMode
<9);var dr
=/Trident\/([7-9]|\d{2,})\./.test(navigator
.userAgent
);var b1
=/WebKit\//.test(navigator
.userAgent
);var cv
=b1
&&/Qt\/\d+\.\d+/.test(navigator
.userAgent
);var b8
=/Chrome\//.test(navigator
.userAgent
);var dQ
=/Opera\//.test(navigator
.userAgent
);var ad
=/Apple Computer/.test(navigator
.vendor
);var aC
=/KHTML\//.test(navigator
.userAgent
);var bM
=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator
.userAgent
);var b5
=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator
.userAgent
);var dN
=/PhantomJS/.test(navigator
.userAgent
);var dm
=/AppleWebKit/.test(navigator
.userAgent
)&&/Mobile\/\w+/.test(navigator
.userAgent
);var cM
=dm
||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator
.userAgent
);var bk
=dm
||/Mac/.test(navigator
.platform
);var al
=/win/i.test(navigator
.platform
);var cY
=dQ
&&navigator
.userAgent
.match(/Version\/(\d*\.\d*)/);if(cY
){cY
=Number(cY
[1])}if(cY
&&cY
>=15){dQ
=false;b1
=true}var ba
=bk
&&(cv
||dQ
&&(cY
==null||cY
<12.11));var bQ
=bB
||(cs
&&!bx
);var ef
=false,ay
=false;function y(el
,em
){if(!(this instanceof y
)){return new y(el
,em
)}this.options
=em
=em
||{};for(var en
in dp
){if(!em
.hasOwnProperty(en
)&&dp
.hasOwnProperty(en
)){em
[en
]=dp
[en
]}}bs(em
);var er
=typeof em
.value
=="string"?0:em
.value
.first
;var eq
=this.display
=f(el
,er
);eq
.wrapper
.CodeMirror
=this;cI(this);if(em
.autofocus
&&!cM
){c1(this)}this.state
={keyMaps
:[],overlays
:[],modeGen
:0,overwrite
:false,focused
:false,suppressEdits
:false,pasteIncoming
:false,draggingText
:false,highlight
:new ek()};bV(this);if(em
.lineWrapping
){this.display
.wrapper
.className
+=" CodeMirror-wrap"}var ep
=em
.value
;if(typeof ep
=="string"){ep
=new X(em
.value
,em
.mode
)}b2(this,cH
)(this,ep
);if(cs
){setTimeout(bH(dJ
,this,true),20)}d3(this);var es
;try{es
=(document
.activeElement
==eq
.input
)}catch(eo
){}if(es
||(em
.autofocus
&&!cM
)){setTimeout(bH(bL
,this),20)}else{aq(this)}b2(this,function(){for(var eu
in aF
){if(aF
.propertyIsEnumerable(eu
)){aF
[eu
](this,em
[eu
],bq
)}}for(var et
=0;et
<az
.length
;++et
){az
[et
](this)}})()}function f(el
,en
){var eo
={};var em
=eo
.input
=d8("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;");if(b1
){em
.style
.width
="1000px"}else{em
.setAttribute("wrap","off")}if(dm
){em
.style
.border
="1px solid black"}em
.setAttribute("autocorrect","off");em
.setAttribute("autocapitalize","off");em
.setAttribute("spellcheck","false");eo
.inputDiv
=d8("div",[em
],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");eo
.scrollbarH
=d8("div",[d8("div",null,null,"height: 1px")],"CodeMirror-hscrollbar");eo
.scrollbarV
=d8("div",[d8("div",null,null,"width: 1px")],"CodeMirror-vscrollbar");eo
.scrollbarFiller
=d8("div",null,"CodeMirror-scrollbar-filler");eo
.gutterFiller
=d8("div",null,"CodeMirror-gutter-filler");eo
.lineDiv
=d8("div",null,"CodeMirror-code");eo
.selectionDiv
=d8("div",null,null,"position: relative; z-index: 1");eo
.cursor
=d8("div","\u00a0","CodeMirror-cursor");eo
.otherCursor
=d8("div","\u00a0","CodeMirror-cursor CodeMirror-secondarycursor");eo
.measure
=d8("div",null,"CodeMirror-measure");eo
.lineSpace
=d8("div",[eo
.measure
,eo
.selectionDiv
,eo
.lineDiv
,eo
.cursor
,eo
.otherCursor
],null,"position: relative; outline: none");eo
.mover
=d8("div",[d8("div",[eo
.lineSpace
],"CodeMirror-lines")],null,"position: relative");eo
.sizer
=d8("div",[eo
.mover
],"CodeMirror-sizer");eo
.heightForcer
=d8("div",null,null,"position: absolute; height: "+aJ
+"px; width: 1px;");eo
.gutters
=d8("div",null,"CodeMirror-gutters");eo
.lineGutter
=null;eo
.scroller
=d8("div",[eo
.sizer
,eo
.heightForcer
,eo
.gutters
],"CodeMirror-scroll");eo
.scroller
.setAttribute("tabIndex","-1");eo
.wrapper
=d8("div",[eo
.inputDiv
,eo
.scrollbarH
,eo
.scrollbarV
,eo
.scrollbarFiller
,eo
.gutterFiller
,eo
.scroller
],"CodeMirror");if(by
){eo
.gutters
.style
.zIndex
=-1;eo
.scroller
.style
.paddingRight
=0}if(el
.appendChild
){el
.appendChild(eo
.wrapper
)}else{el(eo
.wrapper
)}if(dm
){em
.style
.width
="0px"}if(!b1
){eo
.scroller
.draggable
=true}if(aC
){eo
.inputDiv
.style
.height
="1px";eo
.inputDiv
.style
.position
="absolute"}else{if(by
){eo
.scrollbarH
.style
.minWidth
=eo
.scrollbarV
.style
.minWidth
="18px"}}eo
.viewOffset
=eo
.lastSizeC
=0;eo
.showingFrom
=eo
.showingTo
=en
;eo
.lineNumWidth
=eo
.lineNumInnerWidth
=eo
.lineNumChars
=null;eo
.prevInput
="";eo
.alignWidgets
=false;eo
.pollingFast
=false;eo
.poll
=new ek();eo
.cachedCharWidth
=eo
.cachedTextHeight
=null;eo
.measureLineCache
=[];eo
.measureLineCachePos
=0;eo
.inaccurateSelection
=false;eo
.maxLine
=null;eo
.maxLineLength
=0;eo
.maxLineChanged
=false;eo
.wheelDX
=eo
.wheelDY
=eo
.wheelStartX
=eo
.wheelStartY
=null;return eo
}function aR(el
){el
.doc
.mode
=y
.getMode(el
.options
,el
.doc
.modeOption
);el
.doc
.iter(function(em
){if(em
.stateAfter
){em
.stateAfter
=null}if(em
.styles
){em
.styles
=null}});el
.doc
.frontier
=el
.doc
.first
;cL(el
,100);el
.state
.modeGen
++;if(el
.curOp
){N(el
)}}function c9(el
){if(el
.options
.lineWrapping
){el
.display
.wrapper
.className
+=" CodeMirror-wrap";el
.display
.sizer
.style
.minWidth
=""}else{el
.display
.wrapper
.className
=el
.display
.wrapper
.className
.replace(" CodeMirror-wrap","");eb(el
)}I(el
);N(el
);Q(el
);setTimeout(function(){dk(el
)},100)}function aE(el
){var en
=at(el
.display
),em
=el
.options
.lineWrapping
;var eo
=em
&&Math
.max(5,el
.display
.scroller
.clientWidth
/cq(el.display)-3);return function(ep){if(dO(el.doc,ep)){return 0}else{if(em){return(Math.ceil(ep.text.length/eo
)||1)*en
}else{return en
}}}}function I(el
){var en
=el
.doc
,em
=aE(el
);en
.iter(function(eo
){var ep
=em(eo
);if(ep
!=eo
.height
){ed(eo
,ep
)}})}function ei(el
){var en
=du
[el
.options
.keyMap
],em
=en
.style
;el
.display
.wrapper
.className
=el
.display
.wrapper
.className
.replace(/\s*cm-keymap-\S+/g,"")+(em
?" cm-keymap-"+em
:"");el
.state
.disableInput
=en
.disableInput
}function bV(el
){el
.display
.wrapper
.className
=el
.display
.wrapper
.className
.replace(/\s*cm-s-\S+/g,"")+el
.options
.theme
.replace(/(^|\s)\s*/g," cm-s-");Q(el
)}function cl(el
){cI(el
);N(el
);setTimeout(function(){c5(el
)},20)}function cI(el
){var em
=el
.display
.gutters
,eq
=el
.options
.gutters
;cB(em
);for(var en
=0;en
<eq
.length
;++en
){var eo
=eq
[en
];var ep
=em
.appendChild(d8("div",null,"CodeMirror-gutter "+eo
));if(eo
=="CodeMirror-linenumbers"){el
.display
.lineGutter
=ep
;ep
.style
.width
=(el
.display
.lineNumWidth
||1)+"px"}}em
.style
.display
=en
?"":"none"}function cQ(ep
,en
){if(en
.height
==0){return 0}var em
=en
.text
.length
,el
,eq
=en
;while(el
=dc(eq
)){var eo
=el
.find();eq
=dy(ep
,eo
.from.line
);em
+=eo
.from.ch
-eo
.to
.ch
}eq
=en
;while(el
=cV(eq
)){var eo
=el
.find();em
-=eq
.text
.length
-eo
.from.ch
;eq
=dy(ep
,eo
.to
.line
);em
+=eq
.text
.length
-eo
.to
.ch
}return em
}function eb(el
){var en
=el
.display
,em
=el
.doc
;en
.maxLine
=dy(em
,em
.first
);en
.maxLineLength
=cQ(em
,en
.maxLine
);en
.maxLineChanged
=true;em
.iter(function(ep
){var eo
=cQ(em
,ep
);if(eo
>en
.maxLineLength
){en
.maxLineLength
=eo
;en
.maxLine
=ep
}})}function bs(el
){var em
=cd(el
.gutters
,"CodeMirror-linenumbers");if(em
==-1&&el
.lineNumbers
){el
.gutters
=el
.gutters
.concat(["CodeMirror-linenumbers"])}else{if(em
>-1&&!el
.lineNumbers
){el
.gutters
=el
.gutters
.slice(0);el
.gutters
.splice(em
,1)}}}function dk(el
){var er
=el
.display
,em
=el
.doc
.height
;var eo
=em
+a3(er
);er
.sizer
.style
.minHeight
=er
.heightForcer
.style
.top
=eo
+"px";er
.gutters
.style
.height
=Math
.max(eo
,er
.scroller
.clientHeight
-aJ
)+"px";var ep
=Math
.max(eo
,er
.scroller
.scrollHeight
);var eq
=er
.scroller
.scrollWidth
>(er
.scroller
.clientWidth
+1);var en
=ep
>(er
.scroller
.clientHeight
+1);if(en
){er
.scrollbarV
.style
.display
="block";er
.scrollbarV
.style
.bottom
=eq
?i(er
.measure
)+"px":"0";er
.scrollbarV
.firstChild
.style
.height
=(ep
-er
.scroller
.clientHeight
+er
.scrollbarV
.clientHeight
)+"px"}else{er
.scrollbarV
.style
.display
="";er
.scrollbarV
.firstChild
.style
.height
="0"}if(eq
){er
.scrollbarH
.style
.display
="block";er
.scrollbarH
.style
.right
=en
?i(er
.measure
)+"px":"0";er
.scrollbarH
.firstChild
.style
.width
=(er
.scroller
.scrollWidth
-er
.scroller
.clientWidth
+er
.scrollbarH
.clientWidth
)+"px"}else{er
.scrollbarH
.style
.display
="";er
.scrollbarH
.firstChild
.style
.width
="0"}if(eq
&&en
){er
.scrollbarFiller
.style
.display
="block";er
.scrollbarFiller
.style
.height
=er
.scrollbarFiller
.style
.width
=i(er
.measure
)+"px"}else{er
.scrollbarFiller
.style
.display
=""}if(eq
&&el
.options
.coverGutterNextToScrollbar
&&el
.options
.fixedGutter
){er
.gutterFiller
.style
.display
="block";er
.gutterFiller
.style
.height
=i(er
.measure
)+"px";er
.gutterFiller
.style
.width
=er
.gutters
.offsetWidth
+"px"}else{er
.gutterFiller
.style
.display
=""}if(bM
&&i(er
.measure
)===0){er
.scrollbarV
.style
.minWidth
=er
.scrollbarH
.style
.minHeight
=b5
?"18px":"12px";er
.scrollbarV
.style
.pointerEvents
=er
.scrollbarH
.style
.pointerEvents
="none"}}function bj(eq
,ep
,eo
){var en
=eq
.scroller
.scrollTop
,el
=eq
.wrapper
.clientHeight
;if(typeof eo
=="number"){en
=eo
}else{if(eo
){en
=eo
.top
;el
=eo
.bottom
-eo
.top
}}en
=Math
.floor(en
-ds(eq
));var em
=Math
.ceil(en
+el
);return{from:a1(ep
,en
),to
:a1(ep
,em
)}}function c5(el
){var er
=el
.display
;if(!er
.alignWidgets
&&(!er
.gutters
.firstChild
||!el
.options
.fixedGutter
)){return}var eo
=cA(er
)-er
.scroller
.scrollLeft
+el
.doc
.scrollLeft
;var eq
=er
.gutters
.offsetWidth
,en
=eo
+"px";for(var es
=er
.lineDiv
.firstChild
;es
;es
=es
.nextSibling
){if(es
.alignable
){for(var ep
=0,em
=es
.alignable
;ep
<em
.length
;++ep
){em
[ep
].style
.left
=en
}}}if(el
.options
.fixedGutter
){er
.gutters
.style
.left
=(eo
+eq
)+"px"}}function cD(el
){if(!el
.options
.lineNumbers
){return false}var eq
=el
.doc
,em
=cT(el
.options
,eq
.first
+eq
.size
-1),ep
=el
.display
;if(em
.length
!=ep
.lineNumChars
){var er
=ep
.measure
.appendChild(d8("div",[d8("div",em
)],"CodeMirror-linenumber CodeMirror-gutter-elt"));var en
=er
.firstChild
.offsetWidth
,eo
=er
.offsetWidth
-en
;ep
.lineGutter
.style
.width
="";ep
.lineNumInnerWidth
=Math
.max(en
,ep
.lineGutter
.offsetWidth
-eo
);ep
.lineNumWidth
=ep
.lineNumInnerWidth
+eo
;ep
.lineNumChars
=ep
.lineNumInnerWidth
?em
.length
:-1;ep
.lineGutter
.style
.width
=ep
.lineNumWidth
+"px";return true}return false}function cT(el
,em
){return String(el
.lineNumberFormatter(em
+el
.firstLineNumber
))}function cA(el
){return ak(el
.scroller
).left
-ak(el
.sizer
).left
}function ct(eq
,ep
,et
,eu
){var es
=eq
.display
.showingFrom
,er
=eq
.display
.showingTo
,eo
;var el
=bj(eq
.display
,eq
.doc
,et
);for(var en
=true;;en
=false){var em
=eq
.display
.scroller
.clientWidth
;if(!cb(eq
,ep
,el
,eu
)){break}eo
=true;ep
=[];aY(eq
);dk(eq
);if(en
&&eq
.options
.lineWrapping
&&em
!=eq
.display
.scroller
.clientWidth
){eu
=true;continue}eu
=false;if(et
){et
=Math
.min(eq
.display
.scroller
.scrollHeight
-eq
.display
.scroller
.clientHeight
,typeof et
=="number"?et
:et
.top
)}el
=bj(eq
.display
,eq
.doc
,et
);if(el
.from>=eq
.display
.showingFrom
&&el
.to
<=eq
.display
.showingTo
){break}}if(eo
){L(eq
,"update",eq
);if(eq
.display
.showingFrom
!=es
||eq
.display
.showingTo
!=er
){L(eq
,"viewportChange",eq
,eq
.display
.showingFrom
,eq
.display
.showingTo
)}}return eo
}function cb(ep
,eD
,em
,eB
){var ev
=ep
.display
,eE
=ep
.doc
;if(!ev
.wrapper
.clientWidth
){ev
.showingFrom
=ev
.showingTo
=eE
.first
;ev
.viewOffset
=0;return}if(!eB
&&eD
.length
==0&&em
.from>ev
.showingFrom
&&em
.to
<ev
.showingTo
){return}if(cD(ep
)){eD
=[{from:eE
.first
,to
:eE
.first
+eE
.size
}]}var eA
=ev
.sizer
.style
.marginLeft
=ev
.gutters
.offsetWidth
+"px";ev
.scrollbarH
.style
.left
=ep
.options
.fixedGutter
?eA
:"0";var en
=Infinity
;if(ep
.options
.lineNumbers
){for(var ew
=0;ew
<eD
.length
;++ew
){if(eD
[ew
].diff
&&eD
[ew
].from<en
){en
=eD
[ew
].from}}}var eo
=eE
.first
+eE
.size
;var eu
=Math
.max(em
.from-ep
.options
.viewportMargin
,eE
.first
);var el
=Math
.min(eo
,em
.to
+ep
.options
.viewportMargin
);if(ev
.showingFrom
<eu
&&eu
-ev
.showingFrom
<20){eu
=Math
.max(eE
.first
,ev
.showingFrom
)}if(ev
.showingTo
>el
&&ev
.showingTo
-el
<20){el
=Math
.min(eo
,ev
.showingTo
)}if(ay
){eu
=a8(s(eE
,dy(eE
,eu
)));while(el
<eo
&&dO(eE
,dy(eE
,el
))){++el
}}var ey
=[{from:Math
.max(ev
.showingFrom
,eE
.first
),to
:Math
.min(ev
.showingTo
,eo
)}];if(ey
[0].from>=ey
[0].to
){ey
=[]}else{ey
=dI(ey
,eD
)}if(ay
){for(var ew
=0;ew
<ey
.length
;++ew
){var er
=ey
[ew
],ez
;while(ez
=cV(dy(eE
,er
.to
-1))){var eC
=ez
.find().from.line
;if(eC
>er
.from){er
.to
=eC
}else{ey
.splice(ew
--,1);break}}}}var et
=0;for(var ew
=0;ew
<ey
.length
;++ew
){var er
=ey
[ew
];if(er
.from<eu
){er
.from=eu
}if(er
.to
>el
){er
.to
=el
}if(er
.from>=er
.to
){ey
.splice(ew
--,1)}else{et
+=er
.to
-er
.from}}if(!eB
&&et
==el
-eu
&&eu
==ev
.showingFrom
&&el
==ev
.showingTo
){h(ep
);return}ey
.sort(function(eG
,eF
){return eG
.from-eF
.from});try{var eq
=document
.activeElement
}catch(ex
){}if(et
<(el
-eu
)*0.7){ev
.lineDiv
.style
.display
="none"}bz(ep
,eu
,el
,ey
,en
);ev
.lineDiv
.style
.display
="";if(eq
&&document
.activeElement
!=eq
&&eq
.offsetHeight
){eq
.focus()}var es
=eu
!=ev
.showingFrom
||el
!=ev
.showingTo
||ev
.lastSizeC
!=ev
.wrapper
.clientHeight
;if(es
){ev
.lastSizeC
=ev
.wrapper
.clientHeight
;cL(ep
,400)}ev
.showingFrom
=eu
;ev
.showingTo
=el
;aA(ep
);h(ep
);return true}function aA(et
){var eq
=et
.display
;var em
=eq
.lineDiv
.offsetTop
;for(var el
=eq
.lineDiv
.firstChild
,eu
;el
;el
=el
.nextSibling
){if(el
.lineObj
){if(by
){var ep
=el
.offsetTop
+el
.offsetHeight
;eu
=ep
-em
;em
=ep
}else{var eo
=ak(el
);eu
=eo
.bottom
-eo
.top
}var es
=el
.lineObj
.height
-eu
;if(eu
<2){eu
=at(eq
)}if(es
>0.001||es
<-0.001){ed(el
.lineObj
,eu
);var er
=el
.lineObj
.widgets
;if(er
){for(var en
=0;en
<er
.length
;++en
){er
[en
].height
=er
[en
].node
.offsetHeight
}}}}}}function h(el
){var em
=el
.display
.viewOffset
=a7(el
,dy(el
.doc
,el
.display
.showingFrom
));el
.display
.mover
.style
.top
=em
+"px"}function dI(eu
,es
){for(var ep
=0,en
=es
.length
||0;ep
<en
;++ep
){var er
=es
[ep
],el
=[],et
=er
.diff
||0;for(var eo
=0,em
=eu
.length
;eo
<em
;++eo
){var eq
=eu
[eo
];if(er
.to
<=eq
.from&&er
.diff
){el
.push({from:eq
.from+et
,to
:eq
.to
+et
})}else{if(er
.to
<=eq
.from||er
.from>=eq
.to
){el
.push(eq
)}else{if(er
.from>eq
.from){el
.push({from:eq
.from,to
:er
.from})}if(er
.to
<eq
.to
){el
.push({from:er
.to
+et
,to
:eq
.to
+et
})}}}}eu
=el
}return eu
}function dv(el
){var ep
=el
.display
,eo
={},en
={};for(var eq
=ep
.gutters
.firstChild
,em
=0;eq
;eq
=eq
.nextSibling
,++em
){eo
[el
.options
.gutters
[em
]]=eq
.offsetLeft
;en
[el
.options
.gutters
[em
]]=eq
.offsetWidth
}return{fixedPos
:cA(ep
),gutterTotalWidth
:ep
.gutters
.offsetWidth
,gutterLeft
:eo
,gutterWidth
:en
,wrapperWidth
:ep
.wrapper
.clientWidth
}}function bz(eu
,er
,es
,ex
,em
){var et
=dv(eu
);var eq
=eu
.display
,ew
=eu
.options
.lineNumbers
;if(!ex
.length
&&(!b1
||!eu
.display
.currentWheelTarget
)){cB(eq
.lineDiv
)}var el
=eq
.lineDiv
,ev
=el
.firstChild
;function ep(ez
){var ey
=ez
.nextSibling
;if(b1
&&bk
&&eu
.display
.currentWheelTarget
==ez
){ez
.style
.display
="none";ez
.lineObj
=null}else{ez
.parentNode
.removeChild(ez
)}return ey
}var en
=ex
.shift(),eo
=er
;eu
.doc
.iter(er
,es
,function(eH
){if(en
&&en
.to
==eo
){en
=ex
.shift()}if(dO(eu
.doc
,eH
)){if(eH
.height
!=0){ed(eH
,0)}if(eH
.widgets
&&ev
&&ev
.previousSibling
){for(var eC
=0;eC
<eH
.widgets
.length
;++eC
){var eE
=eH
.widgets
[eC
];if(eE
.showIfHidden
){var eA
=ev
.previousSibling
;if(/pre/i.test(eA
.nodeName
)){var ez
=d8("div",null,null,"position: relative");eA
.parentNode
.replaceChild(ez
,eA
);ez
.appendChild(eA
);eA
=ez
}var eF
=eA
.appendChild(d8("div",[eE
.node
],"CodeMirror-linewidget"));if(!eE
.handleMouseEvents
){eF
.ignoreEvents
=true}a0(eE
,eF
,eA
,et
)}}}}else{if(en
&&en
.from<=eo
&&en
.to
>eo
){while(ev
.lineObj
!=eH
){ev
=ep(ev
)}if(ew
&&em
<=eo
&&ev
.lineNumber
){m(ev
.lineNumber
,cT(eu
.options
,eo
))}ev
=ev
.nextSibling
}else{if(eH
.widgets
){for(var eB
=0,eG
=ev
,eD
;eG
&&eB
<20;++eB
,eG
=eG
.nextSibling
){if(eG
.lineObj
==eH
&&/div/i.test(eG
.nodeName
)){eD
=eG
;break}}}var ey
=af(eu
,eH
,eo
,et
,eD
);if(ey
!=eD
){el
.insertBefore(ey
,ev
)}else{while(ev
!=eD
){ev
=ep(ev
)}ev
=ev
.nextSibling
}ey
.lineObj
=eH
}}++eo
});while(ev
){ev
=ep(ev
)}}function af(es
,eu
,ev
,ey
,en
){var er
=de(es
,eu
),eE
=er
.pre
;var eH
=eu
.gutterMarkers
,eF
=es
.display
,et
;var em
=er
.bgClass
?er
.bgClass
+" "+(eu
.bgClass
||""):eu
.bgClass
;if(!es
.options
.lineNumbers
&&!eH
&&!em
&&!eu
.wrapClass
&&!eu
.widgets
){return eE
}if(en
){en
.alignable
=null;var eI
=true,eq
=0,eo
=null;for(var eA
=en
.firstChild
,ez
;eA
;eA
=ez
){ez
=eA
.nextSibling
;if(!/\bCodeMirror-linewidget\b/.test(eA
.className
)){en
.removeChild(eA
)}else{for(var eG
=0;eG
<eu
.widgets
.length
;++eG
){var ep
=eu
.widgets
[eG
];if(ep
.node
==eA
.firstChild
){if(!ep
.above
&&!eo
){eo
=eA
}a0(ep
,eA
,en
,ey
);++eq
;break}}if(eG
==eu
.widgets
.length
){eI
=false;break}}}en
.insertBefore(eE
,eo
);if(eI
&&eq
==eu
.widgets
.length
){et
=en
;en
.className
=eu
.wrapClass
||""}}if(!et
){et
=d8("div",null,eu
.wrapClass
,"position: relative");et
.appendChild(eE
)}if(em
){et
.insertBefore(d8("div",null,em
+" CodeMirror-linebackground"),et
.firstChild
)}if(es
.options
.lineNumbers
||eH
){var eC
=et
.insertBefore(d8("div",null,null,"position: absolute; left: "+(es
.options
.fixedGutter
?ey
.fixedPos
:-ey
.gutterTotalWidth
)+"px"),et
.firstChild
);if(es
.options
.fixedGutter
){(et
.alignable
||(et
.alignable
=[])).push(eC
)}if(es
.options
.lineNumbers
&&(!eH
||!eH
["CodeMirror-linenumbers"])){et
.lineNumber
=eC
.appendChild(d8("div",cT(es
.options
,ev
),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+ey
.gutterLeft
["CodeMirror-linenumbers"]+"px; width: "+eF
.lineNumInnerWidth
+"px"))}if(eH
){for(var eD
=0;eD
<es
.options
.gutters
.length
;++eD
){var ex
=es
.options
.gutters
[eD
],ew
=eH
.hasOwnProperty(ex
)&&eH
[ex
];if(ew
){eC
.appendChild(d8("div",[ew
],"CodeMirror-gutter-elt","left: "+ey
.gutterLeft
[ex
]+"px; width: "+ey
.gutterWidth
[ex
]+"px"))}}}}if(by
){et
.style
.zIndex
=2}if(eu
.widgets
&&et
!=en
){for(var eG
=0,el
=eu
.widgets
;eG
<el
.length
;++eG
){var ep
=el
[eG
],eB
=d8("div",[ep
.node
],"CodeMirror-linewidget");if(!ep
.handleMouseEvents
){eB
.ignoreEvents
=true}a0(ep
,eB
,et
,ey
);if(ep
.above
){et
.insertBefore(eB
,es
.options
.lineNumbers
&&eu
.height
!=0?eC
:eE
)}else{et
.appendChild(eB
)}L(ep
,"redraw")}}return et
}function a0(eo
,en
,em
,ep
){if(eo
.noHScroll
){(em
.alignable
||(em
.alignable
=[])).push(en
);var el
=ep
.wrapperWidth
;en
.style
.left
=ep
.fixedPos
+"px";if(!eo
.coverGutter
){el
-=ep
.gutterTotalWidth
;en
.style
.paddingLeft
=ep
.gutterTotalWidth
+"px"}en
.style
.width
=el
+"px"}if(eo
.coverGutter
){en
.style
.zIndex
=5;en
.style
.position
="relative";if(!eo
.noHScroll
){en
.style
.marginLeft
=-ep
.gutterTotalWidth
+"px"}}}function aY(el
){var eo
=el
.display
;var ep
=dX(el
.doc
.sel
.from,el
.doc
.sel
.to
);if(ep
||el
.options
.showCursorWhenSelecting
){z(el
)}else{eo
.cursor
.style
.display
=eo
.otherCursor
.style
.display
="none"}if(!ep
){S(el
)}else{eo
.selectionDiv
.style
.display
="none"}if(el
.options
.moveInputWithCursor
){var eq
=cy(el
,el
.doc
.sel
.head
,"div");var em
=ak(eo
.wrapper
),en
=ak(eo
.lineDiv
);eo
.inputDiv
.style
.top
=Math
.max(0,Math
.min(eo
.wrapper
.clientHeight
-10,eq
.top
+en
.top
-em
.top
))+"px";eo
.inputDiv
.style
.left
=Math
.max(0,Math
.min(eo
.wrapper
.clientWidth
-10,eq
.left
+en
.left
-em
.left
))+"px"}}function z(el
){var em
=el
.display
,en
=cy(el
,el
.doc
.sel
.head
,"div");em
.cursor
.style
.left
=en
.left
+"px";em
.cursor
.style
.top
=en
.top
+"px";em
.cursor
.style
.height
=Math
.max(0,en
.bottom
-en
.top
)*el
.options
.cursorHeight
+"px";em
.cursor
.style
.display
="";if(en
.other
){em
.otherCursor
.style
.display
="";em
.otherCursor
.style
.left
=en
.other
.left
+"px";em
.otherCursor
.style
.top
=en
.other
.top
+"px";em
.otherCursor
.style
.height
=(en
.other
.bottom
-en
.other
.top
)*0.85+"px"}else{em
.otherCursor
.style
.display
="none"}}function S(ew
){var er
=ew
.display
,ev
=ew
.doc
,el
=ew
.doc
.sel
;var ep
=document
.createDocumentFragment();var eu
=er
.lineSpace
.offsetWidth
,en
=ar(ew
.display
);function ey(eC
,eB
,eA
,ez
){if(eB
<0){eB
=0}ep
.appendChild(d8("div",null,"CodeMirror-selected","position: absolute; left: "+eC
+"px; top: "+eB
+"px; width: "+(eA
==null?eu
-eC
:eA
)+"px; height: "+(ez
-eB
)+"px"))}function et(eA
,eC
,eF
){var eB
=dy(ev
,eA
);var eD
=eB
.text
.length
;var eG
,ez
;function eE(eI
,eH
){return bS(ew
,H(eA
,eI
),"div",eB
,eH
)}cC(a(eB
),eC
||0,eF
==null?eD
:eF
,function(eO
,eN
,eH
){var eK
=eE(eO
,"left"),eL
,eM
,eJ
;if(eO
==eN
){eL
=eK
;eM
=eJ
=eK
.left
}else{eL
=eE(eN
-1,"right");if(eH
=="rtl"){var eI
=eK
;eK
=eL
;eL
=eI
}eM
=eK
.left
;eJ
=eL
.right
}if(eC
==null&&eO
==0){eM
=en
}if(eL
.top
-eK
.top
>3){ey(eM
,eK
.top
,null,eK
.bottom
);eM
=en
;if(eK
.bottom
<eL
.top
){ey(eM
,eK
.bottom
,null,eL
.top
)}}if(eF
==null&&eN
==eD
){eJ
=eu
}if(!eG
||eK
.top
<eG
.top
||eK
.top
==eG
.top
&&eK
.left
<eG
.left
){eG
=eK
}if(!ez
||eL
.bottom
>ez
.bottom
||eL
.bottom
==ez
.bottom
&&eL
.right
>ez
.right
){ez
=eL
}if(eM
<en
+1){eM
=en
}ey(eM
,eL
.top
,eJ
-eM
,eL
.bottom
)});return{start
:eG
,end
:ez
}}if(el
.from.line
==el
.to
.line
){et(el
.from.line
,el
.from.ch
,el
.to
.ch
)}else{var eo
=dy(ev
,el
.from.line
),em
=dy(ev
,el
.to
.line
);var eq
=s(ev
,eo
)==s(ev
,em
);var ex
=et(el
.from.line
,el
.from.ch
,eq
?eo
.text
.length
:null).end
;var es
=et(el
.to
.line
,eq
?0:null,el
.to
.ch
).start
;if(eq
){if(ex
.top
<es
.top
-2){ey(ex
.right
,ex
.top
,null,ex
.bottom
);ey(en
,es
.top
,es
.left
,es
.bottom
)}else{ey(ex
.right
,ex
.top
,es
.left
-ex
.right
,ex
.bottom
)}}if(ex
.bottom
<es
.top
){ey(en
,ex
.bottom
,null,es
.top
)}}bc(er
.selectionDiv
,ep
);er
.selectionDiv
.style
.display
=""}function k(el
){if(!el
.state
.focused
){return}var en
=el
.display
;clearInterval(en
.blinker
);var em
=true;en
.cursor
.style
.visibility
=en
.otherCursor
.style
.visibility
="";if(el
.options
.cursorBlinkRate
>0){en
.blinker
=setInterval(function(){en
.cursor
.style
.visibility
=en
.otherCursor
.style
.visibility
=(em
=!em
)?"":"hidden"},el
.options
.cursorBlinkRate
)}}function cL(el
,em
){if(el
.doc
.mode
.startState
&&el
.doc
.frontier
<el
.display
.showingTo
){el
.state
.highlight
.set(em
,bH(bW
,el
))}}function bW(el
){var eo
=el
.doc
;if(eo
.frontier
<eo
.first
){eo
.frontier
=eo
.first
}if(eo
.frontier
>=el
.display
.showingTo
){return}var em
=+new Date
+el
.options
.workTime
;var en
=bi(eo
.mode
,co(el
,eo
.frontier
));var eq
=[],ep
;eo
.iter(eo
.frontier
,Math
.min(eo
.first
+eo
.size
,el
.display
.showingTo
+500),function(er
){if(eo
.frontier
>=el
.display
.showingFrom
){var et
=er
.styles
;er
.styles
=dT(el
,er
,en
,true);var eu
=!et
||et
.length
!=er
.styles
.length
;for(var es
=0;!eu
&&es
<et
.length
;++es
){eu
=et
[es
]!=er
.styles
[es
]}if(eu
){if(ep
&&ep
.end
==eo
.frontier
){ep
.end
++}else{eq
.push(ep
={start
:eo
.frontier
,end
:eo
.frontier
+1})}}er
.stateAfter
=bi(eo
.mode
,en
)}else{cm(el
,er
.text
,en
);er
.stateAfter
=eo
.frontier
%5==0?bi(eo
.mode
,en
):null}++eo
.frontier
;if(+new Date
>em
){cL(el
,el
.options
.workDelay
);return true}});if(eq
.length
){b2(el
,function(){for(var er
=0;er
<eq
.length
;++er
){N(this,eq
[er
].start
,eq
[er
].end
)}})()}}function bJ(er
,el
,eo
){var em
,ep
,eq
=er
.doc
;var en
=eo
?-1:el
-(er
.doc
.mode
.innerMode
?1000:100);for(var eu
=el
;eu
>en
;--eu
){if(eu
<=eq
.first
){return eq
.first
}var et
=dy(eq
,eu
-1);if(et
.stateAfter
&&(!eo
||eu
<=eq
.frontier
)){return eu
}var es
=bb(et
.text
,null,er
.options
.tabSize
);if(ep
==null||em
>es
){ep
=eu
-1;em
=es
}}return ep
}function co(el
,er
,em
){var ep
=el
.doc
,eo
=el
.display
;if(!ep
.mode
.startState
){return true}var eq
=bJ(el
,er
,em
),en
=eq
>ep
.first
&&dy(ep
,eq
-1).stateAfter
;if(!en
){en
=bh(ep
.mode
)}else{en
=bi(ep
.mode
,en
)}ep
.iter(eq
,er
,function(es
){cm(el
,es
.text
,en
);var et
=eq
==er
-1||eq
%5==0||eq
>=eo
.showingFrom
&&eq
<eo
.showingTo
;es
.stateAfter
=et
?bi(ep
.mode
,en
):null;++eq
});if(em
){ep
.frontier
=eq
}return en
}function ds(el
){return el
.lineSpace
.offsetTop
}function a3(el
){return el
.mover
.offsetHeight
-el
.lineSpace
.offsetHeight
}function ar(em
){var el
=bc(em
.measure
,d8("pre",null,null,"text-align: left")).appendChild(d8("span","x"));return el
.offsetLeft
}function cN(es
,et
,em
,ep
,eq
){var eo
=-1;ep
=ep
||a4(es
,et
);if(ep
.crude
){var en
=ep
.left
+em
*ep
.width
;return{left
:en
,right
:en
+ep
.width
,top
:ep
.top
,bottom
:ep
.bottom
}}for(var er
=em
;;er
+=eo
){var el
=ep
[er
];if(el
){break}if(eo
<0&&er
==0){eo
=1}}eq
=er
>em
?"left":er
<em
?"right":eq
;if(eq
=="left"&&el
.leftSide
){el
=el
.leftSide
}else{if(eq
=="right"&&el
.rightSide
){el
=el
.rightSide
}}return{left
:er
<em
?el
.right
:el
.left
,right
:er
>em
?el
.left
:el
.right
,top
:el
.top
,bottom
:el
.bottom
}}function dq(el
,em
){var eo
=el
.display
.measureLineCache
;for(var ep
=0;ep
<eo
.length
;++ep
){var en
=eo
[ep
];if(en
.text
==em
.text
&&en
.markedSpans
==em
.markedSpans
&&el
.display
.scroller
.clientWidth
==en
.width
&&en
.classes
==em
.textClass
+"|"+em
.wrapClass
){return en
}}}function d1(el
,em
){var en
=dq(el
,em
);if(en
){en
.text
=en
.measure
=en
.markedSpans
=null}}function a4(el
,em
){var eq
=dq(el
,em
);if(eq
){return eq
.measure
}var ep
=ca(el
,em
);var eo
=el
.display
.measureLineCache
;var en
={text
:em
.text
,width
:el
.display
.scroller
.clientWidth
,markedSpans
:em
.markedSpans
,measure
:ep
,classes
:em
.textClass
+"|"+em
.wrapClass
};if(eo
.length
==16){eo
[++el
.display
.measureLineCachePos
%16]=en
}else{eo
.push(en
)}return ep
}function ca(es
,eu
){if(!es
.options
.lineWrapping
&&eu
.text
.length
>=es
.options
.crudeMeasuringFrom
){return d9(es
,eu
)}var eA
=es
.display
,eq
=R(eu
.text
.length
);var ex
=de(es
,eu
,eq
,true).pre
;if(cs
&&!by
&&!es
.options
.lineWrapping
&&ex
.childNodes
.length
>100){var en
=document
.createDocumentFragment();var ev
=10,ey
=ex
.childNodes
.length
;for(var eC
=0,ew
=Math
.ceil(ey
/ev);eC<ew;++eC){var et=d8("div",null,null,"display: inline-block");for(var eB=0;eB<ev&&ey;++eB){et.appendChild(ex.firstChild);--ey}en.appendChild(et)}ex.appendChild(en)}bc(eA.measure,ex);var em=ak(eA.lineDiv);var el=[],eF=R(eu.text.length),eE=ex.offsetHeight;if(bx&&eA.measure.first!=ex){bc(eA.measure,ex)}function eD(eI){var eK=eI.top-em.top,eM=eI.bottom-em.top;if(eM>eE){eM=eE}if(eK<0){eK=0}for(var eH=el.length-2;eH>=0;eH-=2){var eJ=el[eH],eL=el[eH+1];if(eJ>eM||eL<eK){continue}if(eJ<=eK&&eL>=eM||eK<=eJ&&eM>=eL||Math.min(eM,eL)-Math.max(eK,eJ)>=(eM-eK)>>1){el[eH]=Math.min(eK,eJ);el[eH+1]=Math.max(eM,eL);break}}if(eH<0){eH=el.length;el.push(eK,eM)}return{left:eI.left-em.left,right:eI.right-em.left,top:eH,bottom:null}}function eG(eH){eH.bottom=el[eH.top+1];eH.top=el[eH.top]}for(var eC=0,ep;eC<eq.length;++eC){if(ep=eq[eC]){var ez=ep,eo=null;if(/\bCodeMirror-widget
\b/.test(ep.className)&&ep.getClientRects){if(ep.firstChild.nodeType==1){ez=ep.firstChild}var er=ez.getClientRects();if(er.length>1){eo=eF[eC]=eD(er[0]);eo.rightSide=eD(er[er.length-1])}}if(!eo){eo=eF[eC]=eD(ak(ez))}if(ep.measureRight){eo.right=ak(ep.measureRight).left}if(ep.leftSide){eo.leftSide=eD(ak(ep.leftSide))}}}cB(es.display.measure);for(var eC=0,ep;eC<eF.length;++eC){if(ep=eF[eC]){eG(ep);if(ep.leftSide){eG(ep.leftSide)}if(ep.rightSide){eG(ep.rightSide)}}}return eF}function d9(el,em){var eq=new ec(em.text.slice(0,100),null);if(em.textClass){eq.textClass=em.textClass}var eo=ca(el,eq);var ep=cN(el,eq,0,eo,"left");var en=cN(el,eq,99,eo,"right");return{crude:true,top:ep.top,left:ep.left,bottom:ep.bottom,width:(en.right-ep.left)/100}}function c6(el
,en
){var es
=false;if(en
.markedSpans
){for(var eo
=0;eo
<en
.markedSpans
;++eo
){var eq
=en
.markedSpans
[eo
];if(eq
.collapsed
&&(eq
.to
==null||eq
.to
==en
.text
.length
)){es
=true}}}var ep
=!es
&&dq(el
,en
);if(ep
||en
.text
.length
>=el
.options
.crudeMeasuringFrom
){return cN(el
,en
,en
.text
.length
,ep
&&ep
.measure
,"right").right
}var er
=de(el
,en
,null,true).pre
;var em
=er
.appendChild(aN(el
.display
.measure
));bc(el
.display
.measure
,er
);return ak(em
).right
-ak(el
.display
.lineDiv
).left
}function Q(el
){el
.display
.measureLineCache
.length
=el
.display
.measureLineCachePos
=0;el
.display
.cachedCharWidth
=el
.display
.cachedTextHeight
=null;if(!el
.options
.lineWrapping
){el
.display
.maxLineChanged
=true}el
.display
.lineNumChars
=null}function bG(){return window
.pageXOffset
||(document
.documentElement
||document
.body
).scrollLeft
}function bF(){return window
.pageYOffset
||(document
.documentElement
||document
.body
).scrollTop
}function dd(er
,eo
,eq
,em
){if(eo
.widgets
){for(var en
=0;en
<eo
.widgets
.length
;++en
){if(eo
.widgets
[en
].above
){var et
=bZ(eo
.widgets
[en
]);eq
.top
+=et
;eq
.bottom
+=et
}}}if(em
=="line"){return eq
}if(!em
){em
="local"}var ep
=a7(er
,eo
);if(em
=="local"){ep
+=ds(er
.display
)}else{ep
-=er
.display
.viewOffset
}if(em
=="page"||em
=="window"){var el
=ak(er
.display
.lineSpace
);ep
+=el
.top
+(em
=="window"?0:bF());var es
=el
.left
+(em
=="window"?0:bG());eq
.left
+=es
;eq
.right
+=es
}eq
.top
+=ep
;eq
.bottom
+=ep
;return eq
}function eh(em
,ep
,en
){if(en
=="div"){return ep
}var er
=ep
.left
,eq
=ep
.top
;if(en
=="page"){er
-=bG();eq
-=bF()}else{if(en
=="local"||!en
){var eo
=ak(em
.display
.sizer
);er
+=eo
.left
;eq
+=eo
.top
}}var el
=ak(em
.display
.lineSpace
);return{left
:er
-el
.left
,top
:eq
-el
.top
}}function bS(el
,ep
,eo
,en
,em
){if(!en
){en
=dy(el
.doc
,ep
.line
)}return dd(el
,en
,cN(el
,en
,ep
.ch
,null,em
),eo
)}function cy(eu
,et
,en
,es
,eq
){es
=es
||dy(eu
.doc
,et
.line
);if(!eq
){eq
=a4(eu
,es
)}function ep(ey
,ex
){var ew
=cN(eu
,es
,ey
,eq
,ex
?"right":"left");if(ex
){ew
.left
=ew
.right
}else{ew
.right
=ew
.left
}return dd(eu
,es
,ew
,en
)}function ev(ez
,ew
){var ex
=er
[ew
],ey
=ex
.level
%2;if(ez
==cn(ex
)&&ew
&&ex
.level
<er
[ew
-1].level
){ex
=er
[--ew
];ez
=eg(ex
)-(ex
.level
%2?0:1);ey
=true}else{if(ez
==eg(ex
)&&ew
<er
.length
-1&&ex
.level
<er
[ew
+1].level
){ex
=er
[++ew
];ez
=cn(ex
)-ex
.level
%2;ey
=false}}if(ey
&&ez
==ex
.to
&&ez
>ex
.from){return ep(ez
-1)}return ep(ez
,ey
)}var er
=a(es
),el
=et
.ch
;if(!er
){return ep(el
)}var em
=ag(er
,el
);var eo
=ev(el
,em
);if(dn
!=null){eo
.other
=ev(el
,dn
)}return eo
}function d7(el
,em
,en
,ep
){var eo
=new H(el
,em
);eo
.xRel
=ep
;if(en
){eo
.outside
=true}return eo
}function d2(es
,ep
,eo
){var er
=es
.doc
;eo
+=es
.display
.viewOffset
;if(eo
<0){return d7(er
.first
,0,true,-1)}var em
=a1(er
,eo
),et
=er
.first
+er
.size
-1;if(em
>et
){return d7(er
.first
+er
.size
-1,dy(er
,et
).text
.length
,true,1)}if(ep
<0){ep
=0}for(;;){var en
=dy(er
,em
);var eu
=b0(es
,en
,em
,ep
,eo
);var eq
=cV(en
);var el
=eq
&&eq
.find();if(eq
&&(eu
.ch
>el
.from.ch
||eu
.ch
==el
.from.ch
&&eu
.xRel
>0)){em
=el
.to
.line
}else{return eu
}}}function b0(ev
,en
,ey
,ex
,ew
){var eu
=ew
-a7(ev
,en
);var er
=false,eE
=2*ev
.display
.wrapper
.clientWidth
;var eD
=a4(ev
,en
);function eI(eK
){var eL
=cy(ev
,H(ey
,eK
),"line",en
,eD
);er
=true;if(eu
>eL
.bottom
){return eL
.left
-eE
}else{if(eu
<eL
.top
){return eL
.left
+eE
}else{er
=false}}return eL
.left
}var eA
=a(en
),eC
=en
.text
.length
;var eF
=bN(en
),eo
=bX(en
);var eB
=eI(eF
),el
=er
,em
=eI(eo
),eq
=er
;if(ex
>em
){return d7(ey
,eo
,eq
,1)}for(;;){if(eA
?eo
==eF
||eo
==p(en
,eF
,1):eo
-eF
<=1){var ez
=ex
<eB
||ex
-eB
<=em
-ex
?eF
:eo
;var eH
=ex
-(ez
==eF
?eB
:em
);while(dK
.test(en
.text
.charAt(ez
))){++ez
}var et
=d7(ey
,ez
,ez
==eF
?el
:eq
,eH
<0?-1:eH
?1:0);return et
}var es
=Math
.ceil(eC
/2),eJ=eF+es;if(eA){eJ=eF;for(var eG=0;eG<es;++eG){eJ=p(en,eJ,1)}}var ep=eI(eJ);if(ep>ex){eo=eJ;em=ep;if(eq=er){em+=1000}eC=es}else{eF=eJ;eB=ep;el=er;eC-=es}}}var ah;function at(en){if(en.cachedTextHeight!=null){return en.cachedTextHeight}if(ah==null){ah=d8("pre");for(var em=0;em<49;++em){ah.appendChild(document.createTextNode("x"));ah.appendChild(d8("br"))}ah.appendChild(document.createTextNode("x"))}bc(en.measure,ah);var el=ah.offsetHeight/50;if(el
>3){en
.cachedTextHeight
=el
}cB(en
.measure
);return el
||1}function cq(eo
){if(eo
.cachedCharWidth
!=null){return eo
.cachedCharWidth
}var el
=d8("span","x");var en
=d8("pre",[el
]);bc(eo
.measure
,en
);var em
=el
.offsetWidth
;if(em
>2){eo
.cachedCharWidth
=em
}return em
||10}var cF
=0;function bR(el
){el
.curOp
={changes
:[],forceUpdate
:false,updateInput
:null,userSelChange
:null,textChanged
:null,selectionChanged
:false,cursorActivity
:false,updateMaxLine
:false,updateScrollPos
:false,id
:++cF
};if(!bE
++){aO
=[]}}function T(ez
){var et
=ez
.curOp
,ey
=ez
.doc
,eu
=ez
.display
;ez
.curOp
=null;if(et
.updateMaxLine
){eb(ez
)}if(eu
.maxLineChanged
&&!ez
.options
.lineWrapping
&&eu
.maxLine
){var em
=c6(ez
,eu
.maxLine
);eu
.sizer
.style
.minWidth
=Math
.max(0,em
+3+aJ
)+"px";eu
.maxLineChanged
=false;var ew
=Math
.max(0,eu
.sizer
.offsetLeft
+eu
.sizer
.offsetWidth
-eu
.scroller
.clientWidth
);if(ew
<ey
.scrollLeft
&&!et
.updateScrollPos
){aZ(ez
,Math
.min(eu
.scroller
.scrollLeft
,ew
),true)}}var en
,er
;if(et
.updateScrollPos
){en
=et
.updateScrollPos
}else{if(et
.selectionChanged
&&eu
.scroller
.clientHeight
){var ex
=cy(ez
,ey
.sel
.head
);en
=x(ez
,ex
.left
,ex
.top
,ex
.left
,ex
.bottom
)}}if(et
.changes
.length
||et
.forceUpdate
||en
&&en
.scrollTop
!=null){er
=ct(ez
,et
.changes
,en
&&en
.scrollTop
,et
.forceUpdate
);if(ez
.display
.scroller
.offsetHeight
){ez
.doc
.scrollTop
=ez
.display
.scroller
.scrollTop
}}if(!er
&&et
.selectionChanged
){aY(ez
)}if(et
.updateScrollPos
){var ev
=Math
.max(0,Math
.min(eu
.scroller
.scrollHeight
-eu
.scroller
.clientHeight
,en
.scrollTop
));var eo
=Math
.max(0,Math
.min(eu
.scroller
.scrollWidth
-eu
.scroller
.clientWidth
,en
.scrollLeft
));eu
.scroller
.scrollTop
=eu
.scrollbarV
.scrollTop
=ey
.scrollTop
=ev
;eu
.scroller
.scrollLeft
=eu
.scrollbarH
.scrollLeft
=ey
.scrollLeft
=eo
;c5(ez
);if(et
.scrollToPos
){u(ez
,dY(ez
.doc
,et
.scrollToPos
.from),dY(ez
.doc
,et
.scrollToPos
.to
),et
.scrollToPos
.margin
)}}else{if(en
){ab(ez
)}}if(et
.selectionChanged
){k(ez
)}if(ez
.state
.focused
&&et
.updateInput
){dJ(ez
,et
.userSelChange
)}var es
=et
.maybeHiddenMarkers
,el
=et
.maybeUnhiddenMarkers
;if(es
){for(var eq
=0;eq
<es
.length
;++eq
){if(!es
[eq
].lines
.length
){ae(es
[eq
],"hide")}}}if(el
){for(var eq
=0;eq
<el
.length
;++eq
){if(el
[eq
].lines
.length
){ae(el
[eq
],"unhide")}}}var ep
;if(!--bE
){ep
=aO
;aO
=null}if(et
.textChanged
){ae(ez
,"change",ez
,et
.textChanged
)}if(et
.cursorActivity
){ae(ez
,"cursorActivity",ez
)}if(ep
){for(var eq
=0;eq
<ep
.length
;++eq
){ep
[eq
]()}}}function b2(el
,em
){return function(){var eo
=el
||this,ep
=!eo
.curOp
;if(ep
){bR(eo
)}try{var en
=em
.apply(eo
,arguments
)}finally{if(ep
){T(eo
)}}return en
}}function dS(el
){return function(){var en
=this.cm
&&!this.cm
.curOp
,em
;if(en
){bR(this.cm
)}try{em
=el
.apply(this,arguments
)}finally{if(en
){T(this.cm
)}}return em
}}function bU(em
,eo
){var en
=!em
.curOp
,el
;if(en
){bR(em
)}try{el
=eo()}finally{if(en
){T(em
)}}return el
}function N(el
,eo
,en
,em
){if(eo
==null){eo
=el
.doc
.first
}if(en
==null){en
=el
.doc
.first
+el
.doc
.size
}el
.curOp
.changes
.push({from:eo
,to
:en
,diff
:em
})}function aM(el
){if(el
.display
.pollingFast
){return}el
.display
.poll
.set(el
.options
.pollInterval
,function(){bu(el
);if(el
.state
.focused
){aM(el
)}})}function t(el
){var em
=false;el
.display
.pollingFast
=true;function en(){var eo
=bu(el
);if(!eo
&&!em
){em
=true;el
.display
.poll
.set(60,en
)}else{el
.display
.pollingFast
=false;aM(el
)}}el
.display
.poll
.set(20,en
)}function bu(ew
){var er
=ew
.display
.input
,eo
=ew
.display
.prevInput
,ev
=ew
.doc
,el
=ev
.sel
;if(!ew
.state
.focused
||aS(er
)||P(ew
)||ew
.state
.disableInput
){return false}if(ew
.state
.pasteIncoming
&&ew
.state
.fakedLastChar
){er
.value
=er
.value
.substring(0,er
.value
.length
-1);ew
.state
.fakedLastChar
=false}var ex
=er
.value
;if(ex
==eo
&&dX(el
.from,el
.to
)){return false}if(cs
&&!bx
&&ew
.display
.inputHasSelection
===ex
){dJ(ew
,true);return false}var en
=!ew
.curOp
;if(en
){bR(ew
)}el
.shift
=false;var eq
=0,em
=Math
.min(eo
.length
,ex
.length
);while(eq
<em
&&eo
.charCodeAt(eq
)==ex
.charCodeAt(eq
)){++eq
}var eu
=el
.from,et
=el
.to
;if(eq
<eo
.length
){eu
=H(eu
.line
,eu
.ch
-(eo
.length
-eq
))}else{if(ew
.state
.overwrite
&&dX(eu
,et
)&&!ew
.state
.pasteIncoming
){et
=H(et
.line
,Math
.min(dy(ev
,et
.line
).text
.length
,et
.ch
+(ex
.length
-eq
)))}}var ep
=ew
.curOp
.updateInput
;var es
={from:eu
,to
:et
,text
:av(ex
.slice(eq
)),origin
:ew
.state
.pasteIncoming
?"paste":"+input"};aG(ew
.doc
,es
,"end");ew
.curOp
.updateInput
=ep
;L(ew
,"inputRead",ew
,es
);if(ex
.length
>1000||ex
.indexOf("\n")>-1){er
.value
=ew
.display
.prevInput
=""}else{ew
.display
.prevInput
=ex
}if(en
){T(ew
)}ew
.state
.pasteIncoming
=false;return true}function dJ(el
,en
){var em
,eo
,eq
=el
.doc
;if(!dX(eq
.sel
.from,eq
.sel
.to
)){el
.display
.prevInput
="";em
=b7
&&(eq
.sel
.to
.line
-eq
.sel
.from.line
>100||(eo
=el
.getSelection()).length
>1000);var ep
=em
?"-":eo
||el
.getSelection();el
.display
.input
.value
=ep
;if(el
.state
.focused
){cu(el
.display
.input
)}if(cs
&&!bx
){el
.display
.inputHasSelection
=ep
}}else{if(en
){el
.display
.prevInput
=el
.display
.input
.value
="";if(cs
&&!bx
){el
.display
.inputHasSelection
=null}}}el
.display
.inaccurateSelection
=em
}function c1(el
){if(el
.options
.readOnly
!="nocursor"&&(!cM
||document
.activeElement
!=el
.display
.input
)){el
.display
.input
.focus()}}function P(el
){return el
.options
.readOnly
||el
.doc
.cantEdit
}function d3(em
){var er
=em
.display
;bf(er
.scroller
,"mousedown",b2(em
,cU
));if(cs
){bf(er
.scroller
,"dblclick",b2(em
,function(eu
){if(ao(em
,eu
)){return}var ev
=bA(em
,eu
);if(!ev
||j(em
,eu
)||aB(em
.display
,eu
)){return}bO(eu
);var et
=Y(dy(em
.doc
,ev
.line
).text
,ev
);d5(em
.doc
,et
.from,et
.to
)}))}else{bf(er
.scroller
,"dblclick",function(et
){ao(em
,et
)||bO(et
)})}bf(er
.lineSpace
,"selectstart",function(et
){if(!aB(er
,et
)){bO(et
)}});if(!bQ
){bf(er
.scroller
,"contextmenu",function(et
){aa(em
,et
)})}bf(er
.scroller
,"scroll",function(){if(er
.scroller
.clientHeight
){C(em
,er
.scroller
.scrollTop
);aZ(em
,er
.scroller
.scrollLeft
,true);ae(em
,"scroll",em
)}});bf(er
.scrollbarV
,"scroll",function(){if(er
.scroller
.clientHeight
){C(em
,er
.scrollbarV
.scrollTop
)}});bf(er
.scrollbarH
,"scroll",function(){if(er
.scroller
.clientHeight
){aZ(em
,er
.scrollbarH
.scrollLeft
)}});bf(er
.scroller
,"mousewheel",function(et
){b(em
,et
)});bf(er
.scroller
,"DOMMouseScroll",function(et
){b(em
,et
)});function es(){if(em
.state
.focused
){setTimeout(bH(c1
,em
),0)}}bf(er
.scrollbarH
,"mousedown",es
);bf(er
.scrollbarV
,"mousedown",es
);bf(er
.wrapper
,"scroll",function(){er
.wrapper
.scrollTop
=er
.wrapper
.scrollLeft
=0});var el
;function ep(){if(el
==null){el
=setTimeout(function(){el
=null;er
.cachedCharWidth
=er
.cachedTextHeight
=cW
=null;Q(em
);bU(em
,bH(N
,em
))},100)}}bf(window
,"resize",ep
);function eo(){for(var et
=er
.wrapper
.parentNode
;et
&&et
!=document
.body
;et
=et
.parentNode
){}if(et
){setTimeout(eo
,5000)}else{cK(window
,"resize",ep
)}}setTimeout(eo
,5000);bf(er
.input
,"keyup",b2(em
,function(et
){if(ao(em
,et
)||em
.options
.onKeyEvent
&&em
.options
.onKeyEvent(em
,V(et
))){return}if(et
.keyCode
==16){em
.doc
.sel
.shift
=false}}));bf(er
.input
,"input",function(){if(cs
&&!bx
&&em
.display
.inputHasSelection
){em
.display
.inputHasSelection
=null}t(em
)});bf(er
.input
,"keydown",b2(em
,l
));bf(er
.input
,"keypress",b2(em
,bI
));bf(er
.input
,"focus",bH(bL
,em
));bf(er
.input
,"blur",bH(aq
,em
));function en(et
){if(ao(em
,et
)||em
.options
.onDragEvent
&&em
.options
.onDragEvent(em
,V(et
))){return}cS(et
)}if(em
.options
.dragDrop
){bf(er
.scroller
,"dragstart",function(et
){F(em
,et
)});bf(er
.scroller
,"dragenter",en
);bf(er
.scroller
,"dragover",en
);bf(er
.scroller
,"drop",b2(em
,aI
))}bf(er
.scroller
,"paste",function(et
){if(aB(er
,et
)){return}c1(em
);t(em
)});bf(er
.input
,"paste",function(){if(b1
&&!em
.state
.fakedLastChar
&&!(new Date
-em
.state
.lastMiddleDown
<200)){var eu
=er
.input
.selectionStart
,et
=er
.input
.selectionEnd
;er
.input
.value
+="$";er
.input
.selectionStart
=eu
;er
.input
.selectionEnd
=et
;em
.state
.fakedLastChar
=true}em
.state
.pasteIncoming
=true;t(em
)});function eq(){if(er
.inaccurateSelection
){er
.prevInput
="";er
.inaccurateSelection
=false;er
.input
.value
=em
.getSelection();cu(er
.input
)}}bf(er
.input
,"cut",eq
);bf(er
.input
,"copy",eq
);if(aC
){bf(er
.sizer
,"mouseup",function(){if(document
.activeElement
==er
.input
){er
.input
.blur()}c1(em
)})}}function aB(em
,el
){for(var en
=A(el
);en
!=em
.wrapper
;en
=en
.parentNode
){if(!en
||en
.ignoreEvents
||en
.parentNode
==em
.sizer
&&en
!=em
.mover
){return true}}}function bA(em
,er
,eo
){var eq
=em
.display
;if(!eo
){var ep
=A(er
);if(ep
==eq
.scrollbarH
||ep
==eq
.scrollbarH
.firstChild
||ep
==eq
.scrollbarV
||ep
==eq
.scrollbarV
.firstChild
||ep
==eq
.scrollbarFiller
||ep
==eq
.gutterFiller
){return null}}var el
,es
,en
=ak(eq
.lineSpace
);try{el
=er
.clientX
;es
=er
.clientY
}catch(er
){return null}return d2(em
,el
-en
.left
,es
-en
.top
)}var cf
,b9
;function cU(eD
){if(ao(this,eD
)){return}var eo
=this,ey
=eo
.display
,eF
=eo
.doc
,ew
=eF
.sel
;ew
.shift
=eD
.shiftKey
;if(aB(ey
,eD
)){if(!b1
){ey
.scroller
.draggable
=false;setTimeout(function(){ey
.scroller
.draggable
=true},100)}return}if(j(eo
,eD
)){return}var en
=bA(eo
,eD
);switch(d0(eD
)){case 3:if(bQ
){aa
.call(eo
,eo
,eD
)}return;case 2:if(b1
){eo
.state
.lastMiddleDown
=+new Date
}if(en
){d5(eo
.doc
,en
)}setTimeout(bH(c1
,eo
),20);bO(eD
);return}if(!en
){if(A(eD
)==ey
.scroller
){bO(eD
)}return}if(!eo
.state
.focused
){bL(eo
)}var el
=+new Date
,em
="single";if(b9
&&b9
.time
>el
-400&&dX(b9
.pos
,en
)){em
="triple";bO(eD
);setTimeout(bH(c1
,eo
),20);aL(eo
,en
.line
)}else{if(cf
&&cf
.time
>el
-400&&dX(cf
.pos
,en
)){em
="double";b9
={time
:el
,pos
:en
};bO(eD
);var eA
=Y(dy(eF
,en
.line
).text
,en
);d5(eo
.doc
,eA
.from,eA
.to
)}else{cf
={time
:el
,pos
:en
}}}var ep
=en
;if(eo
.options
.dragDrop
&&db
&&!P(eo
)&&!dX(ew
.from,ew
.to
)&&!dz(en
,ew
.from)&&!dz(ew
.to
,en
)&&em
=="single"){var ez
=b2(eo
,function(eG
){if(b1
){ey
.scroller
.draggable
=false}eo
.state
.draggingText
=false;cK(document
,"mouseup",ez
);cK(ey
.scroller
,"drop",ez
);if(Math
.abs(eD
.clientX
-eG
.clientX
)+Math
.abs(eD
.clientY
-eG
.clientY
)<10){bO(eG
);d5(eo
.doc
,en
);c1(eo
)}});if(b1
){ey
.scroller
.draggable
=true}eo
.state
.draggingText
=ez
;if(ey
.scroller
.dragDrop
){ey
.scroller
.dragDrop()}bf(document
,"mouseup",ez
);bf(ey
.scroller
,"drop",ez
);return}bO(eD
);if(em
=="single"){d5(eo
.doc
,dY(eF
,en
))}var eE
=ew
.from,et
=ew
.to
,ex
=en
;function eB(eH
){if(dX(ex
,eH
)){return}ex
=eH
;if(em
=="single"){d5(eo
.doc
,dY(eF
,en
),eH
);return}eE
=dY(eF
,eE
);et
=dY(eF
,et
);if(em
=="double"){var eG
=Y(dy(eF
,eH
.line
).text
,eH
);if(dz(eH
,eE
)){d5(eo
.doc
,eG
.from,et
)}else{d5(eo
.doc
,eE
,eG
.to
)}}else{if(em
=="triple"){if(dz(eH
,eE
)){d5(eo
.doc
,et
,dY(eF
,H(eH
.line
,0)))}else{d5(eo
.doc
,eE
,dY(eF
,H(eH
.line
+1,0)))}}}}var eu
=ak(ey
.wrapper
);var eq
=0;function eC(eI
){var eG
=++eq
;var eK
=bA(eo
,eI
,true);if(!eK
){return}if(!dX(eK
,ep
)){if(!eo
.state
.focused
){bL(eo
)}ep
=eK
;eB(eK
);var eJ
=bj(ey
,eF
);if(eK
.line
>=eJ
.to
||eK
.line
<eJ
.from){setTimeout(b2(eo
,function(){if(eq
==eG
){eC(eI
)}}),150)}}else{var eH
=eI
.clientY
<eu
.top
?-20:eI
.clientY
>eu
.bottom
?20:0;if(eH
){setTimeout(b2(eo
,function(){if(eq
!=eG
){return}ey
.scroller
.scrollTop
+=eH
;eC(eI
)}),50)}}}function es(eG
){eq
=Infinity
;bO(eG
);c1(eo
);cK(document
,"mousemove",ev
);cK(document
,"mouseup",er
)}var ev
=b2(eo
,function(eG
){if(!cs
&&!d0(eG
)){es(eG
)}else{eC(eG
)}});var er
=b2(eo
,es
);bf(document
,"mousemove",ev
);bf(document
,"mouseup",er
)}function ej(ew
,es
,eu
,ev
,eo
){try{var em
=es
.clientX
,el
=es
.clientY
}catch(es
){return false}if(em
>=Math
.floor(ak(ew
.display
.gutters
).right
)){return false}if(ev
){bO(es
)}var et
=ew
.display
;var er
=ak(et
.lineDiv
);if(el
>er
.bottom
||!dE(ew
,eu
)){return a6(es
)}el
-=er
.top
-et
.viewOffset
;for(var ep
=0;ep
<ew
.options
.gutters
.length
;++ep
){var eq
=et
.gutters
.childNodes
[ep
];if(eq
&&ak(eq
).right
>=em
){var ex
=a1(ew
.doc
,el
);var en
=ew
.options
.gutters
[ep
];eo(ew
,eu
,ew
,ex
,en
,es
);return a6(es
)}}}function cc(el
,em
){if(!dE(el
,"gutterContextMenu")){return false}return ej(el
,em
,"gutterContextMenu",false,ae
)}function j(el
,em
){return ej(el
,em
,"gutterClick",true,L
)}var M
=0;function aI(er
){var et
=this;if(ao(et
,er
)||aB(et
.display
,er
)||(et
.options
.onDragEvent
&&et
.options
.onDragEvent(et
,V(er
)))){return}bO(er
);if(cs
){M
=+new Date
}var es
=bA(et
,er
,true),el
=er
.dataTransfer
.files
;if(!es
||P(et
)){return}if(el
&&el
.length
&&window
.FileReader
&&window
.File
){var en
=el
.length
,ev
=Array(en
),em
=0;var eo=function(ey
,ex
){var ew
=new FileReader
;ew
.onload=function(){ev
[ex
]=ew
.result
;if(++em
==en
){es
=dY(et
.doc
,es
);aG(et
.doc
,{from:es
,to
:es
,text
:av(ev
.join("\n")),origin
:"paste"},"around")}};ew
.readAsText(ey
)};for(var ep
=0;ep
<en
;++ep
){eo(el
[ep
],ep
)}}else{if(et
.state
.draggingText
&&!(dz(es
,et
.doc
.sel
.from)||dz(et
.doc
.sel
.to
,es
))){et
.state
.draggingText(er
);setTimeout(bH(c1
,et
),20);return}try{var ev
=er
.dataTransfer
.getData("Text");if(ev
){var eu
=et
.doc
.sel
.from,eq
=et
.doc
.sel
.to
;bd(et
.doc
,es
,es
);if(et
.state
.draggingText
){aw(et
.doc
,"",eu
,eq
,"paste")}et
.replaceSelection(ev
,null,"paste");c1(et
)}}catch(er
){}}}function F(em
,eo
){if(cs
&&(!em
.state
.draggingText
||+new Date
-M
<100)){cS(eo
);return}if(ao(em
,eo
)||aB(em
.display
,eo
)){return}var el
=em
.getSelection();eo
.dataTransfer
.setData("Text",el
);if(eo
.dataTransfer
.setDragImage
&&!ad
){var en
=d8("img",null,null,"position: fixed; left: 0; top: 0;");en
.src
="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(dQ
){en
.width
=en
.height
=1;em
.display
.wrapper
.appendChild(en
);en
._top
=en
.offsetTop
}eo
.dataTransfer
.setDragImage(en
,0,0);if(dQ
){en
.parentNode
.removeChild(en
)}}}function C(el
,em
){if(Math
.abs(el
.doc
.scrollTop
-em
)<2){return}el
.doc
.scrollTop
=em
;if(!bB
){ct(el
,[],em
)}if(el
.display
.scroller
.scrollTop
!=em
){el
.display
.scroller
.scrollTop
=em
}if(el
.display
.scrollbarV
.scrollTop
!=em
){el
.display
.scrollbarV
.scrollTop
=em
}if(bB
){ct(el
,[])}cL(el
,100)}function aZ(el
,en
,em
){if(em
?en
==el
.doc
.scrollLeft
:Math
.abs(el
.doc
.scrollLeft
-en
)<2){return}en
=Math
.min(en
,el
.display
.scroller
.scrollWidth
-el
.display
.scroller
.clientWidth
);el
.doc
.scrollLeft
=en
;c5(el
);if(el
.display
.scroller
.scrollLeft
!=en
){el
.display
.scroller
.scrollLeft
=en
}if(el
.display
.scrollbarH
.scrollLeft
!=en
){el
.display
.scrollbarH
.scrollLeft
=en
}}var dF
=0,bt
=null;if(cs
){bt
=-0.53}else{if(bB
){bt
=15}else{if(b8
){bt
=-0.7}else{if(ad
){bt
=-1/3}}}}function b(er
,em
){var eu
=em
.wheelDeltaX
,et
=em
.wheelDeltaY
;if(eu
==null&&em
.detail
&&em
.axis
==em
.HORIZONTAL_AXIS
){eu
=em
.detail
}if(et
==null&&em
.detail
&&em
.axis
==em
.VERTICAL_AXIS
){et
=em
.detail
}else{if(et
==null){et
=em
.wheelDelta
}}var eo
=er
.display
,eq
=eo
.scroller
;if(!(eu
&&eq
.scrollWidth
>eq
.clientWidth
||et
&&eq
.scrollHeight
>eq
.clientHeight
)){return}if(et
&&bk
&&b1
){for(var es
=em
.target
;es
!=eq
;es
=es
.parentNode
){if(es
.lineObj
){er
.display
.currentWheelTarget
=es
;break}}}if(eu
&&!bB
&&!dQ
&&bt
!=null){if(et
){C(er
,Math
.max(0,Math
.min(eq
.scrollTop
+et
*bt
,eq
.scrollHeight
-eq
.clientHeight
)))}aZ(er
,Math
.max(0,Math
.min(eq
.scrollLeft
+eu
*bt
,eq
.scrollWidth
-eq
.clientWidth
)));bO(em
);eo
.wheelStartX
=null;return}if(et
&&bt
!=null){var el
=et
*bt
;var ep
=er
.doc
.scrollTop
,en
=ep
+eo
.wrapper
.clientHeight
;if(el
<0){ep
=Math
.max(0,ep
+el
-50)}else{en
=Math
.min(er
.doc
.height
,en
+el
+50)}ct(er
,[],{top
:ep
,bottom
:en
})}if(dF
<20){if(eo
.wheelStartX
==null){eo
.wheelStartX
=eq
.scrollLeft
;eo
.wheelStartY
=eq
.scrollTop
;eo
.wheelDX
=eu
;eo
.wheelDY
=et
;setTimeout(function(){if(eo
.wheelStartX
==null){return}var ev
=eq
.scrollLeft
-eo
.wheelStartX
;var ex
=eq
.scrollTop
-eo
.wheelStartY
;var ew
=(ex
&&eo
.wheelDY
&&ex
/eo.wheelDY)||(ev&&eo.wheelDX&&ev/eo
.wheelDX
);eo
.wheelStartX
=eo
.wheelStartY
=null;if(!ew
){return}bt
=(bt
*dF
+ew
)/(dF+1);++dF},200)}else{eo.wheelDX+=eu;eo.wheelDY+=et}}}function d4(em,ep,el){if(typeof ep=="string"){ep=c3[ep];if(!ep){return false}}if(em.display.pollingFast&&bu(em)){em.display.pollingFast=false}var eq=em.doc,eo=eq.sel.shift,en=false;try{if(P(em)){em.state.suppressEdits=true}if(el){eq.sel.shift=false}en=ep(em)!=bp}finally{eq.sel.shift=eo;em.state.suppressEdits=false}return en}function cj(el){var em=el.state.keyMaps.slice(0);if(el.options.extraKeys){em.push(el.options.extraKeys)}em.push(el.options.keyMap);return em}var W;function dC(el,er){var em=d6(el.options.keyMap),ep=em.auto;clearTimeout(W);if(ep&&!c2(er)){W=setTimeout(function(){if(d6(el.options.keyMap)==em){el.options.keyMap=(ep.call?ep.call(null,el):ep);ei(el)}},50)}var eo=dL(er,true),eq=false;if(!eo){return false}var en=cj(el);if(er.shiftKey){eq=g("Shift-"+eo,en,function(es){return d4(el,es,true)})||g(eo,en,function(es){if(typeof es=="string"?/^go
[A
-Z
]/.test(es):es.motion){return d4(el,es)}})}else{eq=g(eo,en,function(es){return d4(el,es)})}if(eq){bO(er);k(el);if(bx){er.oldKeyCode=er.keyCode;er.keyCode=0}L(el,"keyHandled",el,eo,er)}return eq}function cO(el,eo,em){var en=g("'"+em+"'",cj(el),function(ep){return d4(el,ep,true)});if(en){bO(eo);k(el);L(el,"keyHandled",el,"'"+em+"'",eo)}return en}var ce=null;function l(eo){var el=this;if(!el.state.focused){bL(el)}if(ao(el,eo)||el.options.onKeyEvent&&el.options.onKeyEvent(el,V(eo))){return}if(cs&&eo.keyCode==27){eo.returnValue=false}var em=eo.keyCode;el.doc.sel.shift=em==16||eo.shiftKey;var en=dC(el,eo);if(dQ){ce=en?em:null;if(!en&&em==88&&!b7&&(bk?eo.metaKey:eo.ctrlKey)){el.replaceSelection("")}}}function bI(ep){var el=this;if(ao(el,ep)||el.options.onKeyEvent&&el.options.onKeyEvent(el,V(ep))){return}var eo=ep.keyCode,em=ep.charCode;if(dQ&&eo==ce){ce=null;bO(ep);return}if(((dQ&&(!ep.which||ep.which<10))||aC)&&dC(el,ep)){return}var en=String.fromCharCode(em==null?eo:em);if(this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!P(this)&&this.doc.mode.electricChars.indexOf(en)>-1){setTimeout(b2(el,function(){K(el,el.doc.sel.to.line,"smart")}),75)}if(cO(el,ep,en)){return}if(cs&&!bx){el.display.inputHasSelection=null}t(el)}function bL(el){if(el.options.readOnly=="nocursor"){return}if(!el.state.focused){ae(el,"focus",el);el.state.focused=true;if(el.display.wrapper.className.search(/\bCodeMirror-focused
\b/)==-1){el.display.wrapper.className+=" CodeMirror-focused"}if(!el.curOp){dJ(el,true);if(b1){setTimeout(bH(dJ,el,true),0)}}}aM(el);k(el)}function aq(el){if(el.state.focused){ae(el,"blur",el);el.state.focused=false;el.display.wrapper.className=el.display.wrapper.className.replace(" CodeMirror-focused","")}clearInterval(el.display.blinker);setTimeout(function(){if(!el.state.focused){el.doc.sel.shift=false}},150)}var dU;function aa(ev,eq){if(ao(ev,eq,"contextmenu")){return}var es=ev.display,em=ev.doc.sel;if(aB(es,eq)||cc(ev,eq)){return}var eu=bA(ev,eq),el=es.scroller.scrollTop;if(!eu||dQ){return}var ep=ev.options.resetSelectionOnContextMenu;if(ep&&(dX(em.from,em.to)||dz(eu,em.from)||!dz(eu,em.to))){b2(ev,bd)(ev.doc,eu,eu)}var er=es.input.style.cssText;es.inputDiv.style.position="absolute";es.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(eq.clientY-5)+"px; left: "+(eq.clientX-5)+"px; z-index: 1000; background: white; outline: none;border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);";c1(ev);dJ(ev,true);if(dX(em.from,em.to)){es.input.value=es.prevInput=" "}function eo(){if(es.input.selectionStart!=null){var ew=es.input.value="\u200b"+(dX(em.from,em.to)?"":es.input.value);es.prevInput="\u200b";es.input.selectionStart=1;es.input.selectionEnd=ew.length}}function et(){es.inputDiv.style.position="relative";es.input.style.cssText=er;if(bx){es.scrollbarV.scrollTop=es.scroller.scrollTop=el}aM(ev);if(es.input.selectionStart!=null){if(!cs||bx){eo()}clearTimeout(dU);var ew=0,ex=function(){if(es.prevInput==" "&&es.input.selectionStart==0){b2(ev,c3.selectAll)(ev)}else{if(ew++<10){dU=setTimeout(ex,500)}else{dJ(ev)}}};dU=setTimeout(ex,200)}}if(cs&&!bx){eo()}if(bQ){cS(eq);var en=function(){cK(window,"mouseup",en);setTimeout(et,20)};bf(window,"mouseup",en)}else{setTimeout(et,50)}}var bY=y.changeEnd=function(el){if(!el.text){return el.to}return H(el.from.line+el.text.length-1,dW(el.text).length+(el.text.length==1?el.from.ch:0))};function c4(ep,er,eq){if(!dz(er.from,eq)){return dY(ep,eq)}var eo=(er.text.length-1)-(er.to.line-er.from.line);if(eq.line>er.to.line+eo){var en=eq.line-eo,em=ep.first+ep.size-1;if(en>em){return H(em,dy(ep,em).text.length)}return dM(eq,dy(ep,en).text.length)}if(eq.line==er.to.line+eo){return dM(eq,dW(er.text).length+(er.text.length==1?er.from.ch:0)+dy(ep,er.to.line).text.length-er.to.ch)}var el=eq.line-er.from.line;return dM(eq,er.text[el].length+(el?0:er.from.ch))}function dD(em,ep,en){if(en&&typeof en=="object"){return{anchor:c4(em,ep,en.anchor),head:c4(em,ep,en.head)}}if(en=="start"){return{anchor:ep.from,head:ep.from}}var el=bY(ep);if(en=="around"){return{anchor:ep.from,head:el}}if(en=="end"){return{anchor:el,head:el}}var eo=function(es){if(dz(es,ep.from)){return es}if(!dz(ep.to,es)){return el}var eq=es.line+ep.text.length-(ep.to.line-ep.from.line)-1,er=es.ch;if(es.line==ep.to.line){er+=el.ch-ep.to.ch}return H(eq,er)};return{anchor:eo(em.sel.anchor),head:eo(em.sel.head)}}function cx(em,eo,en){var el={canceled:false,from:eo.from,to:eo.to,text:eo.text,origin:eo.origin,cancel:function(){this.canceled=true}};if(en){el.update=function(es,er,eq,ep){if(es){this.from=dY(em,es)}if(er){this.to=dY(em,er)}if(eq){this.text=eq}if(ep!==undefined){this.origin=ep}}}ae(em,"beforeChange",em,el);if(em.cm){ae(em.cm,"beforeChange",em.cm,el)}if(el.canceled){return null}return{from:el.from,to:el.to,text:el.text,origin:el.origin}}function aG(eo,eq,ep,en){if(eo.cm){if(!eo.cm.curOp){return b2(eo.cm,aG)(eo,eq,ep,en)}if(eo.cm.state.suppressEdits){return}}if(dE(eo,"beforeChange")||eo.cm&&dE(eo.cm,"beforeChange")){eq=cx(eo,eq,true);if(!eq){return}}var em=ef&&!en&&bP(eo,eq.from,eq.to);if(em){for(var el=em.length-1;el>=1;--el){am(eo,{from:em[el].from,to:em[el].to,text:[""]})}if(em.length){am(eo,{from:em[0].from,to:em[0].to,text:eq.text},ep)}}else{am(eo,eq,ep)}}function am(en,ep,eo){if(ep.text.length==1&&ep.text[0]==""&&dX(ep.from,ep.to)){return}var em=dD(en,ep,eo);c8(en,ep,em,en.cm?en.cm.curOp.id:NaN);cJ(en,ep,em,cP(en,ep));var el=[];cE(en,function(er,eq){if(!eq&&cd(el,er.history)==-1){cr(er.history,ep);el.push(er.history)}cJ(er,ep,null,cP(er,ep))})}function bm(eu,er){if(eu.cm&&eu.cm.state.suppressEdits){return}var eq=eu.history;var em=(er=="undo"?eq.done:eq.undone).pop();if(!em){return}var es={changes:[],anchorBefore:em.anchorAfter,headBefore:em.headAfter,anchorAfter:em.anchorBefore,headAfter:em.headBefore,generation:eq.generation};(er=="undo"?eq.undone:eq.done).push(es);eq.generation=em.generation||++eq.maxGeneration;var en=dE(eu,"beforeChange")||eu.cm&&dE(eu.cm,"beforeChange");for(var eo=em.changes.length-1;eo>=0;--eo){var et=em.changes[eo];et.origin=er;if(en&&!cx(eu,et,false)){(er=="undo"?eq.done:eq.undone).length=0;return}es.changes.push(ck(eu,et));var el=eo?dD(eu,et,null):{anchor:em.anchorBefore,head:em.headBefore};cJ(eu,et,el,cG(eu,et));var ep=[];cE(eu,function(ew,ev){if(!ev&&cd(ep,ew.history)==-1){cr(ew.history,et);ep.push(ew.history)}cJ(ew,et,null,cG(ew,et))})}}function dG(el,en){function em(eo){return H(eo.line+en,eo.ch)}el.first+=en;if(el.cm){N(el.cm,el.first,el.first,en)}el.sel.head=em(el.sel.head);el.sel.anchor=em(el.sel.anchor);el.sel.from=em(el.sel.from);el.sel.to=em(el.sel.to)}function cJ(ep,eq,eo,em){if(ep.cm&&!ep.cm.curOp){return b2(ep.cm,cJ)(ep,eq,eo,em)}if(eq.to.line<ep.first){dG(ep,eq.text.length-1-(eq.to.line-eq.from.line));return}if(eq.from.line>ep.lastLine()){return}if(eq.from.line<ep.first){var el=eq.text.length-1-(ep.first-eq.from.line);dG(ep,el);eq={from:H(ep.first,0),to:H(eq.to.line+el,eq.to.ch),text:[dW(eq.text)],origin:eq.origin}}var en=ep.lastLine();if(eq.to.line>en){eq={from:eq.from,to:H(en,dy(ep,en).text.length),text:[eq.text[0]],origin:eq.origin}}eq.removed=ea(ep,eq.from,eq.to);if(!eo){eo=dD(ep,eq,null)}if(ep.cm){ai(ep.cm,eq,em,eo)}else{dR(ep,eq,em,eo)}}function ai(ev,er,eo,el){var eu=ev.doc,eq=ev.display,es=er.from,et=er.to;var em=false,en=es.line;if(!ev.options.lineWrapping){en=a8(s(eu,dy(eu,es.line)));eu.iter(en,et.line+1,function(ey){if(ey==eq.maxLine){em=true;return true}})}if(!dz(eu.sel.head,er.from)&&!dz(er.to,eu.sel.head)){ev.curOp.cursorActivity=true}dR(eu,er,eo,el,aE(ev));if(!ev.options.lineWrapping){eu.iter(en,es.line+er.text.length,function(ez){var ey=cQ(eu,ez);if(ey>eq.maxLineLength){eq.maxLine=ez;eq.maxLineLength=ey;eq.maxLineChanged=true;em=false}});if(em){ev.curOp.updateMaxLine=true}}eu.frontier=Math.min(eu.frontier,es.line);cL(ev,400);var ex=er.text.length-(et.line-es.line)-1;N(ev,es.line,et.line+1,ex);if(dE(ev,"change")){var ep={from:es,to:et,text:er.text,removed:er.removed,origin:er.origin};if(ev.curOp.textChanged){for(var ew=ev.curOp.textChanged;ew.next;ew=ew.next){}ew.next=ep}else{ev.curOp.textChanged=ep}}}function aw(eo,en,eq,ep,el){if(!ep){ep=eq}if(dz(ep,eq)){var em=ep;ep=eq;eq=em}if(typeof en=="string"){en=av(en)}aG(eo,{from:eq,to:ep,text:en,origin:el},null)}function H(el,em){if(!(this instanceof H)){return new H(el,em)}this.line=el;this.ch=em}y.Pos=H;function dX(em,el){return em.line==el.line&&em.ch==el.ch}function dz(em,el){return em.line<el.line||(em.line==el.line&&em.ch<el.ch)}function bv(el){return H(el.line,el.ch)}function b4(el,em){return Math.max(el.first,Math.min(em,el.first+el.size-1))}function dY(em,en){if(en.line<em.first){return H(em.first,0)}var el=em.first+em.size-1;if(en.line>el){return H(el,dy(em,el).text.length)}return dM(en,dy(em,en.line).text.length)}function dM(en,em){var el=en.ch;if(el==null||el>em){return H(en.line,em)}else{if(el<0){return H(en.line,0)}else{return en}}}function bn(em,el){return el>=em.first&&el<em.first+em.size}function d5(ep,eq,el,em){if(ep.sel.shift||ep.sel.extend){var eo=ep.sel.anchor;if(el){var en=dz(eq,eo);if(en!=dz(el,eo)){eo=eq;eq=el}else{if(en!=dz(eq,el)){eq=el}}}bd(ep,eo,eq,em)}else{bd(ep,eq,el||eq,em)}if(ep.cm){ep.cm.curOp.userSelChange=true}}function c(eo,el,em){var en={anchor:el,head:em};ae(eo,"beforeSelectionChange",eo,en);if(eo.cm){ae(eo.cm,"beforeSelectionChange",eo.cm,en)}en.anchor=dY(eo,en.anchor);en.head=dY(eo,en.head);return en}function bd(es,ep,eq,en,em){if(!em&&dE(es,"beforeSelectionChange")||es.cm&&dE(es.cm,"beforeSelectionChange")){var eo=c(es,ep,eq);eq=eo.head;ep=eo.anchor}var er=es.sel;er.goalColumn=null;if(en==null){en=dz(eq,er.head)?-1:1}if(em||!dX(ep,er.anchor)){ep=be(es,ep,en,em!="push")}if(em||!dX(eq,er.head)){eq=be(es,eq,en,em!="push")}if(dX(er.anchor,ep)&&dX(er.head,eq)){return}er.anchor=ep;er.head=eq;var el=dz(eq,ep);er.from=el?eq:ep;er.to=el?ep:eq;if(es.cm){es.cm.curOp.updateInput=es.cm.curOp.selectionChanged=es.cm.curOp.cursorActivity=true}L(es,"cursorActivity",es)}function cX(el){bd(el.doc,el.doc.sel.from,el.doc.sel.to,null,"push")}function be(eu,et,eq,er){var ev=false,en=et;var eo=eq||1;eu.cantEdit=false;search:for(;;){var ew=dy(eu,en.line);if(ew.markedSpans){for(var ep=0;ep<ew.markedSpans.length;++ep){var el=ew.markedSpans[ep],em=el.marker;if((el.from==null||(em.inclusiveLeft?el.from<=en.ch:el.from<en.ch))&&(el.to==null||(em.inclusiveRight?el.to>=en.ch:el.to>en.ch))){if(er){ae(em,"beforeCursorEnter");if(em.explicitlyCleared){if(!ew.markedSpans){break}else{--ep;continue}}}if(!em.atomic){continue}var es=em.find()[eo<0?"from":"to"];if(dX(es,en)){es.ch+=eo;if(es.ch<0){if(es.line>eu.first){es=dY(eu,H(es.line-1))}else{es=null}}else{if(es.ch>ew.text.length){if(es.line<eu.first+eu.size-1){es=H(es.line+1,0)}else{es=null}}}if(!es){if(ev){if(!er){return be(eu,et,eq,true)}eu.cantEdit=true;return H(eu.first,0)}ev=true;es=et;eo=-eo}}en=es;continue search}}}return en}}function ab(em){var ep=u(em,em.doc.sel.head,null,em.options.cursorScrollMargin);if(!em.state.focused){return}var eq=em.display,en=ak(eq.sizer),el=null;if(ep.top+en.top<0){el=true}else{if(ep.bottom+en.top>(window.innerHeight||document.documentElement.clientHeight)){el=false}}if(el!=null&&!dN){var eo=eq.cursor.style.display=="none";if(eo){eq.cursor.style.display="";eq.cursor.style.left=ep.left+"px";eq.cursor.style.top=(ep.top-eq.viewOffset)+"px"}eq.cursor.scrollIntoView(el);if(eo){eq.cursor.style.display="none"}}}function u(eu,es,ep,eo){if(eo==null){eo=0}for(;;){var eq=false,et=cy(eu,es);var el=!ep||ep==es?et:cy(eu,ep);var en=x(eu,Math.min(et.left,el.left),Math.min(et.top,el.top)-eo,Math.max(et.left,el.left),Math.max(et.bottom,el.bottom)+eo);var er=eu.doc.scrollTop,em=eu.doc.scrollLeft;if(en.scrollTop!=null){C(eu,en.scrollTop);if(Math.abs(eu.doc.scrollTop-er)>1){eq=true}}if(en.scrollLeft!=null){aZ(eu,en.scrollLeft);if(Math.abs(eu.doc.scrollLeft-em)>1){eq=true}}if(!eq){return et}}}function w(el,en,ep,em,eo){var eq=x(el,en,ep,em,eo);if(eq.scrollTop!=null){C(el,eq.scrollTop)}if(eq.scrollLeft!=null){aZ(el,eq.scrollLeft)}}function x(er,ez,eo,ey,en){var ew=er.display,ev=at(er.display);if(eo<0){eo=0}var em=ew.scroller.clientHeight-aJ,eu=ew.scroller.scrollTop,et={};var eB=er.doc.height+a3(ew);var eC=eo<ev,ex=en>eB-ev;if(eo<eu){et.scrollTop=eC?0:eo}else{if(en>eu+em){var es=Math.min(eo,(ex?eB:en)-em);if(es!=eu){et.scrollTop=es}}}var eq=ew.scroller.clientWidth-aJ,el=ew.scroller.scrollLeft;ez+=ew.gutters.offsetWidth;ey+=ew.gutters.offsetWidth;var ep=ew.gutters.offsetWidth;var eA=ez<ep+10;if(ez<el+ep||eA){if(eA){ez=0}et.scrollLeft=Math.max(0,ez-10-ep)}else{if(ey>eq+el-3){et.scrollLeft=ey+10-eq}}return et}function v(el,en,em){el.curOp.updateScrollPos={scrollLeft:en==null?el.doc.scrollLeft:en,scrollTop:em==null?el.doc.scrollTop:em}}function bT(em,eo,en){var ep=em.curOp.updateScrollPos||(em.curOp.updateScrollPos={scrollLeft:em.doc.scrollLeft,scrollTop:em.doc.scrollTop});var el=em.display.scroller;ep.scrollTop=Math.max(0,Math.min(el.scrollHeight-el.clientHeight,ep.scrollTop+en));ep.scrollLeft=Math.max(0,Math.min(el.scrollWidth-el.clientWidth,ep.scrollLeft+eo))}function K(ex,eo,ew,en){var ev=ex.doc;if(ew==null){ew="add"}if(ew=="smart"){if(!ex.doc.mode.indent){ew="prev"}else{var em=co(ex,eo)}}var er=ex.options.tabSize;var ey=dy(ev,eo),eq=bb(ey.text,null,er);var el=ey.text.match(/^\s*/
)[0],et
;if(ew
=="smart"){et
=ex
.doc
.mode
.indent(em
,ey
.text
.slice(el
.length
),ey
.text
);if(et
==bp
){if(!en
){return}ew
="prev"}}if(ew
=="prev"){if(eo
>ev
.first
){et
=bb(dy(ev
,eo
-1).text
,null,er
)}else{et
=0}}else{if(ew
=="add"){et
=eq
+ex
.options
.indentUnit
}else{if(ew
=="subtract"){et
=eq
-ex
.options
.indentUnit
}else{if(typeof ew
=="number"){et
=eq
+ew
}}}}et
=Math
.max(0,et
);var eu
="",es
=0;if(ex
.options
.indentWithTabs
){for(var ep
=Math
.floor(et
/er
);ep
;--ep
){es
+=er
;eu
+="\t"}}if(es
<et
){eu
+=bC(et
-es
)}if(eu
!=el
){aw(ex
.doc
,eu
,H(eo
,0),H(eo
,el
.length
),"+input")}else{if(ev
.sel
.head
.line
==eo
&&ev
.sel
.head
.ch
<el
.length
){bd(ev
,H(eo
,el
.length
),H(eo
,el
.length
),1)}}ey
.stateAfter
=null}function cZ(el
,en
,eq
){var ep
=en
,em
=en
,eo
=el
.doc
;if(typeof en
=="number"){em
=dy(eo
,b4(eo
,en
))}else{ep
=a8(en
)}if(ep
==null){return null}if(eq(em
,ep
)){N(el
,ep
,ep
+1)}else{return null}return em
}function aU(eC
,eo
,ew
,ev
,eq
){var et
=eo
.line
,eu
=eo
.ch
,eB
=ew
;var el
=dy(eC
,et
);var ez
=true;function eA(){var eD
=et
+ew
;if(eD
<eC
.first
||eD
>=eC
.first
+eC
.size
){return(ez
=false)}et
=eD
;return el
=dy(eC
,eD
)}function ey(eE
){var eD
=(eq
?p
:O
)(el
,eu
,ew
,true);if(eD
==null){if(!eE
&&eA()){if(eq
){eu
=(ew
<0?bX
:bN
)(el
)}else{eu
=ew
<0?el
.text
.length
:0}}else{return(ez
=false)}}else{eu
=eD
}return true}if(ev
=="char"){ey()}else{if(ev
=="column"){ey(true)}else{if(ev
=="word"||ev
=="group"){var ex
=null,er
=ev
=="group";for(var ep
=true;;ep
=false){if(ew
<0&&!ey(!ep
)){break}var em
=el
.text
.charAt(eu
)||"\n";var en
=bK(em
)?"w":!er
?null:/\s/.test(em
)?null:"p";if(ex
&&ex
!=en
){if(ew
<0){ew
=1;ey()}break}if(en
){ex
=en
}if(ew
>0&&!ey(!ep
)){break}}}}}var es
=be(eC
,H(et
,eu
),eB
,true);if(!ez
){es
.hitSide
=true}return es
}function aQ(et
,eo
,el
,es
){var er
=et
.doc
,eq
=eo
.left
,ep
;if(es
=="page"){var en
=Math
.min(et
.display
.wrapper
.clientHeight
,window
.innerHeight
||document
.documentElement
.clientHeight
);ep
=eo
.top
+el
*(en
-(el
<0?1.5:0.5)*at(et
.display
))}else{if(es
=="line"){ep
=el
>0?eo
.bottom
+3:eo
.top
-3}}for(;;){var em
=d2(et
,eq
,ep
);if(!em
.outside
){break}if(el
<0?ep
<=0:ep
>=er
.height
){em
.hitSide
=true;break}ep
+=el
*5}return em
}function Y(eo
,eq
){var ep
=eq
.ch
,en
=eq
.ch
;if(eo
){if((eq
.xRel
<0||en
==eo
.length
)&&ep
){--ep
}else{++en
}var em
=eo
.charAt(ep
);var el
=bK(em
)?bK
:/\s/.test(em
)?function(er
){return/\s/.test(er
)}:function(er
){return !/\s/.test(er
)&&!bK(er
)};while(ep
>0&&el(eo
.charAt(ep
-1))){--ep
}while(en
<eo
.length
&&el(eo
.charAt(en
))){++en
}}return{from:H(eq
.line
,ep
),to
:H(eq
.line
,en
)}}function aL(el
,em
){d5(el
.doc
,H(em
,0),dY(el
.doc
,H(em
+1,0)))}y
.prototype={constructor:y
,focus:function(){window
.focus();c1(this);t(this)},setOption:function(en
,eo
){var em
=this.options
,el
=em
[en
];if(em
[en
]==eo
&&en
!="mode"){return}em
[en
]=eo
;if(aF
.hasOwnProperty(en
)){b2(this,aF
[en
])(this,eo
,el
)}},getOption:function(el
){return this.options
[el
]},getDoc:function(){return this.doc
},addKeyMap:function(em
,el
){this.state
.keyMaps
[el
?"push":"unshift"](em
)},removeKeyMap:function(em
){var en
=this.state
.keyMaps
;for(var el
=0;el
<en
.length
;++el
){if(en
[el
]==em
||(typeof en
[el
]!="string"&&en
[el
].name
==em
)){en
.splice(el
,1);return true}}},addOverlay
:b2(null,function(el
,em
){var en
=el
.token
?el
:y
.getMode(this.options
,el
);if(en
.startState
){throw new Error("Overlays may not be stateful.")}this.state
.overlays
.push({mode
:en
,modeSpec
:el
,opaque
:em
&&em
.opaque
});this.state
.modeGen
++;N(this)}),removeOverlay
:b2(null,function(el
){var en
=this.state
.overlays
;for(var em
=0;em
<en
.length
;++em
){var eo
=en
[em
].modeSpec
;if(eo
==el
||typeof el
=="string"&&eo
.name
==el
){en
.splice(em
,1);this.state
.modeGen
++;N(this);return}}}),indentLine
:b2(null,function(en
,el
,em
){if(typeof el
!="string"&&typeof el
!="number"){if(el
==null){el
=this.options
.smartIndent
?"smart":"prev"}else{el
=el
?"add":"subtract"}}if(bn(this.doc
,en
)){K(this,en
,el
,em
)}}),indentSelection
:b2(null,function(em
){var en
=this.doc
.sel
;if(dX(en
.from,en
.to
)){return K(this,en
.from.line
,em
)}var eo
=en
.to
.line
-(en
.to
.ch
?0:1);for(var el
=en
.from.line
;el
<=eo
;++el
){K(this,el
,em
)}}),getTokenAt:function(es
,em
){var ep
=this.doc
;es
=dY(ep
,es
);var eo
=co(this,es
.line
,em
),er
=this.doc
.mode
;var el
=dy(ep
,es
.line
);var eq
=new dg(el
.text
,this.options
.tabSize
);while(eq
.pos
<es
.ch
&&!eq
.eol()){eq
.start
=eq
.pos
;var en
=er
.token(eq
,eo
)}return{start
:eq
.start
,end
:eq
.pos
,string
:eq
.current(),className
:en
||null,type
:en
||null,state
:eo
}},getTokenTypeAt:function(eq
){eq
=dY(this.doc
,eq
);var en
=b6(this,dy(this.doc
,eq
.line
));var eo
=0,ep
=(en
.length
-1)/2,em=eq.ch;if(em==0){return en[2]}for(;;){var el=(eo+ep)>>1;if((el?en[el*2-1]:0)>=em){ep=el}else{if(en[el*2+1]<em){eo=el+1}else{return en[el*2+2]}}}},getModeAt:function(em){var el=this.doc.mode;if(!el.innerMode){return el}return y.innerMode(el,this.getTokenAt(em).state).mode},getHelper:function(eo,em){if(!dH.hasOwnProperty(em)){return}var el=dH[em],en=this.getModeAt(eo);return en[em]&&el[en[em]]||en.helperType&&el[en.helperType]||el[en.name]},getStateAfter:function(em,el){var en=this.doc;em=b4(en,em==null?en.first+en.size-1:em);return co(this,em+1,el)},cursorCoords:function(eo,em){var en,el=this.doc.sel;if(eo==null){en=el.head}else{if(typeof eo=="object"){en=dY(this.doc,eo)}else{en=eo?el.from:el.to}}return cy(this,en,em||"page")},charCoords:function(em,el){return bS(this,dY(this.doc,em),el||"page")},coordsChar:function(el,em){el=eh(this,el,em||"page");return d2(this,el.left,el.top)},lineAtHeight:function(el,em){el=eh(this,{top:el,left:0},em||"page").top;return a1(this.doc,el+this.display.viewOffset)},heightAtLine:function(em,ep){var el=false,eo=this.doc.first+this.doc.size-1;if(em<this.doc.first){em=this.doc.first}else{if(em>eo){em=eo;el=true}}var en=dy(this.doc,em);return dd(this,dy(this.doc,em),{top:0,left:0},ep||"page").top+(el?en.height:0)},defaultTextHeight:function(){return at(this.display)},defaultCharWidth:function(){return cq(this.display)},setGutterMarker:b2(null,function(el,em,en){return cZ(this,el,function(eo){var ep=eo.gutterMarkers||(eo.gutterMarkers={});ep[em]=en;if(!en&&dh(ep)){eo.gutterMarkers=null}return true})}),clearGutter:b2(null,function(en){var el=this,eo=el.doc,em=eo.first;eo.iter(function(ep){if(ep.gutterMarkers&&ep.gutterMarkers[en]){ep.gutterMarkers[en]=null;N(el,em,em+1);if(dh(ep.gutterMarkers)){ep.gutterMarkers=null}}++em})}),addLineClass:b2(null,function(en,em,el){return cZ(this,en,function(eo){var ep=em=="text"?"textClass":em=="background"?"bgClass":"wrapClass";if(!eo[ep]){eo[ep]=el}else{if(new RegExp("(?:^|\\s)"+el+"(?:$|\\s)").test(eo[ep])){return false}else{eo[ep]+=" "+el}}return true})}),removeLineClass:b2(null,function(en,em,el){return cZ(this,en,function(ep){var es=em=="text"?"textClass":em=="background"?"bgClass":"wrapClass";var er=ep[es];if(!er){return false}else{if(el==null){ep[es]=null}else{var eq=er.match(new RegExp("(?:^|\\s+)"+el+"(?:$|\\s+)"));if(!eq){return false}var eo=eq.index+eq[0].length;ep[es]=er.slice(0,eq.index)+(!eq.index||eo==er.length?"":" ")+er.slice(eo)||null}}return true})}),addLineWidget:b2(null,function(en,em,el){return a2(this,en,em,el)}),removeLineWidget:function(el){el.clear()},lineInfo:function(el){if(typeof el=="number"){if(!bn(this.doc,el)){return null}var em=el;el=dy(this.doc,el);if(!el){return null}}else{var em=a8(el);if(em==null){return null}}return{line:em,handle:el,text:el.text,gutterMarkers:el.gutterMarkers,textClass:el.textClass,bgClass:el.bgClass,wrapClass:el.wrapClass,widgets:el.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(eq,en,es,eo,eu){var ep=this.display;eq=cy(this,dY(this.doc,eq));var er=eq.bottom,em=eq.left;en.style.position="absolute";ep.sizer.appendChild(en);if(eo=="over"){er=eq.top}else{if(eo=="above"||eo=="near"){var el=Math.max(ep.wrapper.clientHeight,this.doc.height),et=Math.max(ep.sizer.clientWidth,ep.lineSpace.clientWidth);if((eo=="above"||eq.bottom+en.offsetHeight>el)&&eq.top>en.offsetHeight){er=eq.top-en.offsetHeight}else{if(eq.bottom+en.offsetHeight<=el){er=eq.bottom}}if(em+en.offsetWidth>et){em=et-en.offsetWidth}}}en.style.top=er+"px";en.style.left=en.style.right="";if(eu=="right"){em=ep.sizer.clientWidth-en.offsetWidth;en.style.right="0px"}else{if(eu=="left"){em=0}else{if(eu=="middle"){em=(ep.sizer.clientWidth-en.offsetWidth)/2}}en
.style
.left
=em
+"px"}if(es
){w(this,em
,er
,em
+en
.offsetWidth
,er
+en
.offsetHeight
)}},triggerOnKeyDown
:b2(null,l
),execCommand:function(el
){return c3
[el
](this)},findPosH:function(er
,eo
,ep
,em
){var el
=1;if(eo
<0){el
=-1;eo
=-eo
}for(var en
=0,eq
=dY(this.doc
,er
);en
<eo
;++en
){eq
=aU(this.doc
,eq
,el
,ep
,em
);if(eq
.hitSide
){break}}return eq
},moveH
:b2(null,function(el
,em
){var en
=this.doc
.sel
,eo
;if(en
.shift
||en
.extend
||dX(en
.from,en
.to
)){eo
=aU(this.doc
,en
.head
,el
,em
,this.options
.rtlMoveVisually
)}else{eo
=el
<0?en
.from:en
.to
}d5(this.doc
,eo
,eo
,el
)}),deleteH
:b2(null,function(el
,em
){var en
=this.doc
.sel
;if(!dX(en
.from,en
.to
)){aw(this.doc
,"",en
.from,en
.to
,"+delete")}else{aw(this.doc
,"",en
.from,aU(this.doc
,en
.head
,el
,em
,false),"+delete")}this.curOp
.userSelChange
=true}),findPosV:function(eq
,en
,er
,et
){var el
=1,ep
=et
;if(en
<0){el
=-1;en
=-en
}for(var em
=0,es
=dY(this.doc
,eq
);em
<en
;++em
){var eo
=cy(this,es
,"div");if(ep
==null){ep
=eo
.left
}else{eo
.left
=ep
}es
=aQ(this,eo
,el
,er
);if(es
.hitSide
){break}}return es
},moveV
:b2(null,function(el
,em
){var en
=this.doc
.sel
;var ep
=cy(this,en
.head
,"div");if(en
.goalColumn
!=null){ep
.left
=en
.goalColumn
}var eo
=aQ(this,ep
,el
,em
);if(em
=="page"){bT(this,0,bS(this,eo
,"div").top
-ep
.top
)}d5(this.doc
,eo
,eo
,el
);en
.goalColumn
=ep
.left
}),toggleOverwrite:function(el
){if(el
!=null&&el
==this.state
.overwrite
){return}if(this.state
.overwrite
=!this.state
.overwrite
){this.display
.cursor
.className
+=" CodeMirror-overwrite"}else{this.display
.cursor
.className
=this.display
.cursor
.className
.replace(" CodeMirror-overwrite","")}},hasFocus:function(){return this.state
.focused
},scrollTo
:b2(null,function(el
,em
){v(this,el
,em
)}),getScrollInfo:function(){var el
=this.display
.scroller
,em
=aJ
;return{left
:el
.scrollLeft
,top
:el
.scrollTop
,height
:el
.scrollHeight
-em
,width
:el
.scrollWidth
-em
,clientHeight
:el
.clientHeight
-em
,clientWidth
:el
.clientWidth
-em
}},scrollIntoView
:b2(null,function(em
,eo
){if(em
==null){em
={from:this.doc
.sel
.head
,to
:null}}else{if(typeof em
=="number"){em
={from:H(em
,0),to
:null}}else{if(em
.from==null){em
={from:em
,to
:null}}}}if(!em
.to
){em
.to
=em
.from}if(!eo
){eo
=0}var en
=em
;if(em
.from.line
!=null){this.curOp
.scrollToPos
={from:em
.from,to
:em
.to
,margin
:eo
};en
={from:cy(this,em
.from),to
:cy(this,em
.to
)}}var el
=x(this,Math
.min(en
.from.left
,en
.to
.left
),Math
.min(en
.from.top
,en
.to
.top
)-eo
,Math
.max(en
.from.right
,en
.to
.right
),Math
.max(en
.from.bottom
,en
.to
.bottom
)+eo
);v(this,el
.scrollLeft
,el
.scrollTop
)}),setSize
:b2(null,function(en
,el
){function em(eo
){return typeof eo
=="number"||/^\d+$/.test(String(eo
))?eo
+"px":eo
}if(en
!=null){this.display
.wrapper
.style
.width
=em(en
)}if(el
!=null){this.display
.wrapper
.style
.height
=em(el
)}if(this.options
.lineWrapping
){this.display
.measureLineCache
.length
=this.display
.measureLineCachePos
=0}this.curOp
.forceUpdate
=true}),operation:function(el
){return bU(this,el
)},refresh
:b2(null,function(){var el
=this.display
.cachedTextHeight
==null;Q(this);v(this,this.doc
.scrollLeft
,this.doc
.scrollTop
);N(this);if(el
){I(this)}}),swapDoc
:b2(null,function(em
){var el
=this.doc
;el
.cm
=null;cH(this,em
);Q(this);dJ(this,true);v(this,em
.scrollLeft
,em
.scrollTop
);L(this,"swapDoc",this,el
);return el
}),getInputField:function(){return this.display
.input
},getWrapperElement:function(){return this.display
.wrapper
},getScrollerElement:function(){return this.display
.scroller
},getGutterElement:function(){return this.display
.gutters
}};aV(y
);var aF
=y
.optionHandlers
={};var dp
=y
.defaults
={};function n(el
,eo
,en
,em
){y
.defaults
[el
]=eo
;if(en
){aF
[el
]=em
?function(ep
,er
,eq
){if(eq
!=bq
){en(ep
,er
,eq
)}}:en
}}var bq
=y
.Init
={toString:function(){return"CodeMirror.Init"}};n("value","",function(el
,em
){el
.setValue(em
)},true);n("mode",null,function(el
,em
){el
.doc
.modeOption
=em
;aR(el
)},true);n("indentUnit",2,aR
,true);n("indentWithTabs",false);n("smartIndent",true);n("tabSize",4,function(el
){aR(el
);Q(el
);N(el
)},true);n("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(el
,em
){el
.options
.specialChars
=new RegExp(em
.source
+(em
.test("\t")?"":"|\t"),"g");el
.refresh()},true);n("specialCharPlaceholder",dw
,function(el
){el
.refresh()},true);n("electricChars",true);n("rtlMoveVisually",!al
);n("wholeLineUpdateBefore",true);n("theme","default",function(el
){bV(el
);cl(el
)},true);n("keyMap","default",ei
);n("extraKeys",null);n("onKeyEvent",null);n("onDragEvent",null);n("lineWrapping",false,c9
,true);n("gutters",[],function(el
){bs(el
.options
);cl(el
)},true);n("fixedGutter",true,function(el
,em
){el
.display
.gutters
.style
.left
=em
?cA(el
.display
)+"px":"0";el
.refresh()},true);n("coverGutterNextToScrollbar",false,dk
,true);n("lineNumbers",false,function(el
){bs(el
.options
);cl(el
)},true);n("firstLineNumber",1,cl
,true);n("lineNumberFormatter",function(el
){return el
},cl
,true);n("showCursorWhenSelecting",false,aY
,true);n("resetSelectionOnContextMenu",true);n("readOnly",false,function(el
,em
){if(em
=="nocursor"){aq(el
);el
.display
.input
.blur();el
.display
.disabled
=true}else{el
.display
.disabled
=false;if(!em
){dJ(el
,true)}}});n("dragDrop",true);n("cursorBlinkRate",530);n("cursorScrollMargin",0);n("cursorHeight",1);n("workTime",100);n("workDelay",100);n("flattenSpans",true);n("pollInterval",100);n("undoDepth",40,function(el
,em
){el
.doc
.history
.undoDepth
=em
});n("historyEventDelay",500);n("viewportMargin",10,function(el
){el
.refresh()},true);n("maxHighlightLength",10000,function(el
){aR(el
);el
.refresh()},true);n("crudeMeasuringFrom",10000);n("moveInputWithCursor",true,function(el
,em
){if(!em
){el
.display
.inputDiv
.style
.top
=el
.display
.inputDiv
.style
.left
=0}});n("tabindex",null,function(el
,em
){el
.display
.input
.tabIndex
=em
||""});n("autofocus",null);var ci
=y
.modes
={},ap
=y
.mimeModes
={};y
.defineMode=function(el
,en
){if(!y
.defaults
.mode
&&el
!="null"){y
.defaults
.mode
=el
}if(arguments
.length
>2){en
.dependencies
=[];for(var em
=2;em
<arguments
.length
;++em
){en
.dependencies
.push(arguments
[em
])}}ci
[el
]=en
};y
.defineMIME=function(em
,el
){ap
[em
]=el
};y
.resolveMode=function(el
){if(typeof el
=="string"&&ap
.hasOwnProperty(el
)){el
=ap
[el
]}else{if(el
&&typeof el
.name
=="string"&&ap
.hasOwnProperty(el
.name
)){var em
=ap
[el
.name
];el
=bw(em
,el
);el
.name
=em
.name
}else{if(typeof el
=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(el
)){return y
.resolveMode("application/xml")}}}if(typeof el
=="string"){return{name
:el
}}else{return el
||{name
:"null"}}};y
.getMode=function(em
,el
){var el
=y
.resolveMode(el
);var eo
=ci
[el
.name
];if(!eo
){return y
.getMode(em
,"text/plain")}var ep
=eo(em
,el
);if(cg
.hasOwnProperty(el
.name
)){var en
=cg
[el
.name
];for(var eq
in en
){if(!en
.hasOwnProperty(eq
)){continue}if(ep
.hasOwnProperty(eq
)){ep
["_"+eq
]=ep
[eq
]}ep
[eq
]=en
[eq
]}}ep
.name
=el
.name
;return ep
};y
.defineMode("null",function(){return{token:function(el
){el
.skipToEnd()}}});y
.defineMIME("text/plain","null");var cg
=y
.modeExtensions
={};y
.extendMode=function(en
,em
){var el
=cg
.hasOwnProperty(en
)?cg
[en
]:(cg
[en
]={});aj(em
,el
)};y
.defineExtension=function(el
,em
){y
.prototype[el
]=em
};y
.defineDocExtension=function(el
,em
){X
.prototype[el
]=em
};y
.defineOption
=n
;var az
=[];y
.defineInitHook=function(el
){az
.push(el
)};var dH
=y
.helpers
={};y
.registerHelper=function(em
,el
,en
){if(!dH
.hasOwnProperty(em
)){dH
[em
]=y
[em
]={}}dH
[em
][el
]=en
};y
.isWordChar
=bK
;function bi(eo
,el
){if(el
===true){return el
}if(eo
.copyState
){return eo
.copyState(el
)}var en
={};for(var ep
in el
){var em
=el
[ep
];if(em
instanceof Array
){em
=em
.concat([])}en
[ep
]=em
}return en
}y
.copyState
=bi
;function bh(en
,em
,el
){return en
.startState
?en
.startState(em
,el
):true}y
.startState
=bh
;y
.innerMode=function(en
,el
){while(en
.innerMode
){var em
=en
.innerMode(el
);if(!em
||em
.mode
==en
){break}el
=em
.state
;en
=em
.mode
}return em
||{mode
:en
,state
:el
}};var c3
=y
.commands
={selectAll:function(el
){el
.setSelection(H(el
.firstLine(),0),H(el
.lastLine()))},killLine:function(el
){var eo
=el
.getCursor(true),en
=el
.getCursor(false),em
=!dX(eo
,en
);if(!em
&&el
.getLine(eo
.line
).length
==eo
.ch
){el
.replaceRange("",eo
,H(eo
.line
+1,0),"+delete")}else{el
.replaceRange("",eo
,em
?en
:H(eo
.line
),"+delete")}},deleteLine:function(el
){var em
=el
.getCursor().line
;el
.replaceRange("",H(em
,0),H(em
),"+delete")},delLineLeft:function(el
){var em
=el
.getCursor();el
.replaceRange("",H(em
.line
,0),em
,"+delete")},undo:function(el
){el
.undo()},redo:function(el
){el
.redo()},goDocStart:function(el
){el
.extendSelection(H(el
.firstLine(),0))},goDocEnd:function(el
){el
.extendSelection(H(el
.lastLine()))},goLineStart:function(el
){el
.extendSelection(aT(el
,el
.getCursor().line
))},goLineStartSmart:function(em
){var eq
=em
.getCursor(),er
=aT(em
,eq
.line
);var en
=em
.getLineHandle(er
.line
);var el
=a(en
);if(!el
||el
[0].level
==0){var ep
=Math
.max(0,en
.text
.search(/\S
/));var eo=eq.line==er.line&&eq.ch<=ep&&eq.ch;em.extendSelection(H(er.line,eo?0:ep))}else{em.extendSelection(er)}},goLineEnd:function(el){el.extendSelection(cw(el,el.getCursor().line))},goLineRight:function(el){var em=el.charCoords(el.getCursor(),"div").top+5;el.extendSelection(el.coordsChar({left:el.display.lineDiv.offsetWidth+100,top:em},"div"))},goLineLeft:function(el){var em=el.charCoords(el.getCursor(),"div").top+5;el.extendSelection(el.coordsChar({left:0,top:em},"div"))},goLineUp:function(el){el.moveV(-1,"line")},goLineDown:function(el){el.moveV(1,"line")},goPageUp:function(el){el.moveV(-1,"page")},goPageDown:function(el){el.moveV(1,"page")},goCharLeft:function(el){el.moveH(-1,"char")},goCharRight:function(el){el.moveH(1,"char")},goColumnLeft:function(el){el.moveH(-1,"column")},goColumnRight:function(el){el.moveH(1,"column")},goWordLeft:function(el){el.moveH(-1,"word")},goGroupRight:function(el){el.moveH(1,"group")},goGroupLeft:function(el){el.moveH(-1,"group")},goWordRight:function(el){el.moveH(1,"word")},delCharBefore:function(el){el.deleteH(-1,"char")},delCharAfter:function(el){el.deleteH(1,"char")},delWordBefore:function(el){el.deleteH(-1,"word")},delWordAfter:function(el){el.deleteH(1,"word")},delGroupBefore:function(el){el.deleteH(-1,"group")},delGroupAfter:function(el){el.deleteH(1,"group")},indentAuto:function(el){el.indentSelection("smart")},indentMore:function(el){el.indentSelection("add")},indentLess:function(el){el.indentSelection("subtract")},insertTab:function(el){el.replaceSelection("\t","end","+input")},defaultTab:function(el){if(el.somethingSelected()){el.indentSelection("add")}else{el.replaceSelection("\t","end","+input")}},transposeChars:function(el){var en=el.getCursor(),em=el.getLine(en.line);if(en.ch>0&&en.ch<em.length-1){el.replaceRange(em.charAt(en.ch)+em.charAt(en.ch-1),H(en.line,en.ch-1),H(en.line,en.ch+1))}},newlineAndIndent:function(el){b2(el,function(){el.replaceSelection("\n","end","+input");el.indentLine(el.getCursor().line,null,true)})()},toggleOverwrite:function(el){el.toggleOverwrite()}};var du=y.keyMap={};du.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};du.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};du.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft",fallthrough:["basic","emacsy"]};du["default"]=bk?du.macDefault:du.pcDefault;du.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};function d6(el){if(typeof el=="string"){return du[el]}else{return el}}function g(em,eq,eo){function ep(ew){ew=d6(ew);var eu=ew[em];if(eu===false){return"stop"}if(eu!=null&&eo(eu)){return true}if(ew.nofallthrough){return"stop"}var et=ew.fallthrough;if(et==null){return false}if(Object.prototype.toString.call(et)!="[object Array]"){return ep(et)}for(var es=0,ev=et.length;es<ev;++es){var er=ep(et[es]);if(er){return er}}return false}for(var en=0;en<eq.length;++en){var el=ep(eq[en]);if(el){return el!="stop"}}}function c2(em){var el=dA[em.keyCode];return el=="Ctrl"||el=="Alt"||el=="Shift"||el=="Mod"}function dL(em,en){if(dQ&&em.keyCode==34&&em["char"]){return false}var el=dA[em.keyCode];if(el==null||em.altGraphKey){return false}if(em.altKey){el="Alt-"+el}if(ba?em.metaKey:em.ctrlKey){el="Ctrl-"+el}if(ba?em.ctrlKey:em.metaKey){el="Cmd-"+el}if(!en&&em.shiftKey){el="Shift-"+el}return el}y.lookupKey=g;y.isModifierKey=c2;y.keyName=dL;y.fromTextArea=function(es,et){if(!et){et={}}et.value=es.value;if(!et.tabindex&&es.tabindex){et.tabindex=es.tabindex}if(!et.placeholder&&es.placeholder){et.placeholder=es.placeholder}if(et.autofocus==null){var el=document.body;try{el=document.activeElement}catch(en){}et.autofocus=el==es||es.getAttribute("autofocus")!=null&&el==document.body}function ep(){es.value=er.getValue()}if(es.form){bf(es.form,"submit",ep);if(!et.leaveSubmitMethodAlone){var em=es.form,eq=em.submit;try{var eo=em.submit=function(){ep();em.submit=eq;em.submit();em.submit=eo}}catch(en){}}}es.style.display="none";var er=y(function(eu){es.parentNode.insertBefore(eu,es.nextSibling)},et);er.save=ep;er.getTextArea=function(){return es};er.toTextArea=function(){ep();es.parentNode.removeChild(er.getWrapperElement());es.style.display="";if(es.form){cK(es.form,"submit",ep);if(typeof es.form.submit=="function"){es.form.submit=eq}}};return er};function dg(el,em){this.pos=this.start=0;this.string=el;this.tabSize=em||8;this.lastColumnPos=this.lastColumnValue=0}dg.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length){return this.string.charAt(this.pos++)}},eat:function(el){var en=this.string.charAt(this.pos);if(typeof el=="string"){var em=en==el}else{var em=en&&(el.test?el.test(en):el(en))}if(em){++this.pos;return en}},eatWhile:function(el){var em=this.pos;while(this.eat(el)){}return this.pos>em},eatSpace:function(){var el=this.pos;while(/[\s
\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>el},skipToEnd:function(){this.pos=this.string.length},skipTo:function(el){var em=this.string.indexOf(el,this.pos);if(em>-1){this.pos=em;return true}},backUp:function(el){this.pos-=el},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=bb(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start}return this.lastColumnValue},indentation:function(){return bb(this.string,null,this.tabSize)},match:function(ep,em,el){if(typeof ep=="string"){var eq=function(er){return el?er.toLowerCase():er};var eo=this.string.substr(this.pos,ep.length);if(eq(eo)==eq(ep)){if(em!==false){this.pos+=ep.length}return true}}else{var en=this.string.slice(this.pos).match(ep);if(en&&en.index>0){return null}if(en&&em!==false){this.pos+=en[0].length}return en}},current:function(){return this.string.slice(this.start,this.pos)}};y.StringStream=dg;function E(em,el){this.lines=[];this.type=el;this.doc=em}y.TextMarker=E;aV(E);E.prototype.clear=function(){if(this.explicitlyCleared){return}var es=this.doc.cm,em=es&&!es.curOp;if(em){bR(es)}if(dE(this,"clear")){var et=this.find();if(et){L(this,"clear",et.from,et.to)}}var en=null,eq=null;for(var eo=0;eo<this.lines.length;++eo){var eu=this.lines[eo];var er=dt(eu.markedSpans,this);if(er.to!=null){eq=a8(eu)}eu.markedSpans=da(eu.markedSpans,er);if(er.from!=null){en=a8(eu)}else{if(this.collapsed&&!dO(this.doc,eu)&&es){ed(eu,at(es.display))}}}if(es&&this.collapsed&&!es.options.lineWrapping){for(var eo=0;eo<this.lines.length;++eo){var el=s(es.doc,this.lines[eo]),ep=cQ(es.doc,el);if(ep>es.display.maxLineLength){es.display.maxLine=el;es.display.maxLineLength=ep;es.display.maxLineChanged=true}}}if(en!=null&&es){N(es,en,eq+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(es){cX(es)}}if(em){T(es)}};E.prototype.find=function(){var eq,ep;for(var em=0;em<this.lines.length;++em){var el=this.lines[em];var en=dt(el.markedSpans,this);if(en.from!=null||en.to!=null){var eo=a8(el);if(en.from!=null){eq=H(eo,en.from)}if(en.to!=null){ep=H(eo,en.to)}}}if(this.type=="bookmark"){return eq}return eq&&{from:eq,to:ep}};E.prototype.changed=function(){var eo=this.find(),el=this.doc.cm;if(!eo||!el){return}if(this.type!="bookmark"){eo=eo.from}var em=dy(this.doc,eo.line);d1(el,em);if(eo.line>=el.display.showingFrom&&eo.line<el.display.showingTo){for(var en=el.display.lineDiv.firstChild;en;en=en.nextSibling){if(en.lineObj==em){if(en.offsetHeight!=em.height){ed(em,en.offsetHeight)}break}}bU(el,function(){el.curOp.selectionChanged=el.curOp.forceUpdate=el.curOp.updateMaxLine=true})}};E.prototype.attachLine=function(el){if(!this.lines.length&&this.doc.cm){var em=this.doc.cm.curOp;if(!em.maybeHiddenMarkers||cd(em.maybeHiddenMarkers,this)==-1){(em.maybeUnhiddenMarkers||(em.maybeUnhiddenMarkers=[])).push(this)}}this.lines.push(el)};E.prototype.detachLine=function(el){this.lines.splice(cd(this.lines,el),1);if(!this.lines.length&&this.doc.cm){var em=this.doc.cm.curOp;(em.maybeHiddenMarkers||(em.maybeHiddenMarkers=[])).push(this)}};function c7(eu,es,et,ew,eq){if(ew&&ew.shared){return D(eu,es,et,ew,eq)}if(eu.cm&&!eu.cm.curOp){return b2(eu.cm,c7)(eu,es,et,ew,eq)}var ep=new E(eu,eq);if(dz(et,es)||dX(es,et)&&eq=="range"&&!(ew.inclusiveLeft&&ew.inclusiveRight)){return ep}if(ew){aj(ew,ep)}if(ep.replacedWith){ep.collapsed=true;ep.replacedWith=d8("span",[ep.replacedWith],"CodeMirror-widget");if(!ew.handleMouseEvents){ep.replacedWith.ignoreEvents=true}}if(ep.collapsed){ay=true}if(ep.addToHistory){c8(eu,{from:es,to:et,origin:"markText"},{head:eu.sel.head,anchor:eu.sel.anchor},NaN)}var em=es.line,ev=0,eo,en,er=eu.cm,el;eu.iter(em,et.line+1,function(ex){if(er&&ep.collapsed&&!er.options.lineWrapping&&s(eu,ex)==er.display.maxLine){el=true}var ey={from:null,to:null,marker:ep};ev+=ex.text.length;if(em==es.line){ey.from=es.ch;ev-=es.ch}if(em==et.line){ey.to=et.ch;ev-=ex.text.length-et.ch}if(ep.collapsed){if(em==et.line){en=aW(ex,et.ch)}if(em==es.line){eo=aW(ex,es.ch)}else{ed(ex,0)}}br(ex,ey);++em});if(ep.collapsed){eu.iter(es.line,et.line+1,function(ex){if(dO(eu,ex)){ed(ex,0)}})}if(ep.clearOnEnter){bf(ep,"beforeCursorEnter",function(){ep.clear()})}if(ep.readOnly){ef=true;if(eu.history.done.length||eu.history.undone.length){eu.clearHistory()}}if(ep.collapsed){if(eo!=en){throw new Error("Inserting collapsed marker overlapping an existing one")}ep.size=ev;ep.atomic=true}if(er){if(el){er.curOp.updateMaxLine=true}if(ep.className||ep.title||ep.startStyle||ep.endStyle||ep.collapsed){N(er,es.line,et.line+1)}if(ep.atomic){cX(er)}}return ep}function r(eo,em){this.markers=eo;this.primary=em;for(var el=0,en=this;el<eo.length;++el){eo[el].parent=this;bf(eo[el],"clear",function(){en.clear()})}}y.SharedTextMarker=r;aV(r);r.prototype.clear=function(){if(this.explicitlyCleared){return}this.explicitlyCleared=true;for(var el=0;el<this.markers.length;++el){this.markers[el].clear()}L(this,"clear")};r.prototype.find=function(){return this.primary.find()};function D(ep,es,er,el,en){el=aj(el);el.shared=false;var eq=[c7(ep,es,er,el,en)],em=eq[0];var eo=el.replacedWith;cE(ep,function(eu){if(eo){el.replacedWith=eo.cloneNode(true)}eq.push(c7(eu,dY(eu,es),dY(eu,er),el,en));for(var et=0;et<eu.linked.length;++et){if(eu.linked[et].isParent){return}}em=dW(eq)});return new r(eq,em)}function dt(en,el){if(en){for(var em=0;em<en.length;++em){var eo=en[em];if(eo.marker==el){return eo}}}}function da(em,en){for(var eo,el=0;el<em.length;++el){if(em[el]!=en){(eo||(eo=[])).push(em[el])}}return eo}function br(el,em){el.markedSpans=el.markedSpans?el.markedSpans.concat([em]):[em];em.marker.attachLine(el)}function an(em,en,er){if(em){for(var ep=0,es;ep<em.length;++ep){var et=em[ep],eq=et.marker;var el=et.from==null||(eq.inclusiveLeft?et.from<=en:et.from<en);if(el||(eq.inclusiveLeft&&eq.inclusiveRight||eq.type=="bookmark")&&et.from==en&&(!er||!et.marker.insertLeft)){var eo=et.to==null||(eq.inclusiveRight?et.to>=en:et.to>en);(es||(es=[])).push({from:et.from,to:eo?null:et.to,marker:eq})}}}return es}function ac(em,eo,er){if(em){for(var ep=0,es;ep<em.length;++ep){var et=em[ep],eq=et.marker;var en=et.to==null||(eq.inclusiveRight?et.to>=eo:et.to>eo);if(en||eq.type=="bookmark"&&et.from==eo&&(!er||et.marker.insertLeft)){var el=et.from==null||(eq.inclusiveLeft?et.from<=eo:et.from<eo);(es||(es=[])).push({from:el?null:et.from-eo,to:et.to==null?null:et.to-eo,marker:eq})}}}return es}function cP(ex,eu){var et=bn(ex,eu.from.line)&&dy(ex,eu.from.line).markedSpans;var eA=bn(ex,eu.to.line)&&dy(ex,eu.to.line).markedSpans;if(!et&&!eA){return null}var em=eu.from.ch,ep=eu.to.ch,es=dX(eu.from,eu.to);var er=an(et,em,es);var ez=ac(eA,ep,es);var ey=eu.text.length==1,en=dW(eu.text).length+(ey?em:0);if(er){for(var eo=0;eo<er.length;++eo){var ew=er[eo];if(ew.to==null){var eB=dt(ez,ew.marker);if(!eB){ew.to=em}else{if(ey){ew.to=eB.to==null?null:eB.to+en}}}}}if(ez){for(var eo=0;eo<ez.length;++eo){var ew=ez[eo];if(ew.to!=null){ew.to+=en}if(ew.from==null){var eB=dt(er,ew.marker);if(!eB){ew.from=en;if(ey){(er||(er=[])).push(ew)}}}else{ew.from+=en;if(ey){(er||(er=[])).push(ew)}}}}if(ey&&er){for(var eo=0;eo<er.length;++eo){if(er[eo].from!=null&&er[eo].from==er[eo].to&&er[eo].marker.type!="bookmark"){er.splice(eo--,1)}}if(!er.length){er=null}}var eq=[er];if(!ey){var ev=eu.text.length-2,el;if(ev>0&&er){for(var eo=0;eo<er.length;++eo){if(er[eo].to==null){(el||(el=[])).push({from:null,to:null,marker:er[eo].marker})}}}for(var eo=0;eo<ev;++eo){eq.push(el)}eq.push(ez)}return eq}function cG(et,er){var el=bl(et,er);var eu=cP(et,er);if(!el){return eu}if(!eu){return el}for(var eo=0;eo<el.length;++eo){var ep=el[eo],eq=eu[eo];if(ep&&eq){spans:for(var en=0;en<eq.length;++en){var es=eq[en];for(var em=0;em<ep.length;++em){if(ep[em].marker==es.marker){continue spans}}ep.push(es)}}else{if(eq){el[eo]=eq}}}return el}function bP(ev,et,eu){var eo=null;ev.iter(et.line,eu.line+1,function(ew){if(ew.markedSpans){for(var ex=0;ex<ew.markedSpans.length;++ex){var ey=ew.markedSpans[ex].marker;if(ey.readOnly&&(!eo||cd(eo,ey)==-1)){(eo||(eo=[])).push(ey)}}}});if(!eo){return null}var ep=[{from:et,to:eu}];for(var eq=0;eq<eo.length;++eq){var er=eo[eq],em=er.find();for(var en=0;en<ep.length;++en){var el=ep[en];if(dz(el.to,em.from)||dz(em.to,el.from)){continue}var es=[en,1];if(dz(el.from,em.from)||!er.inclusiveLeft&&dX(el.from,em.from)){es.push({from:el.from,to:em.from})}if(dz(em.to,el.to)||!er.inclusiveRight&&dX(el.to,em.to)){es.push({from:em.to,to:el.to})}ep.splice.apply(ep,es);en+=es.length-1}}return ep}function aW(em,eo){var el=ay&&em.markedSpans,eq;if(el){for(var ep,en=0;en<el.length;++en){ep=el[en];if(!ep.marker.collapsed){continue}if((ep.from==null||ep.from<eo)&&(ep.to==null||ep.to>eo)&&(!eq||eq.width<ep.marker.width)){eq=ep.marker}}}return eq}function dc(el){return aW(el,-1)}function cV(el){return aW(el,el.text.length+1)}function s(en,em){var el;while(el=dc(em)){em=dy(en,el.find().from.line)}return em}function dO(ep,em){var el=ay&&em.markedSpans;if(el){for(var eo,en=0;en<el.length;++en){eo=el[en];if(!eo.marker.collapsed){continue}if(eo.from==null){return true}if(eo.marker.replacedWith){continue}if(eo.from==0&&eo.marker.inclusiveLeft&&G(ep,em,eo)){return true}}}}function G(er,em,eo){if(eo.to==null){var el=eo.marker.find().to,ep=dy(er,el.line);return G(er,ep,dt(ep.markedSpans,eo.marker))}if(eo.marker.inclusiveRight&&eo.to==em.text.length){return true}for(var eq,en=0;en<em.markedSpans.length;++en){eq=em.markedSpans[en];if(eq.marker.collapsed&&!eq.marker.replacedWith&&eq.from==eo.to&&(eq.marker.inclusiveLeft||eo.marker.inclusiveRight)&&G(er,em,eq)){return true}}}function ee(el){var en=el.markedSpans;if(!en){return}for(var em=0;em<en.length;++em){en[em].marker.detachLine(el)}el.markedSpans=null}function b3(el,en){if(!en){return}for(var em=0;em<en.length;++em){en[em].marker.attachLine(el)}el.markedSpans=en}var cp=y.LineWidget=function(el,eo,em){if(em){for(var en in em){if(em.hasOwnProperty(en)){this[en]=em[en]}}}this.cm=el;this.node=eo};aV(cp);function B(el){return function(){var en=!this.cm.curOp;if(en){bR(this.cm)}try{var em=el.apply(this,arguments)}finally{if(en){T(this.cm)}}return em}}cp.prototype.clear=B(function(){var em=this.line.widgets,eo=a8(this.line);if(eo==null||!em){return}for(var en=0;en<em.length;++en){if(em[en]==this){em.splice(en--,1)}}if(!em.length){this.line.widgets=null}var el=a7(this.cm,this.line)<this.cm.doc.scrollTop;ed(this.line,Math.max(0,this.line.height-bZ(this)));if(el){bT(this.cm,0,-this.height)}N(this.cm,eo,eo+1)});cp.prototype.changed=B(function(){var el=this.height;this.height=null;var em=bZ(this)-el;if(!em){return}ed(this.line,this.line.height+em);var en=a8(this.line);N(this.cm,en,en+1)});function bZ(el){if(el.height!=null){return el.height}if(!el.node.parentNode||el.node.parentNode.nodeType!=1){bc(el.cm.display.measure,d8("div",[el.node],null,"position: relative"))}return el.height=el.node.offsetHeight}function a2(el,ep,en,em){var eo=new cp(el,en,em);if(eo.noHScroll){el.display.alignWidgets=true}cZ(el,ep,function(er){var es=er.widgets||(er.widgets=[]);if(eo.insertAt==null){es.push(eo)}else{es.splice(Math.min(es.length-1,Math.max(0,eo.insertAt)),0,eo)}eo.line=er;if(!dO(el.doc,er)||eo.showIfHidden){var eq=a7(el,er)<el.doc.scrollTop;ed(er,er.height+bZ(eo));if(eq){bT(el,0,eo.height)}}return true});return eo}var ec=y.Line=function(en,em,el){this.text=en;b3(this,em);this.height=el?el(this):1};aV(ec);ec.prototype.lineNo=function(){return a8(this)};function cR(em,ep,en,el){em.text=ep;if(em.stateAfter){em.stateAfter=null}if(em.styles){em.styles=null}if(em.order!=null){em.order=null}ee(em);b3(em,en);var eo=el?el(em):1;if(eo!=em.height){ed(em,eo)}}function aX(el){el.parent=null;ee(el)}function q(eu,ew,ep,em,eq,eo){var en=ep.flattenSpans;if(en==null){en=eu.options.flattenSpans}var es=0,er=null;var ev=new dg(ew,eu.options.tabSize),el;if(ew==""&&ep.blankLine){ep.blankLine(em)}while(!ev.eol()){if(ev.pos>eu.options.maxHighlightLength){en=false;if(eo){cm(eu,ew,em,ev.pos)}ev.pos=ew.length;el=null}else{el=ep.token(ev,em)}if(!en||er!=el){if(es<ev.start){eq(ev.start,er)}es=ev.start;er=el}ev.start=ev.pos}while(es<ev.pos){var et=Math.min(ev.pos,es+50000);eq(et,er);es=et}}function dT(er,et,el,eo){var es=[er.state.modeGen];q(er,et.text,er.doc.mode,el,function(eu,ev){es.push(eu,ev)},eo);for(var em=0;em<er.state.overlays.length;++em){var ep=er.state.overlays[em],eq=1,en=0;q(er,et.text,ep.mode,true,function(eu,ew){var ey=eq;while(en<eu){var ev=es[eq];if(ev>eu){es.splice(eq,1,eu,es[eq+1],ev)}eq+=2;en=Math.min(eu,ev)}if(!ew){return}if(ep.opaque){es.splice(ey,eq-ey,eu,ew);eq=ey+2}else{for(;ey<eq;ey+=2){var ex=es[ey+1];es[ey+1]=ex?ex+" "+ew:ew}}})}return es}function b6(el,em){if(!em.styles||em.styles[0]!=el.state.modeGen){em.styles=dT(el,em,em.stateAfter=co(el,a8(em)))}return em.styles}function cm(el,eq,en,em){var ep=el.doc.mode;var eo=new dg(eq,el.options.tabSize);eo.start=eo.pos=em||0;if(eq==""&&ep.blankLine){ep.blankLine(en)}while(!eo.eol()&&eo.pos<=el.options.maxHighlightLength){ep.token(eo,en);eo.start=eo.pos}}var cz={};function di(en,em){if(!en){return null}for(;;){var el=en.match(/(?:^|\s
)line
-(background
-)?(\S
+)/);if(!el){break}en=en.slice(0,el.index)+en.slice(el.index+el[0].length);var eo=el[1]?"bgClass":"textClass";if(em[eo]==null){em[eo]=el[2]}else{if(!(new RegExp("(?:^|s)"+el[2]+"(?:$|s)")).test(em[eo])){em[eo]+=" "+el[2]}}}return cz[en]||(cz[en]="cm-"+en.replace(/ +/g," cm-"))}function de(eu,ey,el,ex){var ev,ez=ey,eq=true;while(ev=dc(ez)){ez=dy(eu.doc,ev.find().from.line)}var er={pre:d8("pre"),col:0,pos:0,measure:null,measuredSomething:false,cm:eu,copyWidgets:ex};do{if(ez.text){eq=false}er.measure=ez==ey&⪙er.pos=0;er.addToken=er.measure?e:o;if((cs||b1)&&eu.getOption("lineWrapping")){er.addToken=dV(er.addToken)}var ep=aP(ez,er,b6(eu,ez));if(el&&ez==ey&&!er.measuredSomething){el[0]=er.pre.appendChild(aN(eu.display.measure));er.measuredSomething=true}if(ep){ez=dy(eu.doc,ep.to.line)}}while(ep);if(el&&!er.measuredSomething&&!el[0]){el[0]=er.pre.appendChild(eq?d8("span","\u00a0"):aN(eu.display.measure))}if(!er.pre.firstChild&&!dO(eu.doc,ey)){er.pre.appendChild(document.createTextNode("\u00a0"))}var em;if(el&&(cs||dr)&&(em=a(ez))){var eo=em.length-1;if(em[eo].from==em[eo].to){--eo}var ew=em[eo],en=em[eo-1];if(ew.from+1==ew.to&&en&&ew.level<en.level){var et=el[er.pos-1];if(et){et.parentNode.insertBefore(et.measureRight=aN(eu.display.measure),et.nextSibling)}}}var es=er.textClass?er.textClass+" "+(ey.textClass||""):ey.textClass;if(es){er.pre.className=es}ae(eu,"renderLine",eu,ey,er.pre);return er}function dw(em){var el=d8("span","\u2022","cm-invalidchar");el.title="\\u"+em.charCodeAt(0).toString(16);return el}function o(ep,ey,el,eo,ez,ex){if(!ey){return}var et=ep.cm.options.specialChars;if(!et.test(ey)){ep.col+=ey.length;var es=document.createTextNode(ey)}else{var es=document.createDocumentFragment(),ev=0;while(true){et.lastIndex=ev;var em=et.exec(ey);var er=em?em.index-ev:ey.length-ev;if(er){es.appendChild(document.createTextNode(ey.slice(ev,ev+er)));ep.col+=er}if(!em){break}ev+=er+1;if(em[0]=="\t"){var eq=ep.cm.options.tabSize,eu=eq-ep.col%eq;es.appendChild(d8("span",bC(eu),"cm-tab"));ep.col+=eu}else{var en=ep.cm.options.specialCharPlaceholder(em[0]);es.appendChild(en);ep.col+=1}}}if(el||eo||ez||ep.measure){var ew=el||"";if(eo){ew+=eo}if(ez){ew+=ez}var en=d8("span",[es],ew);if(ex){en.title=ex}return ep.pre.appendChild(en)}ep.pre.appendChild(es)}function e(es,eu,em,ep,ev){var er=es.cm.options.lineWrapping;for(var eq=0;eq<eu.length;++eq){var el=eu.charAt(eq),en=eq==0;if(el>="\ud800"&&el<"\udbff"&&eq<eu.length-1){el=eu.slice(eq,eq+2);++eq}else{if(eq&&er&&bo(eu,eq)){es.pre.appendChild(d8("wbr"))}}var eo=es.measure[es.pos];var et=es.measure[es.pos]=o(es,el,em,en&&ep,eq==eu.length-1&&ev);if(eo){et.leftSide=eo.leftSide||eo}if(cs&&er&&el==" "&&eq&&!/\s
/.test(eu.charAt(eq-1))&&eq<eu.length-1&&!/\s
/.test(eu.charAt(eq+1))){et.style.whiteSpace="normal"}es.pos+=el.length}if(eu.length){es.measuredSomething=true}}function dV(el){function em(en){var eo=" ";for(var ep=0;ep<en.length-2;++ep){eo+=ep%2?" ":"\u00a0"}eo+=" ";return eo}return function(eo,es,ep,en,er,eq){return el(eo,es.replace(/ {3,}/g,em),ep,en,er,eq)}}function J(em,ep,el,eo){var eq=!eo&&el.replacedWith;if(eq){if(em.copyWidgets){eq=eq.cloneNode(true)}em.pre.appendChild(eq);if(em.measure){if(ep){em.measure[em.pos]=eq}else{var en=aN(em.cm.display.measure);if(el.type=="bookmark"&&!el.insertLeft){em.measure[em.pos]=em.pre.appendChild(en)}else{if(em.measure[em.pos]){return}else{em.measure[em.pos]=em.pre.insertBefore(en,eq)}}}em.measuredSomething=true}}em.pos+=ep}function aP(eu,eA,et){var eq=eu.markedSpans,es=eu.text,ey=0;if(!eq){for(var eD=1;eD<et.length;eD+=2){eA.addToken(eA,es.slice(ey,ey=et[eD]),di(et[eD+1],eA))}return}var eE=es.length,ep=0,eD=1,ew="",eF;var eH=0,el,eG,ex,eI,en;for(;;){if(eH==ep){el=eG=ex=eI="";en=null;eH=Infinity;var er=[];for(var eB=0;eB<eq.length;++eB){var eC=eq[eB],ez=eC.marker;if(eC.from<=ep&&(eC.to==null||eC.to>ep)){if(eC.to!=null&&eH>eC.to){eH=eC.to;eG=""}if(ez.className){el+=" "+ez.className}if(ez.startStyle&&eC.from==ep){ex+=" "+ez.startStyle}if(ez.endStyle&&eC.to==eH){eG+=" "+ez.endStyle}if(ez.title&&!eI){eI=ez.title}if(ez.collapsed&&(!en||en.marker.size<ez.size)){en=eC}}else{if(eC.from>ep&&eH>eC.from){eH=eC.from}}if(ez.type=="bookmark"&&eC.from==ep&&ez.replacedWith){er.push(ez)}}if(en&&(en.from||0)==ep){J(eA,(en.to==null?eE:en.to)-ep,en.marker,en.from==null);if(en.to==null){return en.marker.find()}}if(!en&&er.length){for(var eB=0;eB<er.length;++eB){J(eA,0,er[eB])}}}if(ep>=eE){break}var ev=Math.min(eE,eH);while(true){if(ew){var em=ep+ew.length;if(!en){var eo=em>ev?ew.slice(0,ev-ep):ew;eA.addToken(eA,eo,eF?eF+el:el,ex,ep+eo.length==eH?eG:"",eI)}if(em>=ev){ew=ew.slice(ev-ep);ep=ev;break}ep=em;ex=""}ew=es.slice(ey,ey=et[eD++]);eF=di(et[eD++],eA)}}}function dR(eC,et,ep,ex,er){function eo(eD){return ep?ep[eD]:null}function es(eD,eF,eE){cR(eD,eF,eE,er);L(eD,"change",eD,et)}var ey=et.from,em=et.to,ev=et.text;var eu=dy(eC,ey.line),el=dy(eC,em.line);var en=dW(ev),eA=eo(ev.length-1),ew=em.line-ey.line;if(ey.ch==0&&em.ch==0&&en==""&&(!eC.cm||eC.cm.options.wholeLineUpdateBefore)){for(var ez=0,eB=ev.length-1,eq=[];ez<eB;++ez){eq.push(new ec(ev[ez],eo(ez),er))}es(el,el.text,eA);if(ew){eC.remove(ey.line,ew)}if(eq.length){eC.insert(ey.line,eq)}}else{if(eu==el){if(ev.length==1){es(eu,eu.text.slice(0,ey.ch)+en+eu.text.slice(em.ch),eA)}else{for(var eq=[],ez=1,eB=ev.length-1;ez<eB;++ez){eq.push(new ec(ev[ez],eo(ez),er))}eq.push(new ec(en+eu.text.slice(em.ch),eA,er));es(eu,eu.text.slice(0,ey.ch)+ev[0],eo(0));eC.insert(ey.line+1,eq)}}else{if(ev.length==1){es(eu,eu.text.slice(0,ey.ch)+ev[0]+el.text.slice(em.ch),eo(0));eC.remove(ey.line+1,ew)}else{es(eu,eu.text.slice(0,ey.ch)+ev[0],eo(0));es(el,en+el.text.slice(em.ch),eA);for(var ez=1,eB=ev.length-1,eq=[];ez<eB;++ez){eq.push(new ec(ev[ez],eo(ez),er))}if(ew>1){eC.remove(ey.line+1,ew-1)}eC.insert(ey.line+1,eq)}}}L(eC,"change",eC,et);bd(eC,ex.anchor,ex.head,null,true)}function dl(em){this.lines=em;this.parent=null;for(var en=0,eo=em.length,el=0;en<eo;++en){em[en].parent=this;el+=em[en].height}this.height=el}dl.prototype={chunkSize:function(){return this.lines.length},removeInner:function(el,ep){for(var en=el,eo=el+ep;en<eo;++en){var em=this.lines[en];this.height-=em.height;aX(em);L(em,"delete")}this.lines.splice(el,ep)},collapse:function(el){el.splice.apply(el,[el.length,0].concat(this.lines))},insertInner:function(em,en,el){this.height+=el;this.lines=this.lines.slice(0,em).concat(en).concat(this.lines.slice(em));for(var eo=0,ep=en.length;eo<ep;++eo){en[eo].parent=this}},iterN:function(el,eo,en){for(var em=el+eo;el<em;++el){if(en(this.lines[el])){return true}}}};function dP(eo){this.children=eo;var en=0,el=0;for(var em=0,eq=eo.length;em<eq;++em){var ep=eo[em];en+=ep.chunkSize();el+=ep.height;ep.parent=this}this.size=en;this.height=el;this.parent=null}dP.prototype={chunkSize:function(){return this.size},removeInner:function(el,es){this.size-=es;for(var en=0;en<this.children.length;++en){var er=this.children[en],ep=er.chunkSize();if(el<ep){var eo=Math.min(es,ep-el),eq=er.height;er.removeInner(el,eo);this.height-=eq-er.height;if(ep==eo){this.children.splice(en--,1);er.parent=null}if((es-=eo)==0){break}el=0}else{el-=ep}}if(this.size-es<25){var em=[];this.collapse(em);this.children=[new dl(em)];this.children[0].parent=this}},collapse:function(el){for(var em=0,en=this.children.length;em<en;++em){this.children[em].collapse(el)}},insertInner:function(em,et,es){this.size+=et.length;this.height+=es;for(var en=0,ep=this.children.length;en<ep;++en){var el=this.children[en],eq=el.chunkSize();if(em<=eq){el.insertInner(em,et,es);if(el.lines&&el.lines.length>50){while(el.lines.length>50){var eo=el.lines.splice(el.lines.length-25,25);var er=new dl(eo);el.height-=er.height;this.children.splice(en+1,0,er);er.parent=this}this.maybeSpill()}break}em-=eq}},maybeSpill:function(){if(this.children.length<=10){return}var eo=this;do{var em=eo.children.splice(eo.children.length-5,5);var en=new dP(em);if(!eo.parent){var ep=new dP(eo.children);ep.parent=eo;eo.children=[ep,en];eo=ep}else{eo.size-=en.size;eo.height-=en.height;var el=cd(eo.parent.children,eo);eo.parent.children.splice(el+1,0,en)}en.parent=eo.parent}while(eo.children.length>10);eo.parent.maybeSpill()},iterN:function(el,es,er){for(var em=0,ep=this.children.length;em<ep;++em){var eq=this.children[em],eo=eq.chunkSize();if(el<eo){var en=Math.min(es,eo-el);if(eq.iterN(el,en,er)){return true}if((es-=en)==0){break}el=0}else{el-=eo}}}};var bD=0;var X=y.Doc=function(en,em,el){if(!(this instanceof X)){return new X(en,em,el)}if(el==null){el=0}dP.call(this,[new dl([new ec("",null)])]);this.first=el;this.scrollTop=this.scrollLeft=0;this.cantEdit=false;this.history=Z();this.cleanGeneration=1;this.frontier=el;var eo=H(el,0);this.sel={from:eo,to:eo,head:eo,anchor:eo,shift:false,extend:false,goalColumn:null};this.id=++bD;this.modeOption=em;if(typeof en=="string"){en=av(en)}dR(this,{from:eo,to:eo,text:en},null,{head:eo,anchor:eo})};X.prototype=bw(dP.prototype,{constructor:X,iter:function(en,em,el){if(el){this.iterN(en-this.first,em-en,el)}else{this.iterN(this.first,this.first+this.size,en)}},insert:function(em,en){var el=0;for(var eo=0,ep=en.length;eo<ep;++eo){el+=en[eo].height}this.insertInner(em-this.first,en,el)},remove:function(el,em){this.removeInner(el-this.first,em)},getValue:function(em){var el=ax(this,this.first,this.first+this.size);if(em===false){return el}return el.join(em||"\n")},setValue:function(em){var en=H(this.first,0),el=this.first+this.size-1;aG(this,{from:en,to:H(el,dy(this,el).text.length),text:av(em),origin:"setValue"},{head:en,anchor:en},true)},replaceRange:function(em,eo,en,el){eo=dY(this,eo);en=en?dY(this,en):eo;aw(this,em,eo,en,el)},getRange:function(eo,en,em){var el=ea(this,dY(this,eo),dY(this,en));if(em===false){return el}return el.join(em||"\n")},getLine:function(em){var el=this.getLineHandle(em);return el&&el.text},setLine:function(el,em){if(bn(this,el)){aw(this,em,H(el,0),dY(this,H(el)))}},removeLine:function(el){if(el){aw(this,"",dY(this,H(el-1)),dY(this,H(el)))}else{aw(this,"",H(0,0),dY(this,H(1,0)))}},getLineHandle:function(el){if(bn(this,el)){return dy(this,el)}},getLineNumber:function(el){return a8(el)},getLineHandleVisualStart:function(el){if(typeof el=="number"){el=dy(this,el)}return s(this,el)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(el){return dY(this,el)},getCursor:function(en){var el=this.sel,em;if(en==null||en=="head"){em=el.head}else{if(en=="anchor"){em=el.anchor}else{if(en=="end"||en===false){em=el.to}else{em=el.from}}}return bv(em)},somethingSelected:function(){return !dX(this.sel.head,this.sel.anchor)},setCursor:dS(function(el,em,eo){var en=dY(this,typeof el=="number"?H(el,em||0):el);if(eo){d5(this,en)}else{bd(this,en,en)}}),setSelection:dS(function(em,en,el){bd(this,dY(this,em),dY(this,en||em),el)}),extendSelection:dS(function(en,em,el){d5(this,dY(this,en),em&&dY(this,em),el)}),getSelection:function(el){return this.getRange(this.sel.from,this.sel.to,el)},replaceSelection:function(em,en,el){aG(this,{from:this.sel.from,to:this.sel.to,text:av(em),origin:el},en||"around")},undo:dS(function(){bm(this,"undo")}),redo:dS(function(){bm(this,"redo")}),setExtending:function(el){this.sel.extend=el},historySize:function(){var el=this.history;return{undo:el.done.length,redo:el.undone.length}},clearHistory:function(){this.history=Z(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){this.history.lastOp=this.history.lastOrigin=null;return this.history.generation},isClean:function(el){return this.history.generation==(el||this.cleanGeneration)},getHistory:function(){return{done:a9(this.history.done),undone:a9(this.history.undone)}},setHistory:function(em){var el=this.history=Z(this.history.maxGeneration);el.done=em.done.slice(0);el.undone=em.undone.slice(0)},markText:function(en,em,el){return c7(this,dY(this,en),dY(this,em),el,"range")},setBookmark:function(en,el){var em={replacedWith:el&&(el.nodeType==null?el.widget:el),insertLeft:el&&el.insertLeft};en=dY(this,en);return c7(this,en,en,em,"bookmark")},findMarksAt:function(ep){ep=dY(this,ep);var eo=[],em=dy(this,ep.line).markedSpans;if(em){for(var el=0;el<em.length;++el){var en=em[el];if((en.from==null||en.from<=ep.ch)&&(en.to==null||en.to>=ep.ch)){eo.push(en.marker.parent||en.marker)}}}return eo},getAllMarks:function(){var el=[];this.iter(function(en){var em=en.markedSpans;if(em){for(var eo=0;eo<em.length;++eo){if(em[eo].from!=null){el.push(em[eo].marker)}}}});return el},posFromIndex:function(em){var el,en=this.first;this.iter(function(eo){var ep=eo.text.length+1;if(ep>em){el=em;return true}em-=ep;++en});return dY(this,H(en,el))},indexFromPos:function(em){em=dY(this,em);var el=em.ch;if(em.line<this.first||em.ch<0){return 0}this.iter(this.first,em.line,function(en){el+=en.text.length+1});return el},copy:function(el){var em=new X(ax(this,this.first,this.first+this.size),this.modeOption,this.first);em.scrollTop=this.scrollTop;em.scrollLeft=this.scrollLeft;em.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:false,goalColumn:this.sel.goalColumn};if(el){em.history.undoDepth=this.history.undoDepth;em.setHistory(this.getHistory())}return em},linkedDoc:function(el){if(!el){el={}}var eo=this.first,en=this.first+this.size;if(el.from!=null&&el.from>eo){eo=el.from}if(el.to!=null&&el.to<en){en=el.to}var em=new X(ax(this,eo,en),el.mode||this.modeOption,eo);if(el.sharedHist){em.history=this.history}(this.linked||(this.linked=[])).push({doc:em,sharedHist:el.sharedHist});em.linked=[{doc:this,isParent:true,sharedHist:el.sharedHist}];return em},unlinkDoc:function(em){if(em instanceof y){em=em.doc}if(this.linked){for(var en=0;en<this.linked.length;++en){var eo=this.linked[en];if(eo.doc!=em){continue}this.linked.splice(en,1);em.unlinkDoc(this);break}}if(em.history==this.history){var el=[em.id];cE(em,function(ep){el.push(ep.id)},true);em.history=Z();em.history.done=a9(this.history.done,el);em.history.undone=a9(this.history.undone,el)}},iterLinkedDocs:function(el){cE(this,el)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});X.prototype.eachLine=X.prototype.iter;var d="iter insert remove copy getEditor".split(" ");for(var a5 in X.prototype){if(X.prototype.hasOwnProperty(a5)&&cd(d,a5)<0){y.prototype[a5]=(function(el){return function(){return el.apply(this.doc,arguments)}})(X.prototype[a5])}}aV(X);function cE(eo,en,em){function el(eu,es,eq){if(eu.linked){for(var er=0;er<eu.linked.length;++er){var ep=eu.linked[er];if(ep.doc==es){continue}var et=eq&&ep.sharedHist;if(em&&!et){continue}en(ep.doc,et);el(ep.doc,eu,et)}}}el(eo,null,true)}function cH(el,em){if(em.cm){throw new Error("This document is already in use.")}el.doc=em;em.cm=el;I(el);aR(el);if(!el.options.lineWrapping){eb(el)}el.options.mode=em.modeOption;N(el)}function dy(el,ep){ep-=el.first;while(!el.lines){for(var em=0;;++em){var eo=el.children[em],en=eo.chunkSize();if(ep<en){el=eo;break}ep-=en}}return el.lines[ep]}function ea(en,ep,el){var em=[],eo=ep.line;en.iter(ep.line,el.line+1,function(eq){var er=eq.text;if(eo==el.line){er=er.slice(0,el.ch)}if(eo==ep.line){er=er.slice(ep.ch)}em.push(er);++eo});return em}function ax(em,eo,en){var el=[];em.iter(eo,en,function(ep){el.push(ep.text)});return el}function ed(em,el){var en=el-em.height;for(var eo=em;eo;eo=eo.parent){eo.height+=en}}function a8(el){if(el.parent==null){return null}var ep=el.parent,eo=cd(ep.lines,el);for(var em=ep.parent;em;ep=em,em=em.parent){for(var en=0;;++en){if(em.children[en]==ep){break}eo+=em.children[en].chunkSize()}}return eo+ep.first}function a1(er,ep){var en=er.first;outer:do{for(var eo=0,eq=er.children.length;eo<eq;++eo){var em=er.children[eo],el=em.height;if(ep<el){er=em;continue outer}ep-=el;en+=em.chunkSize()}return en}while(!er.lines);for(var eo=0,eq=er.lines.length;eo<eq;++eo){var et=er.lines[eo],es=et.height;if(ep<es){break}ep-=es}return en+eo}function a7(el,eo){eo=s(el.doc,eo);var eq=0,en=eo.parent;for(var ep=0;ep<en.lines.length;++ep){var em=en.lines[ep];if(em==eo){break}else{eq+=em.height}}for(var er=en.parent;er;en=er,er=en.parent){for(var ep=0;ep<er.children.length;++ep){var es=er.children[ep];if(es==en){break}else{eq+=es.height}}}return eq}function a(em){var el=em.order;if(el==null){el=em.order=aH(em.text)}return el}function Z(el){return{done:[],undone:[],undoDepth:Infinity,lastTime:0,lastOp:null,lastOrigin:null,generation:el||1,maxGeneration:el||1}}function bg(em,eq,ep,eo){var el=eq["spans_"+em.id],en=0;em.iter(Math.max(em.first,ep),Math.min(em.first+em.size,eo),function(er){if(er.markedSpans){(el||(el=eq["spans_"+em.id]={}))[en]=er.markedSpans}++en})}function ck(el,eo){var en={line:eo.from.line,ch:eo.from.ch};var em={from:en,to:bY(eo),text:ea(el,eo.from,eo.to)};bg(el,em,eo.from.line,eo.to.line+1);cE(el,function(ep){bg(ep,em,eo.from.line,eo.to.line+1)},true);return em}function c8(eq,es,ep,el){var eo=eq.history;eo.undone.length=0;var en=+new Date,er=dW(eo.done);if(er&&(eo.lastOp==el||eo.lastOrigin==es.origin&&es.origin&&((es.origin.charAt(0)=="+"&&eq.cm&&eo.lastTime>en-eq.cm.options.historyEventDelay)||es.origin.charAt(0)=="*"))){var em=dW(er.changes);if(dX(es.from,es.to)&&dX(es.from,em.to)){em.to=bY(es)}else{er.changes.push(ck(eq,es))}er.anchorAfter=ep.anchor;er.headAfter=ep.head}else{er={changes:[ck(eq,es)],generation:eo.generation,anchorBefore:eq.sel.anchor,headBefore:eq.sel.head,anchorAfter:ep.anchor,headAfter:ep.head};eo.done.push(er);eo.generation=++eo.maxGeneration;while(eo.done.length>eo.undoDepth){eo.done.shift()}}eo.lastTime=en;eo.lastOp=el;eo.lastOrigin=es.origin}function aK(en){if(!en){return null}for(var em=0,el;em<en.length;++em){if(en[em].marker.explicitlyCleared){if(!el){el=en.slice(0,em)}}else{if(el){el.push(en[em])}}}return !el?en:el.length?el:null}function bl(eo,ep){var en=ep["spans_"+eo.id];if(!en){return null}for(var em=0,el=[];em<ep.text.length;++em){el.push(aK(en[em]))}return el}function a9(ev,eo){for(var er=0,em=[];er<ev.length;++er){var en=ev[er],et=en.changes,eu=[];em.push({changes:eu,anchorBefore:en.anchorBefore,headBefore:en.headBefore,anchorAfter:en.anchorAfter,headAfter:en.headAfter});for(var eq=0;eq<et.length;++eq){var es=et[eq],ep;eu.push({from:es.from,to:es.to,text:es.text});if(eo){for(var el in es){if(ep=el.match(/^spans_(\d
+)$/)){if(cd(eo,Number(ep[1]))>-1){dW(eu)[el]=es[el];delete es[el]}}}}}}return em}function dj(eo,en,em,el){if(em<eo.line){eo.line+=el}else{if(en<eo.line){eo.line=en;eo.ch=0}}}function dB(eo,eq,er,es){for(var en=0;en<eo.length;++en){var el=eo[en],ep=true;for(var em=0;em<el.changes.length;++em){var et=el.changes[em];if(!el.copied){et.from=bv(et.from);et.to=bv(et.to)}if(er<et.from.line){et.from.line+=es;et.to.line+=es}else{if(eq<=et.to.line){ep=false;break}}}if(!el.copied){el.anchorBefore=bv(el.anchorBefore);el.headBefore=bv(el.headBefore);el.anchorAfter=bv(el.anchorAfter);el.readAfter=bv(el.headAfter);el.copied=true}if(!ep){eo.splice(0,en+1);en=0}else{dj(el.anchorBefore);dj(el.headBefore);dj(el.anchorAfter);dj(el.headAfter)}}}function cr(em,ep){var eo=ep.from.line,en=ep.to.line,el=ep.text.length-(en-eo)-1;dB(em.done,eo,en,el);dB(em.undone,eo,en,el)}function df(){cS(this)}function V(el){if(!el.stop){el.stop=df}return el}function bO(el){if(el.preventDefault){el.preventDefault()}else{el.returnValue=false}}function ch(el){if(el.stopPropagation){el.stopPropagation()}else{el.cancelBubble=true}}function a6(el){return el.defaultPrevented!=null?el.defaultPrevented:el.returnValue==false}function cS(el){bO(el);ch(el)}y.e_stop=cS;y.e_preventDefault=bO;y.e_stopPropagation=ch;function A(el){return el.target||el.srcElement}function d0(em){var el=em.which;if(el==null){if(em.button&1){el=1}else{if(em.button&2){el=3}else{if(em.button&4){el=2}}}}if(bk&&em.ctrlKey&&el==1){el=3}return el}function bf(eo,em,en){if(eo.addEventListener){eo.addEventListener(em,en,false)}else{if(eo.attachEvent){eo.attachEvent("on"+em,en)}else{var ep=eo._handlers||(eo._handlers={});var el=ep[em]||(ep[em]=[]);el.push(en)}}}function cK(ep,en,eo){if(ep.removeEventListener){ep.removeEventListener(en,eo,false)}else{if(ep.detachEvent){ep.detachEvent("on"+en,eo)}else{var el=ep._handlers&&ep._handlers[en];if(!el){return}for(var em=0;em<el.length;++em){if(el[em]==eo){el.splice(em,1);break}}}}}function ae(ep,eo){var el=ep._handlers&&ep._handlers[eo];if(!el){return}var em=Array.prototype.slice.call(arguments,2);for(var en=0;en<el.length;++en){el[en].apply(null,em)}}var aO,bE=0;function L(eq,ep){var el=eq._handlers&&eq._handlers[ep];if(!el){return}var en=Array.prototype.slice.call(arguments,2);if(!aO){++bE;aO=[];setTimeout(c0,0)}function em(er){return function(){er.apply(null,en)}}for(var eo=0;eo<el.length;++eo){aO.push(em(el[eo]))}}function ao(el,en,em){ae(el,em||en.type,el,en);return a6(en)||en.codemirrorIgnore}function c0(){--bE;var el=aO;aO=null;for(var em=0;em<el.length;++em){el[em]()}}function dE(en,em){var el=en._handlers&&en._handlers[em];return el&&el.length>0}y.on=bf;y.off=cK;y.signal=ae;function aV(el){el.prototype.on=function(em,en){bf(this,em,en)};el.prototype.off=function(em,en){cK(this,em,en)}}var aJ=30;var bp=y.Pass={toString:function(){return"CodeMirror.Pass"}};function ek(){this.id=null}ek.prototype={set:function(el,em){clearTimeout(this.id);this.id=setTimeout(em,el)}};function bb(en,el,ep,eq,em){if(el==null){el=en.search(/[^\s
\u00a0]/);if(el==-1){el=en.length}}for(var eo=eq||0,er=em||0;eo<el;++eo){if(en.charAt(eo)=="\t"){er+=ep-(er%ep)}else{++er}}return er}y.countColumn=bb;var au=[""];function bC(el){while(au.length<=el){au.push(dW(au)+" ")}return au[el]}function dW(el){return el[el.length-1]}function cu(em){if(dm){em.selectionStart=0;em.selectionEnd=em.value.length}else{try{em.select()}catch(el){}}}function cd(eo,el){if(eo.indexOf){return eo.indexOf(el)}for(var em=0,en=eo.length;em<en;++em){if(eo[em]==el){return em}}return -1}function bw(eo,em){function el(){}el.prototype=eo;var en=new el();if(em){aj(em,en)}return en}function aj(em,el){if(!el){el={}}for(var en in em){if(em.hasOwnProperty(en)){el[en]=em[en]}}return el}function R(en){for(var el=[],em=0;em<en;++em){el.push(undefined)}return el}function bH(em){var el=Array.prototype.slice.call(arguments,1);return function(){return em.apply(null,el)}}var aD=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function bK(el){return/\w
/.test(el)||el>"\x80"&&(el.toUpperCase()!=el.toLowerCase()||aD.test(el))}function dh(el){for(var em in el){if(el.hasOwnProperty(em)&&el[em]){return false}}return true}var dK=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\u1DC0–\u1DFF\u20D0–\u20FF\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff\uFE20–\uFE2F]/;function d8(el,ep,eo,en){var eq=document.createElement(el);if(eo){eq.className=eo}if(en){eq.style.cssText=en}if(typeof ep=="string"){m(eq,ep)}else{if(ep){for(var em=0;em<ep.length;++em){eq.appendChild(ep[em])}}}return eq}function cB(em){for(var el=em.childNodes.length;el>0;--el){em.removeChild(em.firstChild)}return em}function bc(el,em){return cB(el).appendChild(em)}function m(el,em){if(bx){el.innerHTML="";el.appendChild(document.createTextNode(em))}else{el.textContent=em}}function ak(el){return el.getBoundingClientRect()}y.replaceGetRect=function(el){ak=el};var db=function(){if(bx){return false}var el=d8("div");return"draggable" in el||"dragDrop" in el}();function bo(){return false}if(bB){bo=function(em,el){return em.charCodeAt(el-1)==36&&em.charCodeAt(el)==39}}else{if(ad&&!/Version
\/([6-9]|\d\d)\b/.test(navigator
.userAgent
)){bo=function(em
,el
){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(em
.slice(el
-1,el
+1))}}else{if(b1
&&/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator
.userAgent
)){bo=function(en
,el
){var em
=en
.charCodeAt(el
-1);return em
>=8208&&em
<=8212}}else{if(b1
){bo=function(em
,el
){if(el
>1&&em
.charCodeAt(el
-1)==45){if(/\w/.test(em
.charAt(el
-2))&&/[^\-?\.]/.test(em
.charAt(el
))){return true}if(el
>2&&/[\d\.,]/.test(em
.charAt(el
-2))&&/[\d\.,]/.test(em
.charAt(el
))){return false}}return/[~!#%&*)=+}\]\\|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|…[\w~`@#$%\^&*(_=+{[><]/.test(em
.slice(el
-1,el
+1))}}}}}var cW
;function i(el
){if(cW
!=null){return cW
}var em
=d8("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");bc(el
,em
);if(em
.offsetWidth
){cW
=em
.offsetHeight
-em
.clientHeight
}return cW
||0}var dZ
;function aN(el
){if(dZ
==null){var em
=d8("span","\u200b");bc(el
,d8("span",[em
,document
.createTextNode("x")]));if(el
.firstChild
.offsetHeight
!=0){dZ
=em
.offsetWidth
<=1&&em
.offsetHeight
>2&&!by
}}if(dZ
){return d8("span","\u200b")}else{return d8("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var av
="\n\nb".split(/\n/).length
!=3?function(eq
){var er
=0,el
=[],ep
=eq
.length
;while(er
<=ep
){var eo
=eq
.indexOf("\n",er
);if(eo
==-1){eo
=eq
.length
}var en
=eq
.slice(er
,eq
.charAt(eo
-1)=="\r"?eo
-1:eo
);var em
=en
.indexOf("\r");if(em
!=-1){el
.push(en
.slice(0,em
));er
+=em
+1}else{el
.push(en
);er
=eo
+1}}return el
}:function(el
){return el
.split(/\r\n?|\n/)};y
.splitLines
=av
;var aS
=window
.getSelection
?function(em
){try{return em
.selectionStart
!=em
.selectionEnd
}catch(el
){return false}}:function(en
){try{var el
=en
.ownerDocument
.selection
.createRange()}catch(em
){}if(!el
||el
.parentElement()!=en
){return false}return el
.compareEndPoints("StartToEnd",el
)!=0};var b7
=(function(){var el
=d8("div");if("oncopy" in el
){return true}el
.setAttribute("oncopy","return;");return typeof el
.oncopy
=="function"})();var dA
={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};y
.keyNames
=dA
;(function(){for(var el
=0;el
<10;el
++){dA
[el
+48]=String(el
)}for(var el
=65;el
<=90;el
++){dA
[el
]=String
.fromCharCode(el
)}for(var el
=1;el
<=12;el
++){dA
[el
+111]=dA
[el
+63235]="F"+el
}})();function cC(el
,er
,eq
,ep
){if(!el
){return ep(er
,eq
,"ltr")}var eo
=false;for(var en
=0;en
<el
.length
;++en
){var em
=el
[en
];if(em
.from<eq
&&em
.to
>er
||er
==eq
&&em
.to
==er
){ep(Math
.max(em
.from,er
),Math
.min(em
.to
,eq
),em
.level
==1?"rtl":"ltr");eo
=true}}if(!eo
){ep(er
,eq
,"ltr")}}function cn(el
){return el
.level
%2?el
.to
:el
.from}function eg(el
){return el
.level
%2?el
.from:el
.to
}function bN(em
){var el
=a(em
);return el
?cn(el
[0]):0}function bX(em
){var el
=a(em
);if(!el
){return em
.text
.length
}return eg(dW(el
))}function aT(em
,ep
){var en
=dy(em
.doc
,ep
);var eq
=s(em
.doc
,en
);if(eq
!=en
){ep
=a8(eq
)}var el
=a(eq
);var eo
=!el
?0:el
[0].level
%2?bX(eq
):bN(eq
);return H(ep
,eo
)}function cw(en
,eq
){var em
,eo
;while(em
=cV(eo
=dy(en
.doc
,eq
))){eq
=em
.find().to
.line
}var el
=a(eo
);var ep
=!el
?eo
.text
.length
:el
[0].level
%2?bN(eo
):bX(eo
);return H(eq
,ep
)}function U(em
,en
,el
){var eo
=em
[0].level
;if(en
==eo
){return true}if(el
==eo
){return false}return en
<el
}var dn
;function ag(el
,ep
){for(var em
=0,en
;em
<el
.length
;++em
){var eo
=el
[em
];if(eo
.from<ep
&&eo
.to
>ep
){dn
=null;return em
}if(eo
.from==ep
||eo
.to
==ep
){if(en
==null){en
=em
}else{if(U(el
,eo
.level
,el
[en
].level
)){dn
=en
;return em
}else{dn
=em
;return en
}}}}dn
=null;return en
}function dx(el
,eo
,em
,en
){if(!en
){return eo
+em
}do{eo
+=em
}while(eo
>0&&dK
.test(el
.text
.charAt(eo
)));return eo
}function p(el
,es
,en
,eo
){var ep
=a(el
);if(!ep
){return O(el
,es
,en
,eo
)}var er
=ag(ep
,es
),em
=ep
[er
];var eq
=dx(el
,es
,em
.level
%2?-en
:en
,eo
);for(;;){if(eq
>em
.from&&eq
<em
.to
){return eq
}if(eq
==em
.from||eq
==em
.to
){if(ag(ep
,eq
)==er
){return eq
}em
=ep
[er
+=en
];return(en
>0)==em
.level
%2?em
.to
:em
.from}else{em
=ep
[er
+=en
];if(!em
){return null}if((en
>0)==em
.level
%2){eq
=dx(el
,em
.to
,-1,eo
)}else{eq
=dx(el
,em
.from,1,eo
)}}}}function O(el
,ep
,em
,en
){var eo
=ep
+em
;if(en
){while(eo
>0&&dK
.test(el
.text
.charAt(eo
))){eo
+=em
}}return eo
<0||eo
>el
.text
.length
?null:eo
}var aH
=(function(){var er
="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL";var ep
="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr";function eo(eu
){if(eu
<=255){return er
.charAt(eu
)}else{if(1424<=eu
&&eu
<=1524){return"R"}else{if(1536<=eu
&&eu
<=1791){return ep
.charAt(eu
-1536)}else{if(1792<=eu
&&eu
<=2220){return"r"}else{return"L"}}}}}var el
=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var et=/[stwN
]/,en=/[LRr
]/,em=/[Lb1n
]/,eq=/[1n
]/;var es="L";return function(eE){if(!el.test(eE)){return false}var eK=eE.length,eA=[];for(var eJ=0,ew;eJ<eK;++eJ){eA.push(ew=eo(eE.charCodeAt(eJ)))}for(var eJ=0,eD=es;eJ<eK;++eJ){var ew=eA[eJ];if(ew=="m"){eA[eJ]=eD}else{eD=ew}}for(var eJ=0,eu=es;eJ<eK;++eJ){var ew=eA[eJ];if(ew=="1"&&eu=="r"){eA[eJ]="n"}else{if(en.test(ew)){eu=ew;if(ew=="r"){eA[eJ]="R"}}}}for(var eJ=1,eD=eA[0];eJ<eK-1;++eJ){var ew=eA[eJ];if(ew=="+"&&eD=="1"&&eA[eJ+1]=="1"){eA[eJ]="1"}else{if(ew==","&&eD==eA[eJ+1]&&(eD=="1"||eD=="n")){eA[eJ]=eD}}eD=ew}for(var eJ=0;eJ<eK;++eJ){var ew=eA[eJ];if(ew==","){eA[eJ]="N"}else{if(ew=="%"){for(var ex=eJ+1;ex<eK&&eA[ex]=="%";++ex){}var eL=(eJ&&eA[eJ-1]=="!")||(ex<eK-1&&eA[ex]=="1")?"1":"N";for(var eH=eJ;eH<ex;++eH){eA[eH]=eL}eJ=ex-1}}}for(var eJ=0,eu=es;eJ<eK;++eJ){var ew=eA[eJ];if(eu=="L"&&ew=="1"){eA[eJ]="L"}else{if(en.test(ew)){eu=ew}}}for(var eJ=0;eJ<eK;++eJ){if(et.test(eA[eJ])){for(var ex=eJ+1;ex<eK&&et.test(eA[ex]);++ex){}var eB=(eJ?eA[eJ-1]:es)=="L";var ev=(ex<eK-1?eA[ex]:es)=="L";var eL=eB||ev?"L":"R";for(var eH=eJ;eH<ex;++eH){eA[eH]=eL}eJ=ex-1}}var eI=[],eF;for(var eJ=0;eJ<eK;){if(em.test(eA[eJ])){var ey=eJ;for(++eJ;eJ<eK&&em.test(eA[eJ]);++eJ){}eI.push({from:ey,to:eJ,level:0})}else{var ez=eJ,eC=eI.length;for(++eJ;eJ<eK&&eA[eJ]!="L";++eJ){}for(var eH=ez;eH<eJ;){if(eq.test(eA[eH])){if(ez<eH){eI.splice(eC,0,{from:ez,to:eH,level:1})}var eG=eH;for(++eH;eH<eJ&&eq.test(eA[eH]);++eH){}eI.splice(eC,0,{from:eG,to:eH,level:2});ez=eH}else{++eH}}if(ez<eJ){eI.splice(eC,0,{from:ez,to:eJ,level:1})}}}if(eI[0].level==1&&(eF=eE.match(/^\s
+/))){eI[0].from=eF[0].length;eI.unshift({from:0,to:eF[0].length,level:0})}if(dW(eI).level==1&&(eF=eE.match(/\s
+$/))){dW(eI
).to
-=eF
[0].length
;eI
.push({from:eK
-eF
[0].length
,to
:eK
,level
:0})}if(eI
[0].level
!=dW(eI
).level
){eI
.push({from:eK
,to
:eK
,level
:eI
[0].level
})}return eI
}})();y
.version
="3.20.0";return y
})();