ace.define("ace/mode/powershell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/powershell_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],(function(e,t,n){var o=e("../lib/oop"),r=e("./text").Mode,i=e("../tokenizer").Tokenizer,a=e("./powershell_highlight_rules").PowershellHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,c=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,l=function(){this.$tokenizer=new i((new a).getRules()),this.$outdent=new s,this.$behaviour=new c,this.foldingRules=new u};o.inherits(l,r),function(){this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.$tokenizer.getLineTokens(t,e).tokens;if(r.length&&"comment"==r[r.length-1].type)return o;"start"==e&&(t.match(/^.*[\{\(\[]\s*$/)&&(o+=n));return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null}}.call(l.prototype),t.Mode=l})),ace.define("ace/mode/powershell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],(function(e,t,n){var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,i=function(){var e=this.createKeywordMapper({"support.function":"Get-Alias|Import-Alias|New-Alias|Set-Alias|Get-AuthenticodeSignature|Set-AuthenticodeSignature|Set-Location|Get-ChildItem|Clear-Item|Get-Command|Measure-Command|Trace-Command|Add-Computer|Checkpoint-Computer|Remove-Computer|Restart-Computer|Restore-Computer|Stop-Computer|Reset-ComputerMachinePassword|Test-ComputerSecureChannel|Add-Content|Get-Content|Set-Content|Clear-Content|Get-Command|Invoke-Command|Enable-ComputerRestore|Disable-ComputerRestore|Get-ComputerRestorePoint|Test-Connection|ConvertFrom-CSV|ConvertTo-CSV|ConvertTo-Html|ConvertTo-Xml|ConvertFrom-SecureString|ConvertTo-SecureString|Copy-Item|Export-Counter|Get-Counter|Import-Counter|Get-Credential|Get-Culture|Get-ChildItem|Get-Date|Set-Date|Remove-Item|Compare-Object|Get-Event|Get-WinEvent|New-Event|Remove-Event|Unregister-Event|Wait-Event|Clear-EventLog|Get-Eventlog|Limit-EventLog|New-Eventlog|Remove-EventLog|Show-EventLog|Write-EventLog|Get-EventSubscriber|Register-EngineEvent|Register-ObjectEvent|Register-WmiEvent|Get-ExecutionPolicy|Set-ExecutionPolicy|Export-Alias|Export-Clixml|Export-Console|Export-Csv|ForEach-Object|Format-Custom|Format-List|Format-Table|Format-Wide|Export-FormatData|Get-FormatData|Get-Item|Get-ChildItem|Get-Help|Add-History|Clear-History|Get-History|Invoke-History|Get-Host|Read-Host|Write-Host|Get-HotFix|Import-Clixml|Import-Csv|Invoke-Command|Invoke-Expression|Get-Item|Invoke-Item|New-Item|Remove-Item|Set-Item|Clear-ItemProperty|Copy-ItemProperty|Get-ItemProperty|Move-ItemProperty|New-ItemProperty|Remove-ItemProperty|Rename-ItemProperty|Set-ItemProperty|Get-Job|Receive-Job|Remove-Job|Start-Job|Stop-Job|Wait-Job|Stop-Process|Update-List|Get-Location|Pop-Location|Push-Location|Set-Location|Send-MailMessage|Add-Member|Get-Member|Move-Item|Compare-Object|Group-Object|Measure-Object|New-Object|Select-Object|Sort-Object|Where-Object|Out-Default|Out-File|Out-GridView|Out-Host|Out-Null|Out-Printer|Out-String|Convert-Path|Join-Path|Resolve-Path|Split-Path|Test-Path|Get-Pfxcertificate|Pop-Location|Push-Location|Get-Process|Start-Process|Stop-Process|Wait-Process|Enable-PSBreakpoint|Disable-PSBreakpoint|Get-PSBreakpoint|Set-PSBreakpoint|Remove-PSBreakpoint|Get-PSDrive|New-PSDrive|Remove-PSDrive|Get-PSProvider|Set-PSdebug|Enter-PSSession|Exit-PSSession|Export-PSSession|Get-PSSession|Import-PSSession|New-PSSession|Remove-PSSession|Disable-PSSessionConfiguration|Enable-PSSessionConfiguration|Get-PSSessionConfiguration|Register-PSSessionConfiguration|Set-PSSessionConfiguration|Unregister-PSSessionConfiguration|New-PSSessionOption|Add-PsSnapIn|Get-PsSnapin|Remove-PSSnapin|Get-Random|Read-Host|Remove-Item|Rename-Item|Rename-ItemProperty|Select-Object|Select-XML|Send-MailMessage|Get-Service|New-Service|Restart-Service|Resume-Service|Set-Service|Start-Service|Stop-Service|Suspend-Service|Sort-Object|Start-Sleep|ConvertFrom-StringData|Select-String|Tee-Object|New-Timespan|Trace-Command|Get-Tracesource|Set-Tracesource|Start-Transaction|Complete-Transaction|Get-Transaction|Use-Transaction|Undo-Transaction|Start-Transcript|Stop-Transcript|Add-Type|Update-TypeData|Get-Uiculture|Get-Unique|Update-Formatdata|Update-Typedata|Clear-Variable|Get-Variable|New-Variable|Remove-Variable|Set-Variable|New-WebServiceProxy|Where-Object|Write-Debug|Write-Error|Write-Host|Write-Output|Write-Progress|Write-Verbose|Write-Warning|Set-WmiInstance|Invoke-WmiMethod|Get-WmiObject|Remove-WmiObject|Connect-WSMan|Disconnect-WSMan|Test-WSMan|Invoke-WSManAction|Disable-WSManCredSSP|Enable-WSManCredSSP|Get-WSManCredSSP|New-WSManInstance|Get-WSManInstance|Set-WSManInstance|Remove-WSManInstance|Set-WSManQuickConfig|New-WSManSessionOption",keyword:"function|if|else|elseif|switch|while|default|for|do|until|break|continue|foreach|return|filter|in|trap|throw|param|begin|process|end"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.start",regex:"<#",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"[$](?:[Tt]rue|[Ff]alse)\\b"},{token:"constant.language",regex:"[$][Nn]ull\\b"},{token:"variable.instance",regex:"[$][a-zA-Z][a-zA-Z0-9_]*\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"keyword.operator",regex:"\\-(?:eq|ne|ge|gt|lt|le|like|notlike|match|notmatch|replace|contains|notcontains|ieq|ine|ige|igt|ile|ilt|ilike|inotlike|imatch|inotmatch|ireplace|icontains|inotcontains|is|isnot|as|and|or|band|bor|not)"},{token:"keyword.operator",regex:"&|\\*|\\+|\\-|\\=|\\+=|\\-="},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment.end",regex:"#>",next:"start"},{token:"doc.comment.tag",regex:"^\\.\\w+"},{token:"comment",regex:"\\w+"},{token:"comment",regex:"."}]}};o.inherits(i,r),t.PowershellHighlightRules=i})),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],(function(e,t,n){var o=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,i=e.findMatchingBracket({row:t,column:r});if(!i||i.row==t)return 0;var a=this.$getIndent(e.getLine(i.row));e.replace(new o(t,0,t,r-1),a)},this.$getIndent=function(e){var t=e.match(/^(\s+)/);return t?t[1]:""}}).call(r.prototype),t.MatchingBraceOutdent=r})),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],(function(e,t,n){var o=e("../../lib/oop"),r=e("../behaviour").Behaviour,i=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),s=["text","paren.rparen","punctuation.operator"],c=["text","paren.rparen","punctuation.operator","comment"],u=0,l=-1,g="",d=0,m=-1,p="",h="",S=function(){S.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),o=new i(t,n.row,n.column);if(!this.$matchTokenType(o.getCurrentToken()||"text",s)){var r=new i(t,n.row,n.column+1);if(!this.$matchTokenType(r.getCurrentToken()||"text",s))return!1}return o.stepForward(),o.getCurrentTokenRow()!==n.row||this.$matchTokenType(o.getCurrentToken()||"text",c)},S.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},S.recordAutoInsert=function(e,t,n){var o=e.getCursorPosition(),r=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,r,g[0])||(u=0),l=o.row,g=n+r.substr(o.column),u++},S.recordMaybeInsert=function(e,t,n){var o=e.getCursorPosition(),r=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,r)||(d=0),m=o.row,p=r.substr(0,o.column)+n,h=r.substr(o.column),d++},S.isAutoInsertedClosing=function(e,t,n){return u>0&&e.row===l&&n===g[0]&&t.substr(e.column)===g},S.isMaybeInsertedClosing=function(e,t){return d>0&&e.row===m&&t.substr(e.column)===h&&t.substr(0,e.column)==p},S.popAutoInsertedClosing=function(){g=g.substr(1),u--},S.clearMaybeInsertedClosing=function(){d=0,m=-1},this.add("braces","insertion",(function(e,t,n,o,r){var i=n.getCursorPosition(),s=o.doc.getLine(i.row);if("{"==r){var c=n.getSelectionRange(),u=o.doc.getTextRange(c);if(""!==u&&"{"!==u&&n.getWrapBehavioursEnabled())return{text:"{"+u+"}",selection:!1};if(S.isSaneInsertion(n,o))return/[\]\}\)]/.test(s[i.column])?(S.recordAutoInsert(n,o,"}"),{text:"{}",selection:[1,1]}):(S.recordMaybeInsert(n,o,"{"),{text:"{",selection:[1,1]})}else if("}"==r){if("}"==s.substring(i.column,i.column+1))if(null!==o.$findOpeningBracket("}",{column:i.column+1,row:i.row})&&S.isAutoInsertedClosing(i,s,r))return S.popAutoInsertedClosing(),{text:"",selection:[1,1]}}else if("\n"==r||"\r\n"==r){var l="";if(S.isMaybeInsertedClosing(i,s)&&(l=a.stringRepeat("}",d),S.clearMaybeInsertedClosing()),"}"==s.substring(i.column,i.column+1)||""!==l){if(!o.findMatchingBracket({row:i.row,column:i.column},"}"))return null;var g=this.getNextLineIndent(e,s.substring(0,i.column),o.getTabString());return{text:"\n"+g+"\n"+this.$getIndent(s)+l,selection:[1,g.length,1,g.length]}}}})),this.add("braces","deletion",(function(e,t,n,o,r){var i=o.doc.getTextRange(r);if(!r.isMultiLine()&&"{"==i){if("}"==o.doc.getLine(r.start.row).substring(r.end.column,r.end.column+1))return r.end.column++,r;d--}})),this.add("parens","insertion",(function(e,t,n,o,r){if("("==r){var i=n.getSelectionRange(),a=o.doc.getTextRange(i);if(""!==a&&n.getWrapBehavioursEnabled())return{text:"("+a+")",selection:!1};if(S.isSaneInsertion(n,o))return S.recordAutoInsert(n,o,")"),{text:"()",selection:[1,1]}}else if(")"==r){var s=n.getCursorPosition(),c=o.doc.getLine(s.row);if(")"==c.substring(s.column,s.column+1))if(null!==o.$findOpeningBracket(")",{column:s.column+1,row:s.row})&&S.isAutoInsertedClosing(s,c,r))return S.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("parens","deletion",(function(e,t,n,o,r){var i=o.doc.getTextRange(r);if(!r.isMultiLine()&&"("==i&&")"==o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2))return r.end.column++,r})),this.add("brackets","insertion",(function(e,t,n,o,r){if("["==r){var i=n.getSelectionRange(),a=o.doc.getTextRange(i);if(""!==a&&n.getWrapBehavioursEnabled())return{text:"["+a+"]",selection:!1};if(S.isSaneInsertion(n,o))return S.recordAutoInsert(n,o,"]"),{text:"[]",selection:[1,1]}}else if("]"==r){var s=n.getCursorPosition(),c=o.doc.getLine(s.row);if("]"==c.substring(s.column,s.column+1))if(null!==o.$findOpeningBracket("]",{column:s.column+1,row:s.row})&&S.isAutoInsertedClosing(s,c,r))return S.popAutoInsertedClosing(),{text:"",selection:[1,1]}}})),this.add("brackets","deletion",(function(e,t,n,o,r){var i=o.doc.getTextRange(r);if(!r.isMultiLine()&&"["==i&&"]"==o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2))return r.end.column++,r})),this.add("string_dquotes","insertion",(function(e,t,n,o,r){if('"'==r||"'"==r){var i=r,a=n.getSelectionRange(),s=o.doc.getTextRange(a);if(""!==s&&"'"!==s&&'"'!=s&&n.getWrapBehavioursEnabled())return{text:i+s+i,selection:!1};var c=n.getCursorPosition(),u=o.doc.getLine(c.row);if("\\"==u.substring(c.column-1,c.column))return null;for(var l,g=o.getTokens(a.start.row),d=0,m=-1,p=0;p<g.length&&("string"==(l=g[p]).type?m=-1:m<0&&(m=l.value.indexOf(i)),!(l.value.length+d>a.start.column));p++)d+=g[p].value.length;if(!l||m<0&&"comment"!==l.type&&("string"!==l.type||a.start.column!==l.value.length+d-1&&l.value.lastIndexOf(i)===l.value.length-1)){if(!S.isSaneInsertion(n,o))return;return{text:i+i,selection:[1,1]}}if(l&&"string"===l.type)if(u.substring(c.column,c.column+1)==i)return{text:"",selection:[1,1]}}})),this.add("string_dquotes","deletion",(function(e,t,n,o,r){var i=o.doc.getTextRange(r);if(!r.isMultiLine()&&('"'==i||"'"==i)&&'"'==o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2))return r.end.column++,r}))};o.inherits(S,r),t.CstyleBehaviour=S})),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],(function(e,t,n){var o=e("../../lib/oop"),r=(e("../../range").Range,e("./fold_mode").FoldMode),i=t.FoldMode=function(){};o.inherits(i,r),function(){this.foldingStartMarker=/(\{|\[)[^\}\]]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/,this.getFoldWidgetRange=function(e,t,n){var o,r=e.getLine(n);if(o=r.match(this.foldingStartMarker)){var i=o.index;return o[1]?this.openingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i+o[0].length,1)}if("markbeginend"===t&&(o=r.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}}}.call(i.prototype)}));