/* automatically generated by JSCoverage - do not edit */
try {
  if (typeof top === 'object' && top !== null && typeof top.opener === 'object' && top.opener !== null) {
    // this is a browser window that was opened from another window

    if (! top.opener._$jscoverage) {
      top.opener._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null) {
    // this is a browser window

    try {
      if (typeof top.opener === 'object' && top.opener !== null && top.opener._$jscoverage) {
        top._$jscoverage = top.opener._$jscoverage;
      }
    }
    catch (e) {}

    if (! top._$jscoverage) {
      top._$jscoverage = {};
    }
  }
}
catch (e) {}

try {
  if (typeof top === 'object' && top !== null && top._$jscoverage) {
    _$jscoverage = top._$jscoverage;
  }
}
catch (e) {}
if (typeof _$jscoverage !== 'object') {
  _$jscoverage = {};
}
if (! _$jscoverage['plugins/insertcode.js']) {
  _$jscoverage['plugins/insertcode.js'] = [];
  _$jscoverage['plugins/insertcode.js'][7] = 0;
  _$jscoverage['plugins/insertcode.js'][8] = 0;
  _$jscoverage['plugins/insertcode.js'][9] = 0;
  _$jscoverage['plugins/insertcode.js'][10] = 0;
  _$jscoverage['plugins/insertcode.js'][13] = 0;
  _$jscoverage['plugins/insertcode.js'][63] = 0;
  _$jscoverage['plugins/insertcode.js'][65] = 0;
  _$jscoverage['plugins/insertcode.js'][68] = 0;
  _$jscoverage['plugins/insertcode.js'][69] = 0;
  _$jscoverage['plugins/insertcode.js'][71] = 0;
  _$jscoverage['plugins/insertcode.js'][72] = 0;
  _$jscoverage['plugins/insertcode.js'][73] = 0;
  _$jscoverage['plugins/insertcode.js'][75] = 0;
  _$jscoverage['plugins/insertcode.js'][76] = 0;
  _$jscoverage['plugins/insertcode.js'][77] = 0;
  _$jscoverage['plugins/insertcode.js'][79] = 0;
  _$jscoverage['plugins/insertcode.js'][80] = 0;
  _$jscoverage['plugins/insertcode.js'][82] = 0;
  _$jscoverage['plugins/insertcode.js'][83] = 0;
  _$jscoverage['plugins/insertcode.js'][84] = 0;
  _$jscoverage['plugins/insertcode.js'][85] = 0;
  _$jscoverage['plugins/insertcode.js'][86] = 0;
  _$jscoverage['plugins/insertcode.js'][87] = 0;
  _$jscoverage['plugins/insertcode.js'][88] = 0;
  _$jscoverage['plugins/insertcode.js'][89] = 0;
  _$jscoverage['plugins/insertcode.js'][90] = 0;
  _$jscoverage['plugins/insertcode.js'][91] = 0;
  _$jscoverage['plugins/insertcode.js'][94] = 0;
  _$jscoverage['plugins/insertcode.js'][97] = 0;
  _$jscoverage['plugins/insertcode.js'][98] = 0;
  _$jscoverage['plugins/insertcode.js'][102] = 0;
  _$jscoverage['plugins/insertcode.js'][104] = 0;
  _$jscoverage['plugins/insertcode.js'][105] = 0;
  _$jscoverage['plugins/insertcode.js'][108] = 0;
  _$jscoverage['plugins/insertcode.js'][110] = 0;
  _$jscoverage['plugins/insertcode.js'][111] = 0;
  _$jscoverage['plugins/insertcode.js'][112] = 0;
  _$jscoverage['plugins/insertcode.js'][113] = 0;
  _$jscoverage['plugins/insertcode.js'][114] = 0;
  _$jscoverage['plugins/insertcode.js'][115] = 0;
  _$jscoverage['plugins/insertcode.js'][116] = 0;
  _$jscoverage['plugins/insertcode.js'][117] = 0;
  _$jscoverage['plugins/insertcode.js'][118] = 0;
  _$jscoverage['plugins/insertcode.js'][119] = 0;
  _$jscoverage['plugins/insertcode.js'][122] = 0;
  _$jscoverage['plugins/insertcode.js'][125] = 0;
  _$jscoverage['plugins/insertcode.js'][126] = 0;
  _$jscoverage['plugins/insertcode.js'][130] = 0;
  _$jscoverage['plugins/insertcode.js'][132] = 0;
  _$jscoverage['plugins/insertcode.js'][133] = 0;
  _$jscoverage['plugins/insertcode.js'][137] = 0;
  _$jscoverage['plugins/insertcode.js'][138] = 0;
  _$jscoverage['plugins/insertcode.js'][139] = 0;
  _$jscoverage['plugins/insertcode.js'][140] = 0;
  _$jscoverage['plugins/insertcode.js'][141] = 0;
  _$jscoverage['plugins/insertcode.js'][149] = 0;
  _$jscoverage['plugins/insertcode.js'][151] = 0;
  _$jscoverage['plugins/insertcode.js'][152] = 0;
  _$jscoverage['plugins/insertcode.js'][153] = 0;
  _$jscoverage['plugins/insertcode.js'][155] = 0;
  _$jscoverage['plugins/insertcode.js'][157] = 0;
  _$jscoverage['plugins/insertcode.js'][159] = 0;
  _$jscoverage['plugins/insertcode.js'][160] = 0;
  _$jscoverage['plugins/insertcode.js'][161] = 0;
  _$jscoverage['plugins/insertcode.js'][163] = 0;
  _$jscoverage['plugins/insertcode.js'][171] = 0;
  _$jscoverage['plugins/insertcode.js'][172] = 0;
  _$jscoverage['plugins/insertcode.js'][173] = 0;
  _$jscoverage['plugins/insertcode.js'][174] = 0;
  _$jscoverage['plugins/insertcode.js'][175] = 0;
  _$jscoverage['plugins/insertcode.js'][176] = 0;
  _$jscoverage['plugins/insertcode.js'][177] = 0;
  _$jscoverage['plugins/insertcode.js'][180] = 0;
  _$jscoverage['plugins/insertcode.js'][184] = 0;
  _$jscoverage['plugins/insertcode.js'][185] = 0;
  _$jscoverage['plugins/insertcode.js'][186] = 0;
  _$jscoverage['plugins/insertcode.js'][187] = 0;
  _$jscoverage['plugins/insertcode.js'][188] = 0;
  _$jscoverage['plugins/insertcode.js'][189] = 0;
  _$jscoverage['plugins/insertcode.js'][190] = 0;
  _$jscoverage['plugins/insertcode.js'][191] = 0;
  _$jscoverage['plugins/insertcode.js'][193] = 0;
  _$jscoverage['plugins/insertcode.js'][195] = 0;
  _$jscoverage['plugins/insertcode.js'][196] = 0;
  _$jscoverage['plugins/insertcode.js'][197] = 0;
  _$jscoverage['plugins/insertcode.js'][198] = 0;
  _$jscoverage['plugins/insertcode.js'][199] = 0;
  _$jscoverage['plugins/insertcode.js'][200] = 0;
  _$jscoverage['plugins/insertcode.js'][201] = 0;
  _$jscoverage['plugins/insertcode.js'][203] = 0;
  _$jscoverage['plugins/insertcode.js'][207] = 0;
  _$jscoverage['plugins/insertcode.js'][208] = 0;
  _$jscoverage['plugins/insertcode.js'][209] = 0;
  _$jscoverage['plugins/insertcode.js'][210] = 0;
  _$jscoverage['plugins/insertcode.js'][211] = 0;
  _$jscoverage['plugins/insertcode.js'][214] = 0;
  _$jscoverage['plugins/insertcode.js'][216] = 0;
  _$jscoverage['plugins/insertcode.js'][217] = 0;
  _$jscoverage['plugins/insertcode.js'][219] = 0;
  _$jscoverage['plugins/insertcode.js'][226] = 0;
  _$jscoverage['plugins/insertcode.js'][230] = 0;
  _$jscoverage['plugins/insertcode.js'][247] = 0;
  _$jscoverage['plugins/insertcode.js'][248] = 0;
  _$jscoverage['plugins/insertcode.js'][249] = 0;
  _$jscoverage['plugins/insertcode.js'][251] = 0;
  _$jscoverage['plugins/insertcode.js'][252] = 0;
  _$jscoverage['plugins/insertcode.js'][254] = 0;
  _$jscoverage['plugins/insertcode.js'][256] = 0;
  _$jscoverage['plugins/insertcode.js'][257] = 0;
  _$jscoverage['plugins/insertcode.js'][258] = 0;
  _$jscoverage['plugins/insertcode.js'][259] = 0;
  _$jscoverage['plugins/insertcode.js'][260] = 0;
  _$jscoverage['plugins/insertcode.js'][261] = 0;
  _$jscoverage['plugins/insertcode.js'][262] = 0;
  _$jscoverage['plugins/insertcode.js'][264] = 0;
  _$jscoverage['plugins/insertcode.js'][265] = 0;
  _$jscoverage['plugins/insertcode.js'][266] = 0;
  _$jscoverage['plugins/insertcode.js'][267] = 0;
  _$jscoverage['plugins/insertcode.js'][268] = 0;
  _$jscoverage['plugins/insertcode.js'][269] = 0;
  _$jscoverage['plugins/insertcode.js'][271] = 0;
  _$jscoverage['plugins/insertcode.js'][273] = 0;
  _$jscoverage['plugins/insertcode.js'][274] = 0;
  _$jscoverage['plugins/insertcode.js'][275] = 0;
  _$jscoverage['plugins/insertcode.js'][276] = 0;
  _$jscoverage['plugins/insertcode.js'][277] = 0;
  _$jscoverage['plugins/insertcode.js'][278] = 0;
  _$jscoverage['plugins/insertcode.js'][279] = 0;
  _$jscoverage['plugins/insertcode.js'][280] = 0;
  _$jscoverage['plugins/insertcode.js'][283] = 0;
  _$jscoverage['plugins/insertcode.js'][284] = 0;
  _$jscoverage['plugins/insertcode.js'][285] = 0;
  _$jscoverage['plugins/insertcode.js'][286] = 0;
  _$jscoverage['plugins/insertcode.js'][287] = 0;
  _$jscoverage['plugins/insertcode.js'][289] = 0;
  _$jscoverage['plugins/insertcode.js'][290] = 0;
  _$jscoverage['plugins/insertcode.js'][291] = 0;
  _$jscoverage['plugins/insertcode.js'][292] = 0;
  _$jscoverage['plugins/insertcode.js'][296] = 0;
  _$jscoverage['plugins/insertcode.js'][297] = 0;
  _$jscoverage['plugins/insertcode.js'][298] = 0;
  _$jscoverage['plugins/insertcode.js'][301] = 0;
  _$jscoverage['plugins/insertcode.js'][303] = 0;
  _$jscoverage['plugins/insertcode.js'][305] = 0;
  _$jscoverage['plugins/insertcode.js'][306] = 0;
  _$jscoverage['plugins/insertcode.js'][307] = 0;
  _$jscoverage['plugins/insertcode.js'][308] = 0;
  _$jscoverage['plugins/insertcode.js'][309] = 0;
  _$jscoverage['plugins/insertcode.js'][310] = 0;
  _$jscoverage['plugins/insertcode.js'][311] = 0;
  _$jscoverage['plugins/insertcode.js'][312] = 0;
  _$jscoverage['plugins/insertcode.js'][315] = 0;
  _$jscoverage['plugins/insertcode.js'][316] = 0;
  _$jscoverage['plugins/insertcode.js'][317] = 0;
  _$jscoverage['plugins/insertcode.js'][318] = 0;
  _$jscoverage['plugins/insertcode.js'][319] = 0;
  _$jscoverage['plugins/insertcode.js'][321] = 0;
  _$jscoverage['plugins/insertcode.js'][325] = 0;
  _$jscoverage['plugins/insertcode.js'][326] = 0;
  _$jscoverage['plugins/insertcode.js'][327] = 0;
  _$jscoverage['plugins/insertcode.js'][328] = 0;
  _$jscoverage['plugins/insertcode.js'][329] = 0;
  _$jscoverage['plugins/insertcode.js'][330] = 0;
  _$jscoverage['plugins/insertcode.js'][331] = 0;
  _$jscoverage['plugins/insertcode.js'][332] = 0;
  _$jscoverage['plugins/insertcode.js'][333] = 0;
  _$jscoverage['plugins/insertcode.js'][334] = 0;
  _$jscoverage['plugins/insertcode.js'][335] = 0;
  _$jscoverage['plugins/insertcode.js'][336] = 0;
  _$jscoverage['plugins/insertcode.js'][339] = 0;
  _$jscoverage['plugins/insertcode.js'][340] = 0;
  _$jscoverage['plugins/insertcode.js'][341] = 0;
  _$jscoverage['plugins/insertcode.js'][342] = 0;
  _$jscoverage['plugins/insertcode.js'][343] = 0;
  _$jscoverage['plugins/insertcode.js'][345] = 0;
  _$jscoverage['plugins/insertcode.js'][346] = 0;
  _$jscoverage['plugins/insertcode.js'][347] = 0;
  _$jscoverage['plugins/insertcode.js'][348] = 0;
  _$jscoverage['plugins/insertcode.js'][353] = 0;
  _$jscoverage['plugins/insertcode.js'][354] = 0;
  _$jscoverage['plugins/insertcode.js'][356] = 0;
  _$jscoverage['plugins/insertcode.js'][361] = 0;
  _$jscoverage['plugins/insertcode.js'][362] = 0;
  _$jscoverage['plugins/insertcode.js'][368] = 0;
  _$jscoverage['plugins/insertcode.js'][369] = 0;
  _$jscoverage['plugins/insertcode.js'][370] = 0;
  _$jscoverage['plugins/insertcode.js'][371] = 0;
  _$jscoverage['plugins/insertcode.js'][372] = 0;
  _$jscoverage['plugins/insertcode.js'][373] = 0;
  _$jscoverage['plugins/insertcode.js'][436] = 0;
  _$jscoverage['plugins/insertcode.js'][437] = 0;
  _$jscoverage['plugins/insertcode.js'][438] = 0;
  _$jscoverage['plugins/insertcode.js'][440] = 0;
  _$jscoverage['plugins/insertcode.js'][441] = 0;
  _$jscoverage['plugins/insertcode.js'][442] = 0;
  _$jscoverage['plugins/insertcode.js'][444] = 0;
  _$jscoverage['plugins/insertcode.js'][446] = 0;
  _$jscoverage['plugins/insertcode.js'][447] = 0;
  _$jscoverage['plugins/insertcode.js'][449] = 0;
  _$jscoverage['plugins/insertcode.js'][451] = 0;
  _$jscoverage['plugins/insertcode.js'][453] = 0;
  _$jscoverage['plugins/insertcode.js'][454] = 0;
  _$jscoverage['plugins/insertcode.js'][455] = 0;
  _$jscoverage['plugins/insertcode.js'][456] = 0;
  _$jscoverage['plugins/insertcode.js'][459] = 0;
  _$jscoverage['plugins/insertcode.js'][460] = 0;
  _$jscoverage['plugins/insertcode.js'][461] = 0;
  _$jscoverage['plugins/insertcode.js'][462] = 0;
  _$jscoverage['plugins/insertcode.js'][464] = 0;
  _$jscoverage['plugins/insertcode.js'][467] = 0;
  _$jscoverage['plugins/insertcode.js'][469] = 0;
  _$jscoverage['plugins/insertcode.js'][471] = 0;
  _$jscoverage['plugins/insertcode.js'][472] = 0;
  _$jscoverage['plugins/insertcode.js'][477] = 0;
  _$jscoverage['plugins/insertcode.js'][478] = 0;
  _$jscoverage['plugins/insertcode.js'][485] = 0;
  _$jscoverage['plugins/insertcode.js'][486] = 0;
  _$jscoverage['plugins/insertcode.js'][489] = 0;
  _$jscoverage['plugins/insertcode.js'][490] = 0;
  _$jscoverage['plugins/insertcode.js'][491] = 0;
  _$jscoverage['plugins/insertcode.js'][493] = 0;
  _$jscoverage['plugins/insertcode.js'][494] = 0;
  _$jscoverage['plugins/insertcode.js'][496] = 0;
  _$jscoverage['plugins/insertcode.js'][497] = 0;
  _$jscoverage['plugins/insertcode.js'][498] = 0;
  _$jscoverage['plugins/insertcode.js'][499] = 0;
  _$jscoverage['plugins/insertcode.js'][500] = 0;
  _$jscoverage['plugins/insertcode.js'][501] = 0;
  _$jscoverage['plugins/insertcode.js'][502] = 0;
  _$jscoverage['plugins/insertcode.js'][503] = 0;
  _$jscoverage['plugins/insertcode.js'][504] = 0;
  _$jscoverage['plugins/insertcode.js'][505] = 0;
  _$jscoverage['plugins/insertcode.js'][506] = 0;
  _$jscoverage['plugins/insertcode.js'][509] = 0;
  _$jscoverage['plugins/insertcode.js'][512] = 0;
  _$jscoverage['plugins/insertcode.js'][513] = 0;
  _$jscoverage['plugins/insertcode.js'][517] = 0;
  _$jscoverage['plugins/insertcode.js'][519] = 0;
  _$jscoverage['plugins/insertcode.js'][520] = 0;
  _$jscoverage['plugins/insertcode.js'][523] = 0;
  _$jscoverage['plugins/insertcode.js'][524] = 0;
  _$jscoverage['plugins/insertcode.js'][526] = 0;
  _$jscoverage['plugins/insertcode.js'][528] = 0;
  _$jscoverage['plugins/insertcode.js'][529] = 0;
  _$jscoverage['plugins/insertcode.js'][530] = 0;
  _$jscoverage['plugins/insertcode.js'][531] = 0;
  _$jscoverage['plugins/insertcode.js'][532] = 0;
  _$jscoverage['plugins/insertcode.js'][533] = 0;
  _$jscoverage['plugins/insertcode.js'][534] = 0;
  _$jscoverage['plugins/insertcode.js'][535] = 0;
  _$jscoverage['plugins/insertcode.js'][537] = 0;
  _$jscoverage['plugins/insertcode.js'][538] = 0;
  _$jscoverage['plugins/insertcode.js'][539] = 0;
  _$jscoverage['plugins/insertcode.js'][543] = 0;
  _$jscoverage['plugins/insertcode.js'][547] = 0;
  _$jscoverage['plugins/insertcode.js'][548] = 0;
  _$jscoverage['plugins/insertcode.js'][552] = 0;
  _$jscoverage['plugins/insertcode.js'][554] = 0;
  _$jscoverage['plugins/insertcode.js'][555] = 0;
  _$jscoverage['plugins/insertcode.js'][560] = 0;
  _$jscoverage['plugins/insertcode.js'][564] = 0;
  _$jscoverage['plugins/insertcode.js'][568] = 0;
  _$jscoverage['plugins/insertcode.js'][569] = 0;
  _$jscoverage['plugins/insertcode.js'][570] = 0;
  _$jscoverage['plugins/insertcode.js'][571] = 0;
  _$jscoverage['plugins/insertcode.js'][572] = 0;
  _$jscoverage['plugins/insertcode.js'][573] = 0;
  _$jscoverage['plugins/insertcode.js'][574] = 0;
  _$jscoverage['plugins/insertcode.js'][575] = 0;
  _$jscoverage['plugins/insertcode.js'][577] = 0;
  _$jscoverage['plugins/insertcode.js'][578] = 0;
  _$jscoverage['plugins/insertcode.js'][579] = 0;
  _$jscoverage['plugins/insertcode.js'][586] = 0;
  _$jscoverage['plugins/insertcode.js'][587] = 0;
  _$jscoverage['plugins/insertcode.js'][588] = 0;
  _$jscoverage['plugins/insertcode.js'][589] = 0;
  _$jscoverage['plugins/insertcode.js'][590] = 0;
  _$jscoverage['plugins/insertcode.js'][591] = 0;
  _$jscoverage['plugins/insertcode.js'][592] = 0;
  _$jscoverage['plugins/insertcode.js'][593] = 0;
  _$jscoverage['plugins/insertcode.js'][594] = 0;
  _$jscoverage['plugins/insertcode.js'][595] = 0;
  _$jscoverage['plugins/insertcode.js'][596] = 0;
  _$jscoverage['plugins/insertcode.js'][597] = 0;
}
_$jscoverage['plugins/insertcode.js'].source = ["<span class=\"c\">/**</span>","<span class=\"c\"> * &#25554;&#20837;&#20195;&#30721;&#25554;&#20214;</span>","<span class=\"c\"> * @file</span>","<span class=\"c\"> * @since 1.2.6.1</span>","<span class=\"c\"> */</span>","","UE<span class=\"k\">.</span>plugins<span class=\"k\">[</span><span class=\"s\">'insertcode'</span><span class=\"k\">]</span> <span class=\"k\">=</span> <span class=\"k\">function</span><span class=\"k\">()</span> <span class=\"k\">{</span>","    <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","    me<span class=\"k\">.</span>ready<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","        utils<span class=\"k\">.</span>cssRule<span class=\"k\">(</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"s\">'pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}'</span><span class=\"k\">,</span>","            me<span class=\"k\">.</span>document<span class=\"k\">)</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    me<span class=\"k\">.</span>setOpt<span class=\"k\">(</span><span class=\"s\">'insertcode'</span><span class=\"k\">,</span><span class=\"k\">{</span>","            <span class=\"s\">'as3'</span><span class=\"k\">:</span><span class=\"s\">'ActionScript3'</span><span class=\"k\">,</span>","            <span class=\"s\">'bash'</span><span class=\"k\">:</span><span class=\"s\">'Bash/Shell'</span><span class=\"k\">,</span>","            <span class=\"s\">'cpp'</span><span class=\"k\">:</span><span class=\"s\">'C/C++'</span><span class=\"k\">,</span>","            <span class=\"s\">'css'</span><span class=\"k\">:</span><span class=\"s\">'Css'</span><span class=\"k\">,</span>","            <span class=\"s\">'cf'</span><span class=\"k\">:</span><span class=\"s\">'CodeFunction'</span><span class=\"k\">,</span>","            <span class=\"s\">'c#'</span><span class=\"k\">:</span><span class=\"s\">'C#'</span><span class=\"k\">,</span>","            <span class=\"s\">'delphi'</span><span class=\"k\">:</span><span class=\"s\">'Delphi'</span><span class=\"k\">,</span>","            <span class=\"s\">'diff'</span><span class=\"k\">:</span><span class=\"s\">'Diff'</span><span class=\"k\">,</span>","            <span class=\"s\">'erlang'</span><span class=\"k\">:</span><span class=\"s\">'Erlang'</span><span class=\"k\">,</span>","            <span class=\"s\">'groovy'</span><span class=\"k\">:</span><span class=\"s\">'Groovy'</span><span class=\"k\">,</span>","            <span class=\"s\">'html'</span><span class=\"k\">:</span><span class=\"s\">'Html'</span><span class=\"k\">,</span>","            <span class=\"s\">'java'</span><span class=\"k\">:</span><span class=\"s\">'Java'</span><span class=\"k\">,</span>","            <span class=\"s\">'jfx'</span><span class=\"k\">:</span><span class=\"s\">'JavaFx'</span><span class=\"k\">,</span>","            <span class=\"s\">'js'</span><span class=\"k\">:</span><span class=\"s\">'Javascript'</span><span class=\"k\">,</span>","            <span class=\"s\">'pl'</span><span class=\"k\">:</span><span class=\"s\">'Perl'</span><span class=\"k\">,</span>","            <span class=\"s\">'php'</span><span class=\"k\">:</span><span class=\"s\">'Php'</span><span class=\"k\">,</span>","            <span class=\"s\">'plain'</span><span class=\"k\">:</span><span class=\"s\">'Plain Text'</span><span class=\"k\">,</span>","            <span class=\"s\">'ps'</span><span class=\"k\">:</span><span class=\"s\">'PowerShell'</span><span class=\"k\">,</span>","            <span class=\"s\">'python'</span><span class=\"k\">:</span><span class=\"s\">'Python'</span><span class=\"k\">,</span>","            <span class=\"s\">'ruby'</span><span class=\"k\">:</span><span class=\"s\">'Ruby'</span><span class=\"k\">,</span>","            <span class=\"s\">'scala'</span><span class=\"k\">:</span><span class=\"s\">'Scala'</span><span class=\"k\">,</span>","            <span class=\"s\">'sql'</span><span class=\"k\">:</span><span class=\"s\">'Sql'</span><span class=\"k\">,</span>","            <span class=\"s\">'vb'</span><span class=\"k\">:</span><span class=\"s\">'Vb'</span><span class=\"k\">,</span>","            <span class=\"s\">'xml'</span><span class=\"k\">:</span><span class=\"s\">'Xml'</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","","    <span class=\"c\">/**</span>","<span class=\"c\">     * &#26681;&#25454;&#36873;&#25321;&#30340;&#35821;&#35328;&#65292;&#25554;&#20837;&#20195;&#30721;&#32534;&#36753;&#22359;</span>","<span class=\"c\">     * @command insertcode</span>","<span class=\"c\">     * @method execCommand</span>","<span class=\"c\">     * @param { String } cmd &#21629;&#20196;&#23383;&#31526;&#20018;</span>","<span class=\"c\">     * @param { String } lang &#25554;&#20837;&#20195;&#30721;&#30340;&#35821;&#35328;</span>","<span class=\"c\">     * @example</span>","<span class=\"c\">     * ```javascript</span>","<span class=\"c\">     * editor.execCommand( 'insertcode', 'javascript' );</span>","<span class=\"c\">     * ```</span>","<span class=\"c\">     */</span>","","    <span class=\"c\">/**</span>","<span class=\"c\">     * &#22914;&#26524;&#36873;&#21306;&#25152;&#22312;&#20301;&#32622;&#26159;&#25554;&#20837;&#25554;&#20837;&#20195;&#30721;&#21306;&#22495;&#65292;&#36820;&#22238;&#20195;&#30721;&#30340;&#35821;&#35328;</span>","<span class=\"c\">     * @command insertcode</span>","<span class=\"c\">     * @method queryCommandValue</span>","<span class=\"c\">     * @param { String } cmd &#21629;&#20196;&#23383;&#31526;&#20018;</span>","<span class=\"c\">     * @return { String } &#36820;&#22238;&#20195;&#30721;&#30340;&#35821;&#35328;</span>","<span class=\"c\">     * @example</span>","<span class=\"c\">     * ```javascript</span>","<span class=\"c\">     * editor.queryCommandValue( 'insertcode' );</span>","<span class=\"c\">     * ```</span>","<span class=\"c\">     */</span>","    me<span class=\"k\">.</span>commands<span class=\"k\">[</span><span class=\"s\">'insertcode'</span><span class=\"k\">]</span> <span class=\"k\">=</span> <span class=\"k\">{</span>","        execCommand <span class=\"k\">:</span> <span class=\"k\">function</span><span class=\"k\">(</span>cmd<span class=\"k\">,</span>lang<span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">,</span>","                rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">(),</span>","                pre <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>rng<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","            <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","                pre<span class=\"k\">.</span>className <span class=\"k\">=</span> <span class=\"s\">'brush:'</span><span class=\"k\">+</span>lang<span class=\"k\">+</span><span class=\"s\">';toolbar:false;'</span><span class=\"k\">;</span>","            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                <span class=\"k\">var</span> code <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>rng<span class=\"k\">.</span>collapsed<span class=\"k\">)</span><span class=\"k\">{</span>","                    code <span class=\"k\">=</span> browser<span class=\"k\">.</span>ie<span class=\"k\">?</span> <span class=\"k\">(</span>browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span> <span class=\"k\">?</span> <span class=\"s\">''</span> <span class=\"k\">:</span> <span class=\"s\">'&amp;nbsp;'</span><span class=\"k\">):</span><span class=\"s\">'&lt;br/&gt;'</span><span class=\"k\">;</span>","                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> frag <span class=\"k\">=</span> rng<span class=\"k\">.</span>extractContents<span class=\"k\">();</span>","                    <span class=\"k\">var</span> div <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'div'</span><span class=\"k\">);</span>","                    div<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>frag<span class=\"k\">);</span>","","                    utils<span class=\"k\">.</span>each<span class=\"k\">(</span>UE<span class=\"k\">.</span>filterNode<span class=\"k\">(</span>UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>div<span class=\"k\">.</span>innerHTML<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/[\\r\\t]/g</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">)),</span>me<span class=\"k\">.</span>options<span class=\"k\">.</span>filterTxtRules<span class=\"k\">).</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>node<span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span><span class=\"k\">)</span><span class=\"k\">{</span>","","                            <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                    code <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                                <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                    utils<span class=\"k\">.</span>each<span class=\"k\">(</span>node<span class=\"k\">.</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cn<span class=\"k\">)</span><span class=\"k\">{</span>","                                        <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                            <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                                code <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                                            <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                                code <span class=\"k\">+=</span> cn<span class=\"k\">.</span>innerText<span class=\"k\">();</span>","                                            <span class=\"k\">}</span>","                                        <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                            code <span class=\"k\">+=</span> cn<span class=\"k\">.</span>data","                                        <span class=\"k\">}</span>","                                    <span class=\"k\">}</span><span class=\"k\">)</span>","                                    <span class=\"k\">if</span><span class=\"k\">(!</span><span class=\"s\">/\\n$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>code<span class=\"k\">))</span><span class=\"k\">{</span>","                                        code <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span><span class=\"k\">;</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span>","                            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                code <span class=\"k\">+=</span> node<span class=\"k\">.</span>data <span class=\"k\">+</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                            <span class=\"k\">}</span>","                            <span class=\"k\">if</span><span class=\"k\">(!</span>node<span class=\"k\">.</span>nextSibling<span class=\"k\">()</span> <span class=\"k\">&amp;&amp;</span> <span class=\"s\">/\\n$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>code<span class=\"k\">))</span><span class=\"k\">{</span>","                                code <span class=\"k\">=</span> code<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/\\n$/</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">);</span>","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                            <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>ie<span class=\"k\">)</span><span class=\"k\">{</span>","","                                <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                    <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                        code <span class=\"k\">+=</span> <span class=\"s\">'&lt;br&gt;'</span>","                                    <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                        utils<span class=\"k\">.</span>each<span class=\"k\">(</span>node<span class=\"k\">.</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cn<span class=\"k\">)</span><span class=\"k\">{</span>","                                            <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                                <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                                    code <span class=\"k\">+=</span> <span class=\"s\">'&lt;br&gt;'</span>","                                                <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                                    code <span class=\"k\">+=</span> cn<span class=\"k\">.</span>innerText<span class=\"k\">();</span>","                                                <span class=\"k\">}</span>","                                            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                                code <span class=\"k\">+=</span> cn<span class=\"k\">.</span>data","                                            <span class=\"k\">}</span>","                                        <span class=\"k\">}</span><span class=\"k\">);</span>","                                        <span class=\"k\">if</span><span class=\"k\">(!</span><span class=\"s\">/br&gt;$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>code<span class=\"k\">))</span><span class=\"k\">{</span>","                                            code <span class=\"k\">+=</span> <span class=\"s\">'&lt;br&gt;'</span><span class=\"k\">;</span>","                                        <span class=\"k\">}</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                    code <span class=\"k\">+=</span> node<span class=\"k\">.</span>data <span class=\"k\">+</span> <span class=\"s\">'&lt;br&gt;'</span>","                                <span class=\"k\">}</span>","                                <span class=\"k\">if</span><span class=\"k\">(!</span>node<span class=\"k\">.</span>nextSibling<span class=\"k\">()</span> <span class=\"k\">&amp;&amp;</span> <span class=\"s\">/&lt;br&gt;$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>code<span class=\"k\">))</span><span class=\"k\">{</span>","                                    code <span class=\"k\">=</span> code<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/&lt;br&gt;$/</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">);</span>","                                <span class=\"k\">}</span>","","                            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                code <span class=\"k\">+=</span> <span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'element'</span> <span class=\"k\">?</span> <span class=\"k\">(</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">?</span>  <span class=\"s\">''</span> <span class=\"k\">:</span> node<span class=\"k\">.</span>innerText<span class=\"k\">())</span> <span class=\"k\">:</span> node<span class=\"k\">.</span>data<span class=\"k\">);</span>","                                <span class=\"k\">if</span><span class=\"k\">(!</span><span class=\"s\">/br\\/?\\s*&gt;$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>code<span class=\"k\">))</span><span class=\"k\">{</span>","                                    <span class=\"k\">if</span><span class=\"k\">(!</span>node<span class=\"k\">.</span>nextSibling<span class=\"k\">())</span>","                                        <span class=\"k\">return</span><span class=\"k\">;</span>","                                    code <span class=\"k\">+=</span> <span class=\"s\">'&lt;br&gt;'</span>","                                <span class=\"k\">}</span>","                            <span class=\"k\">}</span>","","                        <span class=\"k\">}</span>","","                    <span class=\"k\">}</span><span class=\"k\">);</span>","                <span class=\"k\">}</span>","                me<span class=\"k\">.</span>execCommand<span class=\"k\">(</span><span class=\"s\">'inserthtml'</span><span class=\"k\">,</span><span class=\"s\">'&lt;pre id=\"coder\"class=\"brush:'</span><span class=\"k\">+</span>lang<span class=\"k\">+</span><span class=\"s\">';toolbar:false\"&gt;'</span><span class=\"k\">+</span>code<span class=\"k\">+</span><span class=\"s\">'&lt;/pre&gt;'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","","                pre <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>getElementById<span class=\"k\">(</span><span class=\"s\">'coder'</span><span class=\"k\">);</span>","                domUtils<span class=\"k\">.</span>removeAttributes<span class=\"k\">(</span>pre<span class=\"k\">,</span><span class=\"s\">'id'</span><span class=\"k\">);</span>","                <span class=\"k\">var</span> tmpNode <span class=\"k\">=</span> pre<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","","                <span class=\"k\">if</span><span class=\"k\">(</span>tmpNode <span class=\"k\">&amp;&amp;</span> <span class=\"k\">(</span>tmpNode<span class=\"k\">.</span>nodeType <span class=\"k\">==</span> <span class=\"s\">3</span> <span class=\"k\">&amp;&amp;</span> tmpNode<span class=\"k\">.</span>nodeValue<span class=\"k\">.</span>length <span class=\"k\">==</span> <span class=\"s\">1</span> <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">==</span> <span class=\"s\">6</span> <span class=\"k\">||</span>  domUtils<span class=\"k\">.</span>isEmptyBlock<span class=\"k\">(</span>tmpNode<span class=\"k\">)))</span><span class=\"k\">{</span>","","                    domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span>tmpNode<span class=\"k\">)</span>","                <span class=\"k\">}</span>","                <span class=\"k\">var</span> rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">();</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>domUtils<span class=\"k\">.</span>isEmptyBlock<span class=\"k\">(</span>pre<span class=\"k\">))</span><span class=\"k\">{</span>","                    rng<span class=\"k\">.</span>setStart<span class=\"k\">(</span>pre<span class=\"k\">,</span><span class=\"s\">0</span><span class=\"k\">).</span>setCursor<span class=\"k\">(</span><span class=\"k\">false</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">)</span>","                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                    rng<span class=\"k\">.</span>selectNodeContents<span class=\"k\">(</span>pre<span class=\"k\">).</span>select<span class=\"k\">()</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","","","","        <span class=\"k\">}</span><span class=\"k\">,</span>","        queryCommandValue <span class=\"k\">:</span> <span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> path <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>selection<span class=\"k\">.</span>getStartElementPath<span class=\"k\">();</span>","            <span class=\"k\">var</span> lang <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>path<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>node<span class=\"k\">)</span><span class=\"k\">{</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>nodeName <span class=\"k\">==</span><span class=\"s\">'PRE'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> match <span class=\"k\">=</span> node<span class=\"k\">.</span>className<span class=\"k\">.</span>match<span class=\"k\">(</span><span class=\"s\">/brush:([^;]+)/</span><span class=\"k\">);</span>","                    lang <span class=\"k\">=</span> match <span class=\"k\">&amp;&amp;</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">]</span> <span class=\"k\">?</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">]</span> <span class=\"k\">:</span> <span class=\"s\">''</span><span class=\"k\">;</span>","                    <span class=\"k\">return</span> <span class=\"k\">false</span><span class=\"k\">;</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span><span class=\"k\">);</span>","            <span class=\"k\">return</span> lang<span class=\"k\">;</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","","    me<span class=\"k\">.</span>addInputRule<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">(</span>root<span class=\"k\">)</span><span class=\"k\">{</span>","       utils<span class=\"k\">.</span>each<span class=\"k\">(</span>root<span class=\"k\">.</span>getNodesByTagName<span class=\"k\">(</span><span class=\"s\">'pre'</span><span class=\"k\">),</span><span class=\"k\">function</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","           <span class=\"k\">var</span> brs <span class=\"k\">=</span> pre<span class=\"k\">.</span>getNodesByTagName<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">);</span>","           <span class=\"k\">if</span><span class=\"k\">(</span>brs<span class=\"k\">.</span>length<span class=\"k\">)</span><span class=\"k\">{</span>","               browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span> <span class=\"k\">&amp;&amp;</span> utils<span class=\"k\">.</span>each<span class=\"k\">(</span>brs<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>br<span class=\"k\">)</span><span class=\"k\">{</span>","                   <span class=\"k\">var</span> txt <span class=\"k\">=</span> UE<span class=\"k\">.</span>uNode<span class=\"k\">.</span>createText<span class=\"k\">(</span><span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span><span class=\"k\">);</span>","                   br<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>txt<span class=\"k\">,</span>br<span class=\"k\">);</span>","                   br<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>br<span class=\"k\">);</span>","               <span class=\"k\">}</span><span class=\"k\">);</span>","               <span class=\"k\">return</span><span class=\"k\">;</span>","            <span class=\"k\">}</span>","           <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span><span class=\"k\">)</span>","                <span class=\"k\">return</span><span class=\"k\">;</span>","            <span class=\"k\">var</span> code <span class=\"k\">=</span> pre<span class=\"k\">.</span>innerText<span class=\"k\">().</span>split<span class=\"k\">(</span><span class=\"s\">/\\n/</span><span class=\"k\">);</span>","            pre<span class=\"k\">.</span>innerHTML<span class=\"k\">(</span><span class=\"s\">''</span><span class=\"k\">);</span>","            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>code<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>c<span class=\"k\">)</span><span class=\"k\">{</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>c<span class=\"k\">.</span>length<span class=\"k\">)</span><span class=\"k\">{</span>","                    pre<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>UE<span class=\"k\">.</span>uNode<span class=\"k\">.</span>createText<span class=\"k\">(</span>c<span class=\"k\">));</span>","                <span class=\"k\">}</span>","                pre<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>UE<span class=\"k\">.</span>uNode<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">))</span>","            <span class=\"k\">}</span><span class=\"k\">)</span>","       <span class=\"k\">}</span><span class=\"k\">)</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    me<span class=\"k\">.</span>addOutputRule<span class=\"k\">(</span><span class=\"k\">function</span><span class=\"k\">(</span>root<span class=\"k\">)</span><span class=\"k\">{</span>","        utils<span class=\"k\">.</span>each<span class=\"k\">(</span>root<span class=\"k\">.</span>getNodesByTagName<span class=\"k\">(</span><span class=\"s\">'pre'</span><span class=\"k\">),</span><span class=\"k\">function</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> code <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>pre<span class=\"k\">.</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>n<span class=\"k\">)</span><span class=\"k\">{</span>","               <span class=\"k\">if</span><span class=\"k\">(</span>n<span class=\"k\">.</span>type <span class=\"k\">==</span> <span class=\"s\">'text'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                   <span class=\"c\">//&#22312;ie&#19979;&#25991;&#26412;&#20869;&#23481;&#26377;&#21487;&#33021;&#26411;&#23614;&#24102;&#26377;\\n&#35201;&#21435;&#25481;</span>","                   <span class=\"c\">//trace:3396</span>","                   code <span class=\"k\">+=</span> n<span class=\"k\">.</span>data<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/[ ]/g</span><span class=\"k\">,</span><span class=\"s\">'&amp;nbsp;'</span><span class=\"k\">).</span>replace<span class=\"k\">(</span><span class=\"s\">/\\n$/</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">);</span>","               <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                   <span class=\"k\">if</span><span class=\"k\">(</span>n<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                       code  <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                   <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                       code <span class=\"k\">+=</span> <span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>n<span class=\"k\">.</span>tagName<span class=\"k\">]</span> <span class=\"k\">?</span> <span class=\"s\">''</span> <span class=\"k\">:</span> n<span class=\"k\">.</span>innerText<span class=\"k\">());</span>","                   <span class=\"k\">}</span>","","               <span class=\"k\">}</span>","","            <span class=\"k\">}</span><span class=\"k\">);</span>","","            pre<span class=\"k\">.</span>innerText<span class=\"k\">(</span>code<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/(&amp;nbsp;|\\n)+$/</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">))</span>","        <span class=\"k\">}</span><span class=\"k\">)</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    <span class=\"c\">//&#19981;&#38656;&#35201;&#21028;&#26029;highlight&#30340;command&#21015;&#34920;</span>","    me<span class=\"k\">.</span>notNeedCodeQuery <span class=\"k\">=</span><span class=\"k\">{</span>","        help<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        undo<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        redo<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        source<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        print<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        searchreplace<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        fullscreen<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        preview<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        insertparagraph<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        elementpath<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        highlightcode<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        insertcode<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        inserthtml<span class=\"k\">:</span><span class=\"s\">1</span><span class=\"k\">,</span>","        selectall<span class=\"k\">:</span><span class=\"s\">1</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","    <span class=\"c\">//&#23558;queyCommamndState&#37325;&#32622;</span>","    <span class=\"k\">var</span> orgQuery <span class=\"k\">=</span> me<span class=\"k\">.</span>queryCommandState<span class=\"k\">;</span>","    me<span class=\"k\">.</span>queryCommandState <span class=\"k\">=</span> <span class=\"k\">function</span><span class=\"k\">(</span>cmd<span class=\"k\">)</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">;</span>","","        <span class=\"k\">if</span><span class=\"k\">(!</span>me<span class=\"k\">.</span>notNeedCodeQuery<span class=\"k\">[</span>cmd<span class=\"k\">.</span>toLowerCase<span class=\"k\">()]</span> <span class=\"k\">&amp;&amp;</span> me<span class=\"k\">.</span>selection <span class=\"k\">&amp;&amp;</span> me<span class=\"k\">.</span>queryCommandValue<span class=\"k\">(</span><span class=\"s\">'insertcode'</span><span class=\"k\">))</span><span class=\"k\">{</span>","            <span class=\"k\">return</span> <span class=\"k\">-</span><span class=\"s\">1</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","        <span class=\"k\">return</span> UE<span class=\"k\">.</span>Editor<span class=\"k\">.</span>prototype<span class=\"k\">.</span>queryCommandState<span class=\"k\">.</span>apply<span class=\"k\">(</span><span class=\"k\">this</span><span class=\"k\">,</span>arguments<span class=\"k\">)</span>","    <span class=\"k\">}</span><span class=\"k\">;</span>","    me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'beforeenterkeydown'</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">()</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">();</span>","        <span class=\"k\">var</span> pre <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>rng<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","        <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","            me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'saveScene'</span><span class=\"k\">);</span>","            <span class=\"k\">if</span><span class=\"k\">(!</span>rng<span class=\"k\">.</span>collapsed<span class=\"k\">)</span><span class=\"k\">{</span>","               rng<span class=\"k\">.</span>deleteContents<span class=\"k\">();</span>","            <span class=\"k\">}</span>","            <span class=\"k\">if</span><span class=\"k\">(!</span>browser<span class=\"k\">.</span>ie <span class=\"k\">)</span><span class=\"k\">{</span>","                <span class=\"k\">var</span> tmpNode <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">),</span>pre<span class=\"k\">;</span>","                rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>setStartAfter<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                <span class=\"k\">var</span> next <span class=\"k\">=</span> tmpNode<span class=\"k\">.</span>nextSibling<span class=\"k\">;</span>","                <span class=\"k\">if</span><span class=\"k\">(!</span>next<span class=\"k\">)</span><span class=\"k\">{</span>","                    rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>tmpNode<span class=\"k\">.</span>cloneNode<span class=\"k\">(</span><span class=\"k\">false</span><span class=\"k\">));</span>","                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                    rng<span class=\"k\">.</span>setStartAfter<span class=\"k\">(</span>tmpNode<span class=\"k\">);</span>","                <span class=\"k\">}</span>","                pre <span class=\"k\">=</span> tmpNode<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                <span class=\"k\">var</span> tmp<span class=\"k\">;</span>","                <span class=\"k\">while</span><span class=\"k\">(</span>pre <span class=\"k\">)</span><span class=\"k\">{</span>","                    tmp <span class=\"k\">=</span> pre<span class=\"k\">;</span>","                    pre <span class=\"k\">=</span> pre<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                    <span class=\"k\">if</span><span class=\"k\">(!</span>pre <span class=\"k\">||</span> pre<span class=\"k\">.</span>nodeName <span class=\"k\">==</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                        pre <span class=\"k\">=</span> tmp<span class=\"k\">;</span>","                        <span class=\"k\">break</span><span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> str <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","                    <span class=\"k\">while</span><span class=\"k\">(</span>pre <span class=\"k\">&amp;&amp;</span> pre<span class=\"k\">.</span>nodeName <span class=\"k\">!=</span> <span class=\"s\">'BR'</span> <span class=\"k\">&amp;&amp;</span>  <span class=\"k\">new</span> RegExp<span class=\"k\">(</span><span class=\"s\">'^[</span><span class=\"t\">\\\\</span><span class=\"s\">s'</span><span class=\"k\">+</span>domUtils<span class=\"k\">.</span>fillChar<span class=\"k\">+</span><span class=\"s\">']*$'</span><span class=\"k\">).</span>test<span class=\"k\">(</span>pre<span class=\"k\">.</span>nodeValue<span class=\"k\">))</span><span class=\"k\">{</span>","                        str <span class=\"k\">+=</span> pre<span class=\"k\">.</span>nodeValue<span class=\"k\">;</span>","                        pre <span class=\"k\">=</span> pre<span class=\"k\">.</span>nextSibling<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">.</span>nodeName <span class=\"k\">!=</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">var</span> match <span class=\"k\">=</span> pre<span class=\"k\">.</span>nodeValue<span class=\"k\">.</span>match<span class=\"k\">(</span><span class=\"k\">new</span> RegExp<span class=\"k\">(</span><span class=\"s\">'^([</span><span class=\"t\">\\\\</span><span class=\"s\">s'</span><span class=\"k\">+</span>domUtils<span class=\"k\">.</span>fillChar<span class=\"k\">+</span><span class=\"s\">']+)'</span><span class=\"k\">));</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>match <span class=\"k\">&amp;&amp;</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">])</span><span class=\"k\">{</span>","                            str <span class=\"k\">+=</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">]</span>","                        <span class=\"k\">}</span>","","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>str<span class=\"k\">)</span><span class=\"k\">{</span>","                        str <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>str<span class=\"k\">);</span>","                        rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>str<span class=\"k\">).</span>setStartAfter<span class=\"k\">(</span>str<span class=\"k\">);</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span>","                rng<span class=\"k\">.</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span><span class=\"k\">)</span><span class=\"k\">{</span>","","                    <span class=\"k\">var</span> txt <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span><span class=\"k\">);</span>","                    <span class=\"k\">var</span> start <span class=\"k\">=</span> rng<span class=\"k\">.</span>startContainer<span class=\"k\">;</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>rng<span class=\"k\">.</span>startOffset <span class=\"k\">==</span> <span class=\"s\">0</span><span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">var</span> preNode <span class=\"k\">=</span> start<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>preNode<span class=\"k\">)</span><span class=\"k\">{</span>","                            rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>txt<span class=\"k\">);</span>","                            <span class=\"k\">var</span> fillchar <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">' '</span><span class=\"k\">);</span>","                            rng<span class=\"k\">.</span>setStartAfter<span class=\"k\">(</span>txt<span class=\"k\">).</span>insertNode<span class=\"k\">(</span>fillchar<span class=\"k\">).</span>setStart<span class=\"k\">(</span>fillchar<span class=\"k\">,</span><span class=\"s\">0</span><span class=\"k\">).</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">)</span>","                        <span class=\"k\">}</span>","                    <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                        rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>txt<span class=\"k\">).</span>setStartAfter<span class=\"k\">(</span>txt<span class=\"k\">);</span>","                        <span class=\"k\">var</span> fillchar <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">' '</span><span class=\"k\">);</span>","                        start <span class=\"k\">=</span> rng<span class=\"k\">.</span>startContainer<span class=\"k\">.</span>childNodes<span class=\"k\">[</span>rng<span class=\"k\">.</span>startOffset<span class=\"k\">];</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>start <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span><span class=\"s\">/^\\n/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>start<span class=\"k\">.</span>nodeValue<span class=\"k\">))</span><span class=\"k\">{</span>","                            rng<span class=\"k\">.</span>setStartBefore<span class=\"k\">(</span>txt<span class=\"k\">)</span>","                        <span class=\"k\">}</span>","                        rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>fillchar<span class=\"k\">).</span>setStart<span class=\"k\">(</span>fillchar<span class=\"k\">,</span><span class=\"s\">0</span><span class=\"k\">).</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">)</span>","                    <span class=\"k\">}</span>","","                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> tmpNode <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">);</span>","                    rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>tmpNode<span class=\"k\">);</span>","                    rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>domUtils<span class=\"k\">.</span>fillChar<span class=\"k\">));</span>","                    rng<span class=\"k\">.</span>setStartAfter<span class=\"k\">(</span>tmpNode<span class=\"k\">);</span>","                    pre <span class=\"k\">=</span> tmpNode<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                    <span class=\"k\">var</span> tmp<span class=\"k\">;</span>","                    <span class=\"k\">while</span><span class=\"k\">(</span>pre <span class=\"k\">)</span><span class=\"k\">{</span>","                        tmp <span class=\"k\">=</span> pre<span class=\"k\">;</span>","                        pre <span class=\"k\">=</span> pre<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                        <span class=\"k\">if</span><span class=\"k\">(!</span>pre <span class=\"k\">||</span> pre<span class=\"k\">.</span>nodeName <span class=\"k\">==</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                            pre <span class=\"k\">=</span> tmp<span class=\"k\">;</span>","                            <span class=\"k\">break</span><span class=\"k\">;</span>","                        <span class=\"k\">}</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">var</span> str <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","                        <span class=\"k\">while</span><span class=\"k\">(</span>pre <span class=\"k\">&amp;&amp;</span> pre<span class=\"k\">.</span>nodeName <span class=\"k\">!=</span> <span class=\"s\">'BR'</span> <span class=\"k\">&amp;&amp;</span>  <span class=\"k\">new</span> RegExp<span class=\"k\">(</span><span class=\"s\">'^[ '</span><span class=\"k\">+</span>domUtils<span class=\"k\">.</span>fillChar<span class=\"k\">+</span><span class=\"s\">']*$'</span><span class=\"k\">).</span>test<span class=\"k\">(</span>pre<span class=\"k\">.</span>nodeValue<span class=\"k\">))</span><span class=\"k\">{</span>","                            str <span class=\"k\">+=</span> pre<span class=\"k\">.</span>nodeValue<span class=\"k\">;</span>","                            pre <span class=\"k\">=</span> pre<span class=\"k\">.</span>nextSibling<span class=\"k\">;</span>","                        <span class=\"k\">}</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">.</span>nodeName <span class=\"k\">!=</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                            <span class=\"k\">var</span> match <span class=\"k\">=</span> pre<span class=\"k\">.</span>nodeValue<span class=\"k\">.</span>match<span class=\"k\">(</span><span class=\"k\">new</span> RegExp<span class=\"k\">(</span><span class=\"s\">'^([ '</span><span class=\"k\">+</span>domUtils<span class=\"k\">.</span>fillChar<span class=\"k\">+</span><span class=\"s\">']+)'</span><span class=\"k\">));</span>","                            <span class=\"k\">if</span><span class=\"k\">(</span>match <span class=\"k\">&amp;&amp;</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">])</span><span class=\"k\">{</span>","                                str <span class=\"k\">+=</span> match<span class=\"k\">[</span><span class=\"s\">1</span><span class=\"k\">]</span>","                            <span class=\"k\">}</span>","","                        <span class=\"k\">}</span>","","                        str <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>str<span class=\"k\">);</span>","                        rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>str<span class=\"k\">).</span>setStartAfter<span class=\"k\">(</span>str<span class=\"k\">);</span>","                    <span class=\"k\">}</span>","                    rng<span class=\"k\">.</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">).</span>select<span class=\"k\">();</span>","                <span class=\"k\">}</span>","","","            <span class=\"k\">}</span>","            me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'saveScene'</span><span class=\"k\">);</span>","            <span class=\"k\">return</span> <span class=\"k\">true</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","","","    <span class=\"k\">}</span><span class=\"k\">);</span>","","    me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'tabkeydown'</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cmd<span class=\"k\">,</span>evt<span class=\"k\">)</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">();</span>","        <span class=\"k\">var</span> pre <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>rng<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","        <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","            me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'saveScene'</span><span class=\"k\">);</span>","            <span class=\"k\">if</span><span class=\"k\">(</span>evt<span class=\"k\">.</span>shiftKey<span class=\"k\">)</span><span class=\"k\">{</span>","","<span class=\"c\">//                if(!rng.collapsed){</span>","<span class=\"c\">//                    var bk = rng.createBookmark();</span>","<span class=\"c\">//                    var start = bk.start.previousSibling;</span>","<span class=\"c\">//                    if(start === pre.firstChild){</span>","<span class=\"c\">//                        start.nodeValue = start.nodeValue.replace(/^\\s{4}/,'');</span>","<span class=\"c\">//                    }else{</span>","<span class=\"c\">//                        while(start){</span>","<span class=\"c\">//                            if(domUtils.isBr(start)){</span>","<span class=\"c\">//                                start = start.nextSibling;</span>","<span class=\"c\">//                                start.nodeValue = start.nodeValue.replace(/^\\s{4}/,'');</span>","<span class=\"c\">//                                break;</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//                            while(start.previousSibling &amp;&amp; start.previousSibling.nodeType == 3){</span>","<span class=\"c\">//                                start.nodeValue = start.previousSibling.nodeValue + start.nodeValue;</span>","<span class=\"c\">//                                domUtils.remove(start.previousSibling)</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//                            start = start.previousSibling;</span>","<span class=\"c\">//                        }</span>","<span class=\"c\">//                    }</span>","<span class=\"c\">//</span>","<span class=\"c\">//                    var end = bk.end;</span>","<span class=\"c\">//                    start = bk.start.nextSibling;</span>","<span class=\"c\">//</span>","<span class=\"c\">//                    while(start &amp;&amp; start !== end){</span>","<span class=\"c\">//                        if(domUtils.isBr(start) &amp;&amp; start.nextSibling){</span>","<span class=\"c\">//                            if(start.nextSibling === end){</span>","<span class=\"c\">//                                break;</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//                            start = start.nextSibling;</span>","<span class=\"c\">//                            while(start.nextSibling &amp;&amp; start.nextSibling.nodeType == 3){</span>","<span class=\"c\">//                                start.nodeValue += start.nextSibling.nodeValue;</span>","<span class=\"c\">//                                domUtils.remove(start.nextSibling)</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//</span>","<span class=\"c\">//                            start.nodeValue = start.nodeValue.replace(/^\\s{4}/,'');</span>","<span class=\"c\">//                        }</span>","<span class=\"c\">//</span>","<span class=\"c\">//                        start = start.nextSibling;</span>","<span class=\"c\">//                    }</span>","<span class=\"c\">//                    rng.moveToBookmark(bk).select();</span>","<span class=\"c\">//                }else{</span>","<span class=\"c\">//                    var bk = rng.createBookmark();</span>","<span class=\"c\">//                    var start = bk.start.previousSibling;</span>","<span class=\"c\">//                    if(start === pre.firstChild){</span>","<span class=\"c\">//                        start.nodeValue = start.nodeValue.replace(/^\\s{4}/,'');</span>","<span class=\"c\">//                    }else{</span>","<span class=\"c\">//                        while(start){</span>","<span class=\"c\">//                            if(domUtils.isBr(start)){</span>","<span class=\"c\">//                                start = start.nextSibling;</span>","<span class=\"c\">//                                start.nodeValue = start.nodeValue.replace(/^\\s{4}/,'');</span>","<span class=\"c\">//                                break;</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//                            while(start.previousSibling &amp;&amp; start.previousSibling.nodeType == 3){</span>","<span class=\"c\">//                                start.nodeValue = start.previousSibling.nodeValue + start.nodeValue;</span>","<span class=\"c\">//                                domUtils.remove(start.previousSibling)</span>","<span class=\"c\">//                            }</span>","<span class=\"c\">//                            start = start.previousSibling;</span>","<span class=\"c\">//                        }</span>","<span class=\"c\">//                    }</span>","<span class=\"c\">//                }</span>","            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                <span class=\"k\">if</span><span class=\"k\">(!</span>rng<span class=\"k\">.</span>collapsed<span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> bk <span class=\"k\">=</span> rng<span class=\"k\">.</span>createBookmark<span class=\"k\">();</span>","                    <span class=\"k\">var</span> start <span class=\"k\">=</span> bk<span class=\"k\">.</span>start<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","","                    <span class=\"k\">while</span><span class=\"k\">(</span>start<span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">.</span>firstChild <span class=\"k\">===</span> start <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>domUtils<span class=\"k\">.</span>isBr<span class=\"k\">(</span>start<span class=\"k\">))</span><span class=\"k\">{</span>","                            pre<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'    '</span><span class=\"k\">),</span>start<span class=\"k\">);</span>","","                            <span class=\"k\">break</span><span class=\"k\">;</span>","                        <span class=\"k\">}</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>domUtils<span class=\"k\">.</span>isBr<span class=\"k\">(</span>start<span class=\"k\">))</span><span class=\"k\">{</span>","                            pre<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'    '</span><span class=\"k\">),</span>start<span class=\"k\">.</span>nextSibling<span class=\"k\">);</span>","","                            <span class=\"k\">break</span><span class=\"k\">;</span>","                        <span class=\"k\">}</span>","                        start <span class=\"k\">=</span> start<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">var</span> end <span class=\"k\">=</span> bk<span class=\"k\">.</span>end<span class=\"k\">;</span>","                    start <span class=\"k\">=</span> bk<span class=\"k\">.</span>start<span class=\"k\">.</span>nextSibling<span class=\"k\">;</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">.</span>firstChild <span class=\"k\">===</span> bk<span class=\"k\">.</span>start<span class=\"k\">)</span><span class=\"k\">{</span>","                        pre<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'    '</span><span class=\"k\">),</span>start<span class=\"k\">.</span>nextSibling<span class=\"k\">)</span>","","                    <span class=\"k\">}</span>","                    <span class=\"k\">while</span><span class=\"k\">(</span>start <span class=\"k\">&amp;&amp;</span> start <span class=\"k\">!==</span> end<span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>domUtils<span class=\"k\">.</span>isBr<span class=\"k\">(</span>start<span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> start<span class=\"k\">.</span>nextSibling<span class=\"k\">)</span><span class=\"k\">{</span>","                            <span class=\"k\">if</span><span class=\"k\">(</span>start<span class=\"k\">.</span>nextSibling <span class=\"k\">===</span> end<span class=\"k\">)</span><span class=\"k\">{</span>","                                <span class=\"k\">break</span><span class=\"k\">;</span>","                            <span class=\"k\">}</span>","                            pre<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'    '</span><span class=\"k\">),</span>start<span class=\"k\">.</span>nextSibling<span class=\"k\">)</span>","                        <span class=\"k\">}</span>","","                        start <span class=\"k\">=</span> start<span class=\"k\">.</span>nextSibling<span class=\"k\">;</span>","                    <span class=\"k\">}</span>","                    rng<span class=\"k\">.</span>moveToBookmark<span class=\"k\">(</span>bk<span class=\"k\">).</span>select<span class=\"k\">();</span>","                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                    <span class=\"k\">var</span> tmpNode <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span><span class=\"s\">'    '</span><span class=\"k\">);</span>","                    rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>setStartAfter<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>collapse<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">).</span>select<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","                <span class=\"k\">}</span>","            <span class=\"k\">}</span>","","","            me<span class=\"k\">.</span>fireEvent<span class=\"k\">(</span><span class=\"s\">'saveScene'</span><span class=\"k\">);</span>","            <span class=\"k\">return</span> <span class=\"k\">true</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","","","    <span class=\"k\">}</span><span class=\"k\">);</span>","","","    me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'beforeinserthtml'</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>evtName<span class=\"k\">,</span>html<span class=\"k\">)</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">,</span>","            rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">(),</span>","            pre <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>rng<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","        <span class=\"k\">if</span><span class=\"k\">(</span>pre<span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">if</span><span class=\"k\">(!</span>rng<span class=\"k\">.</span>collapsed<span class=\"k\">)</span><span class=\"k\">{</span>","                rng<span class=\"k\">.</span>deleteContents<span class=\"k\">()</span>","            <span class=\"k\">}</span>","            <span class=\"k\">var</span> htmlstr <span class=\"k\">=</span> <span class=\"s\">''</span><span class=\"k\">;</span>","            <span class=\"k\">if</span><span class=\"k\">(</span>browser<span class=\"k\">.</span>ie <span class=\"k\">&amp;&amp;</span> browser<span class=\"k\">.</span>version <span class=\"k\">&gt;</span> <span class=\"s\">8</span><span class=\"k\">)</span><span class=\"k\">{</span>","","                utils<span class=\"k\">.</span>each<span class=\"k\">(</span>UE<span class=\"k\">.</span>filterNode<span class=\"k\">(</span>UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>html<span class=\"k\">),</span>me<span class=\"k\">.</span>options<span class=\"k\">.</span>filterTxtRules<span class=\"k\">).</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>node<span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                            htmlstr <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                        <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>node<span class=\"k\">.</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cn<span class=\"k\">)</span><span class=\"k\">{</span>","                                <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                    <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                        htmlstr <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                                    <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                        htmlstr <span class=\"k\">+=</span> cn<span class=\"k\">.</span>innerText<span class=\"k\">();</span>","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                    htmlstr <span class=\"k\">+=</span> cn<span class=\"k\">.</span>data","                                <span class=\"k\">}</span>","                            <span class=\"k\">}</span><span class=\"k\">)</span>","                            <span class=\"k\">if</span><span class=\"k\">(!</span><span class=\"s\">/\\n$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>htmlstr<span class=\"k\">))</span><span class=\"k\">{</span>","                                htmlstr <span class=\"k\">+=</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span><span class=\"k\">;</span>","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                    <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                        htmlstr <span class=\"k\">+=</span> node<span class=\"k\">.</span>data <span class=\"k\">+</span> <span class=\"s\">'</span><span class=\"t\">\\n</span><span class=\"s\">'</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span><span class=\"k\">(!</span>node<span class=\"k\">.</span>nextSibling<span class=\"k\">()</span> <span class=\"k\">&amp;&amp;</span> <span class=\"s\">/\\n$/</span><span class=\"k\">.</span>test<span class=\"k\">(</span>htmlstr<span class=\"k\">))</span><span class=\"k\">{</span>","                        htmlstr <span class=\"k\">=</span> htmlstr<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/\\n$/</span><span class=\"k\">,</span><span class=\"s\">''</span><span class=\"k\">);</span>","                    <span class=\"k\">}</span>","                <span class=\"k\">}</span><span class=\"k\">);</span>","                <span class=\"k\">var</span> tmpNode <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>utils<span class=\"k\">.</span>html<span class=\"k\">(</span>htmlstr<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/&amp;nbsp;/g</span><span class=\"k\">,</span><span class=\"s\">' '</span><span class=\"k\">)));</span>","                rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>selectNode<span class=\"k\">(</span>tmpNode<span class=\"k\">).</span>select<span class=\"k\">();</span>","            <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                <span class=\"k\">var</span> frag <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createDocumentFragment<span class=\"k\">();</span>","","                utils<span class=\"k\">.</span>each<span class=\"k\">(</span>UE<span class=\"k\">.</span>filterNode<span class=\"k\">(</span>UE<span class=\"k\">.</span>htmlparser<span class=\"k\">(</span>html<span class=\"k\">),</span>me<span class=\"k\">.</span>options<span class=\"k\">.</span>filterTxtRules<span class=\"k\">).</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>node<span class=\"k\">)</span><span class=\"k\">{</span>","                    <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                        <span class=\"k\">if</span><span class=\"k\">(</span>node<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                            frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">))</span>","                        <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                            utils<span class=\"k\">.</span>each<span class=\"k\">(</span>node<span class=\"k\">.</span>children<span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cn<span class=\"k\">)</span><span class=\"k\">{</span>","                                <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>type <span class=\"k\">==</span><span class=\"s\">'element'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                    <span class=\"k\">if</span><span class=\"k\">(</span>cn<span class=\"k\">.</span>tagName <span class=\"k\">==</span> <span class=\"s\">'br'</span><span class=\"k\">)</span><span class=\"k\">{</span>","","                                        frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">))</span>","                                    <span class=\"k\">}</span><span class=\"k\">else</span> <span class=\"k\">if</span><span class=\"k\">(!</span>dtd<span class=\"k\">.</span>$empty<span class=\"k\">[</span>node<span class=\"k\">.</span>tagName<span class=\"k\">])</span><span class=\"k\">{</span>","                                        frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>utils<span class=\"k\">.</span>html<span class=\"k\">(</span>cn<span class=\"k\">.</span>innerText<span class=\"k\">().</span>replace<span class=\"k\">(</span><span class=\"s\">/&amp;nbsp;/g</span><span class=\"k\">,</span><span class=\"s\">' '</span><span class=\"k\">))));</span>","","                                    <span class=\"k\">}</span>","                                <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                                    frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>utils<span class=\"k\">.</span>html<span class=\"k\">(</span> cn<span class=\"k\">.</span>data<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/&amp;nbsp;/g</span><span class=\"k\">,</span><span class=\"s\">' '</span><span class=\"k\">))));</span>","","                                <span class=\"k\">}</span>","                            <span class=\"k\">}</span><span class=\"k\">)</span>","                            <span class=\"k\">if</span><span class=\"k\">(</span>frag<span class=\"k\">.</span>lastChild<span class=\"k\">.</span>nodeName <span class=\"k\">!=</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                                frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'br'</span><span class=\"k\">))</span>","                            <span class=\"k\">}</span>","                        <span class=\"k\">}</span>","                    <span class=\"k\">}</span><span class=\"k\">else</span><span class=\"k\">{</span>","                        frag<span class=\"k\">.</span>appendChild<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">.</span>createTextNode<span class=\"k\">(</span>utils<span class=\"k\">.</span>html<span class=\"k\">(</span> node<span class=\"k\">.</span>data<span class=\"k\">.</span>replace<span class=\"k\">(</span><span class=\"s\">/&amp;nbsp;/g</span><span class=\"k\">,</span><span class=\"s\">' '</span><span class=\"k\">))));</span>","                    <span class=\"k\">}</span>","                    <span class=\"k\">if</span><span class=\"k\">(!</span>node<span class=\"k\">.</span>nextSibling<span class=\"k\">()</span> <span class=\"k\">&amp;&amp;</span> frag<span class=\"k\">.</span>lastChild<span class=\"k\">.</span>nodeName <span class=\"k\">==</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                       frag<span class=\"k\">.</span>removeChild<span class=\"k\">(</span>frag<span class=\"k\">.</span>lastChild<span class=\"k\">)</span>","                    <span class=\"k\">}</span>","","","                <span class=\"k\">}</span><span class=\"k\">);</span>","                rng<span class=\"k\">.</span>insertNode<span class=\"k\">(</span>frag<span class=\"k\">).</span>select<span class=\"k\">();</span>","","            <span class=\"k\">}</span>","","            <span class=\"k\">return</span> <span class=\"k\">true</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    <span class=\"c\">//&#26041;&#21521;&#38190;&#30340;&#22788;&#29702;</span>","    me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'keydown'</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>cmd<span class=\"k\">,</span>evt<span class=\"k\">)</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> me <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">,</span>keyCode <span class=\"k\">=</span> evt<span class=\"k\">.</span>keyCode <span class=\"k\">||</span> evt<span class=\"k\">.</span>which<span class=\"k\">;</span>","        <span class=\"k\">if</span><span class=\"k\">(</span>keyCode <span class=\"k\">==</span> <span class=\"s\">40</span><span class=\"k\">)</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> rng <span class=\"k\">=</span> me<span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">(),</span>pre<span class=\"k\">,</span>start <span class=\"k\">=</span> rng<span class=\"k\">.</span>startContainer<span class=\"k\">;</span>","            <span class=\"k\">if</span><span class=\"k\">(</span>rng<span class=\"k\">.</span>collapsed <span class=\"k\">&amp;&amp;</span> <span class=\"k\">(</span>pre <span class=\"k\">=</span> domUtils<span class=\"k\">.</span>findParentByTagName<span class=\"k\">(</span>rng<span class=\"k\">.</span>startContainer<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">))</span> <span class=\"k\">&amp;&amp;</span> <span class=\"k\">!</span>pre<span class=\"k\">.</span>nextSibling<span class=\"k\">)</span><span class=\"k\">{</span>","                <span class=\"k\">var</span> last <span class=\"k\">=</span> pre<span class=\"k\">.</span>lastChild","                <span class=\"k\">while</span><span class=\"k\">(</span>last <span class=\"k\">&amp;&amp;</span> last<span class=\"k\">.</span>nodeName <span class=\"k\">==</span> <span class=\"s\">'BR'</span><span class=\"k\">)</span><span class=\"k\">{</span>","                    last <span class=\"k\">=</span> last<span class=\"k\">.</span>previousSibling<span class=\"k\">;</span>","                <span class=\"k\">}</span>","                <span class=\"k\">if</span><span class=\"k\">(</span>last <span class=\"k\">===</span> start <span class=\"k\">||</span> rng<span class=\"k\">.</span>startContainer <span class=\"k\">===</span> pre <span class=\"k\">&amp;&amp;</span> rng<span class=\"k\">.</span>startOffset <span class=\"k\">==</span> pre<span class=\"k\">.</span>childNodes<span class=\"k\">.</span>length<span class=\"k\">)</span><span class=\"k\">{</span>","                    me<span class=\"k\">.</span>execCommand<span class=\"k\">(</span><span class=\"s\">'insertparagraph'</span><span class=\"k\">);</span>","                    domUtils<span class=\"k\">.</span>preventDefault<span class=\"k\">(</span>evt<span class=\"k\">)</span>","                <span class=\"k\">}</span>","","            <span class=\"k\">}</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">);</span>","    <span class=\"c\">//trace:3395</span>","    me<span class=\"k\">.</span>addListener<span class=\"k\">(</span><span class=\"s\">'delkeydown'</span><span class=\"k\">,</span><span class=\"k\">function</span><span class=\"k\">(</span>type<span class=\"k\">,</span>evt<span class=\"k\">)</span><span class=\"k\">{</span>","        <span class=\"k\">var</span> rng <span class=\"k\">=</span> <span class=\"k\">this</span><span class=\"k\">.</span>selection<span class=\"k\">.</span>getRange<span class=\"k\">();</span>","        rng<span class=\"k\">.</span>txtToElmBoundary<span class=\"k\">(</span><span class=\"k\">true</span><span class=\"k\">);</span>","        <span class=\"k\">var</span> start <span class=\"k\">=</span> rng<span class=\"k\">.</span>startContainer<span class=\"k\">;</span>","        <span class=\"k\">if</span><span class=\"k\">(</span>domUtils<span class=\"k\">.</span>isTagNode<span class=\"k\">(</span>start<span class=\"k\">,</span><span class=\"s\">'pre'</span><span class=\"k\">)</span> <span class=\"k\">&amp;&amp;</span> rng<span class=\"k\">.</span>collapsed <span class=\"k\">&amp;&amp;</span> domUtils<span class=\"k\">.</span>isStartInblock<span class=\"k\">(</span>rng<span class=\"k\">))</span><span class=\"k\">{</span>","            <span class=\"k\">var</span> p <span class=\"k\">=</span> me<span class=\"k\">.</span>document<span class=\"k\">.</span>createElement<span class=\"k\">(</span><span class=\"s\">'p'</span><span class=\"k\">);</span>","            domUtils<span class=\"k\">.</span>fillNode<span class=\"k\">(</span>me<span class=\"k\">.</span>document<span class=\"k\">,</span>p<span class=\"k\">);</span>","            start<span class=\"k\">.</span>parentNode<span class=\"k\">.</span>insertBefore<span class=\"k\">(</span>p<span class=\"k\">,</span>start<span class=\"k\">);</span>","            domUtils<span class=\"k\">.</span>remove<span class=\"k\">(</span>start<span class=\"k\">);</span>","            rng<span class=\"k\">.</span>setStart<span class=\"k\">(</span>p<span class=\"k\">,</span><span class=\"s\">0</span><span class=\"k\">).</span>setCursor<span class=\"k\">(</span><span class=\"k\">false</span><span class=\"k\">,</span><span class=\"k\">true</span><span class=\"k\">);</span>","            domUtils<span class=\"k\">.</span>preventDefault<span class=\"k\">(</span>evt<span class=\"k\">);</span>","            <span class=\"k\">return</span> <span class=\"k\">true</span><span class=\"k\">;</span>","        <span class=\"k\">}</span>","    <span class=\"k\">}</span><span class=\"k\">)</span>","<span class=\"k\">}</span><span class=\"k\">;</span>"];
_$jscoverage['plugins/insertcode.js'][7]++;
UE.plugins.insertcode = (function () {
  _$jscoverage['plugins/insertcode.js'][8]++;
  var me = this;
  _$jscoverage['plugins/insertcode.js'][9]++;
  me.ready((function () {
  _$jscoverage['plugins/insertcode.js'][10]++;
  utils.cssRule("pre", "pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}", me.document);
}));
  _$jscoverage['plugins/insertcode.js'][13]++;
  me.setOpt("insertcode", {"as3": "ActionScript3", "bash": "Bash/Shell", "cpp": "C/C++", "css": "Css", "cf": "CodeFunction", "c#": "C#", "delphi": "Delphi", "diff": "Diff", "erlang": "Erlang", "groovy": "Groovy", "html": "Html", "java": "Java", "jfx": "JavaFx", "js": "Javascript", "pl": "Perl", "php": "Php", "plain": "Plain Text", "ps": "PowerShell", "python": "Python", "ruby": "Ruby", "scala": "Scala", "sql": "Sql", "vb": "Vb", "xml": "Xml"});
  _$jscoverage['plugins/insertcode.js'][63]++;
  me.commands.insertcode = {execCommand: (function (cmd, lang) {
  _$jscoverage['plugins/insertcode.js'][65]++;
  var me = this, rng = me.selection.getRange(), pre = domUtils.findParentByTagName(rng.startContainer, "pre", true);
  _$jscoverage['plugins/insertcode.js'][68]++;
  if (pre) {
    _$jscoverage['plugins/insertcode.js'][69]++;
    pre.className = ("brush:" + lang + ";toolbar:false;");
  }
  else {
    _$jscoverage['plugins/insertcode.js'][71]++;
    var code = "";
    _$jscoverage['plugins/insertcode.js'][72]++;
    if (rng.collapsed) {
      _$jscoverage['plugins/insertcode.js'][73]++;
      code = (browser.ie? ((browser.version > 8)? "": "&nbsp;"): "<br/>");
    }
    else {
      _$jscoverage['plugins/insertcode.js'][75]++;
      var frag = rng.extractContents();
      _$jscoverage['plugins/insertcode.js'][76]++;
      var div = me.document.createElement("div");
      _$jscoverage['plugins/insertcode.js'][77]++;
      div.appendChild(frag);
      _$jscoverage['plugins/insertcode.js'][79]++;
      utils.each(UE.filterNode(UE.htmlparser(div.innerHTML.replace(/[\r\t]/g, "")), me.options.filterTxtRules).children, (function (node) {
  _$jscoverage['plugins/insertcode.js'][80]++;
  if ((browser.ie && (browser.version > 8))) {
    _$jscoverage['plugins/insertcode.js'][82]++;
    if ((node.type == "element")) {
      _$jscoverage['plugins/insertcode.js'][83]++;
      if ((node.tagName == "br")) {
        _$jscoverage['plugins/insertcode.js'][84]++;
        code += "\n";
      }
      else {
        _$jscoverage['plugins/insertcode.js'][85]++;
        if ((! dtd.$empty[node.tagName])) {
          _$jscoverage['plugins/insertcode.js'][86]++;
          utils.each(node.children, (function (cn) {
  _$jscoverage['plugins/insertcode.js'][87]++;
  if ((cn.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][88]++;
    if ((cn.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][89]++;
      code += "\n";
    }
    else {
      _$jscoverage['plugins/insertcode.js'][90]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][91]++;
        code += cn.innerText();
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][94]++;
    code += cn.data;
  }
}));
          _$jscoverage['plugins/insertcode.js'][97]++;
          if ((! /\n$/.test(code))) {
            _$jscoverage['plugins/insertcode.js'][98]++;
            code += "\n";
          }
        }
      }
    }
    else {
      _$jscoverage['plugins/insertcode.js'][102]++;
      code += (node.data + "\n");
    }
    _$jscoverage['plugins/insertcode.js'][104]++;
    if (((! node.nextSibling()) && /\n$/.test(code))) {
      _$jscoverage['plugins/insertcode.js'][105]++;
      code = code.replace(/\n$/, "");
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][108]++;
    if (browser.ie) {
      _$jscoverage['plugins/insertcode.js'][110]++;
      if ((node.type == "element")) {
        _$jscoverage['plugins/insertcode.js'][111]++;
        if ((node.tagName == "br")) {
          _$jscoverage['plugins/insertcode.js'][112]++;
          code += "<br>";
        }
        else {
          _$jscoverage['plugins/insertcode.js'][113]++;
          if ((! dtd.$empty[node.tagName])) {
            _$jscoverage['plugins/insertcode.js'][114]++;
            utils.each(node.children, (function (cn) {
  _$jscoverage['plugins/insertcode.js'][115]++;
  if ((cn.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][116]++;
    if ((cn.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][117]++;
      code += "<br>";
    }
    else {
      _$jscoverage['plugins/insertcode.js'][118]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][119]++;
        code += cn.innerText();
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][122]++;
    code += cn.data;
  }
}));
            _$jscoverage['plugins/insertcode.js'][125]++;
            if ((! /br>$/.test(code))) {
              _$jscoverage['plugins/insertcode.js'][126]++;
              code += "<br>";
            }
          }
        }
      }
      else {
        _$jscoverage['plugins/insertcode.js'][130]++;
        code += (node.data + "<br>");
      }
      _$jscoverage['plugins/insertcode.js'][132]++;
      if (((! node.nextSibling()) && /<br>$/.test(code))) {
        _$jscoverage['plugins/insertcode.js'][133]++;
        code = code.replace(/<br>$/, "");
      }
    }
    else {
      _$jscoverage['plugins/insertcode.js'][137]++;
      code += ((node.type == "element")? (dtd.$empty[node.tagName]? "": node.innerText()): node.data);
      _$jscoverage['plugins/insertcode.js'][138]++;
      if ((! /br\/?\s*>$/.test(code))) {
        _$jscoverage['plugins/insertcode.js'][139]++;
        if ((! node.nextSibling())) {
          _$jscoverage['plugins/insertcode.js'][140]++;
          return;
        }
        _$jscoverage['plugins/insertcode.js'][141]++;
        code += "<br>";
      }
    }
  }
}));
    }
    _$jscoverage['plugins/insertcode.js'][149]++;
    me.execCommand("inserthtml", ("<pre id=\"coder\"class=\"brush:" + lang + ";toolbar:false\">" + code + "</pre>"), true);
    _$jscoverage['plugins/insertcode.js'][151]++;
    pre = me.document.getElementById("coder");
    _$jscoverage['plugins/insertcode.js'][152]++;
    domUtils.removeAttributes(pre, "id");
    _$jscoverage['plugins/insertcode.js'][153]++;
    var tmpNode = pre.previousSibling;
    _$jscoverage['plugins/insertcode.js'][155]++;
    if ((tmpNode && (((tmpNode.nodeType == 3) && (tmpNode.nodeValue.length == 1) && browser.ie && (browser.version == 6)) || domUtils.isEmptyBlock(tmpNode)))) {
      _$jscoverage['plugins/insertcode.js'][157]++;
      domUtils.remove(tmpNode);
    }
    _$jscoverage['plugins/insertcode.js'][159]++;
    var rng = me.selection.getRange();
    _$jscoverage['plugins/insertcode.js'][160]++;
    if (domUtils.isEmptyBlock(pre)) {
      _$jscoverage['plugins/insertcode.js'][161]++;
      rng.setStart(pre, 0).setCursor(false, true);
    }
    else {
      _$jscoverage['plugins/insertcode.js'][163]++;
      rng.selectNodeContents(pre).select();
    }
  }
}), queryCommandValue: (function () {
  _$jscoverage['plugins/insertcode.js'][171]++;
  var path = this.selection.getStartElementPath();
  _$jscoverage['plugins/insertcode.js'][172]++;
  var lang = "";
  _$jscoverage['plugins/insertcode.js'][173]++;
  utils.each(path, (function (node) {
  _$jscoverage['plugins/insertcode.js'][174]++;
  if ((node.nodeName == "PRE")) {
    _$jscoverage['plugins/insertcode.js'][175]++;
    var match = node.className.match(/brush:([^;]+)/);
    _$jscoverage['plugins/insertcode.js'][176]++;
    lang = ((match && match[1])? match[1]: "");
    _$jscoverage['plugins/insertcode.js'][177]++;
    return false;
  }
}));
  _$jscoverage['plugins/insertcode.js'][180]++;
  return lang;
})};
  _$jscoverage['plugins/insertcode.js'][184]++;
  me.addInputRule((function (root) {
  _$jscoverage['plugins/insertcode.js'][185]++;
  utils.each(root.getNodesByTagName("pre"), (function (pre) {
  _$jscoverage['plugins/insertcode.js'][186]++;
  var brs = pre.getNodesByTagName("br");
  _$jscoverage['plugins/insertcode.js'][187]++;
  if (brs.length) {
    _$jscoverage['plugins/insertcode.js'][188]++;
    (browser.ie && (browser.version > 8) && utils.each(brs, (function (br) {
  _$jscoverage['plugins/insertcode.js'][189]++;
  var txt = UE.uNode.createText("\n");
  _$jscoverage['plugins/insertcode.js'][190]++;
  br.parentNode.insertBefore(txt, br);
  _$jscoverage['plugins/insertcode.js'][191]++;
  br.parentNode.removeChild(br);
})));
    _$jscoverage['plugins/insertcode.js'][193]++;
    return;
  }
  _$jscoverage['plugins/insertcode.js'][195]++;
  if ((browser.ie && (browser.version > 8))) {
    _$jscoverage['plugins/insertcode.js'][196]++;
    return;
  }
  _$jscoverage['plugins/insertcode.js'][197]++;
  var code = pre.innerText().split(/\n/);
  _$jscoverage['plugins/insertcode.js'][198]++;
  pre.innerHTML("");
  _$jscoverage['plugins/insertcode.js'][199]++;
  utils.each(code, (function (c) {
  _$jscoverage['plugins/insertcode.js'][200]++;
  if (c.length) {
    _$jscoverage['plugins/insertcode.js'][201]++;
    pre.appendChild(UE.uNode.createText(c));
  }
  _$jscoverage['plugins/insertcode.js'][203]++;
  pre.appendChild(UE.uNode.createElement("br"));
}));
}));
}));
  _$jscoverage['plugins/insertcode.js'][207]++;
  me.addOutputRule((function (root) {
  _$jscoverage['plugins/insertcode.js'][208]++;
  utils.each(root.getNodesByTagName("pre"), (function (pre) {
  _$jscoverage['plugins/insertcode.js'][209]++;
  var code = "";
  _$jscoverage['plugins/insertcode.js'][210]++;
  utils.each(pre.children, (function (n) {
  _$jscoverage['plugins/insertcode.js'][211]++;
  if ((n.type == "text")) {
    _$jscoverage['plugins/insertcode.js'][214]++;
    code += n.data.replace(/[ ]/g, "&nbsp;").replace(/\n$/, "");
  }
  else {
    _$jscoverage['plugins/insertcode.js'][216]++;
    if ((n.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][217]++;
      code += "\n";
    }
    else {
      _$jscoverage['plugins/insertcode.js'][219]++;
      code += ((! dtd.$empty[n.tagName])? "": n.innerText());
    }
  }
}));
  _$jscoverage['plugins/insertcode.js'][226]++;
  pre.innerText(code.replace(/(&nbsp;|\n)+$/, ""));
}));
}));
  _$jscoverage['plugins/insertcode.js'][230]++;
  me.notNeedCodeQuery = {help: 1, undo: 1, redo: 1, source: 1, print: 1, searchreplace: 1, fullscreen: 1, preview: 1, insertparagraph: 1, elementpath: 1, highlightcode: 1, insertcode: 1, inserthtml: 1, selectall: 1};
  _$jscoverage['plugins/insertcode.js'][247]++;
  var orgQuery = me.queryCommandState;
  _$jscoverage['plugins/insertcode.js'][248]++;
  me.queryCommandState = (function (cmd) {
  _$jscoverage['plugins/insertcode.js'][249]++;
  var me = this;
  _$jscoverage['plugins/insertcode.js'][251]++;
  if (((! me.notNeedCodeQuery[cmd.toLowerCase()]) && me.selection && me.queryCommandValue("insertcode"))) {
    _$jscoverage['plugins/insertcode.js'][252]++;
    return -1;
  }
  _$jscoverage['plugins/insertcode.js'][254]++;
  return UE.Editor.prototype.queryCommandState.apply(this, arguments);
});
  _$jscoverage['plugins/insertcode.js'][256]++;
  me.addListener("beforeenterkeydown", (function () {
  _$jscoverage['plugins/insertcode.js'][257]++;
  var rng = me.selection.getRange();
  _$jscoverage['plugins/insertcode.js'][258]++;
  var pre = domUtils.findParentByTagName(rng.startContainer, "pre", true);
  _$jscoverage['plugins/insertcode.js'][259]++;
  if (pre) {
    _$jscoverage['plugins/insertcode.js'][260]++;
    me.fireEvent("saveScene");
    _$jscoverage['plugins/insertcode.js'][261]++;
    if ((! rng.collapsed)) {
      _$jscoverage['plugins/insertcode.js'][262]++;
      rng.deleteContents();
    }
    _$jscoverage['plugins/insertcode.js'][264]++;
    if ((! browser.ie)) {
      _$jscoverage['plugins/insertcode.js'][265]++;
      var tmpNode = me.document.createElement("br"), pre = pre;
      _$jscoverage['plugins/insertcode.js'][266]++;
      rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true);
      _$jscoverage['plugins/insertcode.js'][267]++;
      var next = tmpNode.nextSibling;
      _$jscoverage['plugins/insertcode.js'][268]++;
      if ((! next)) {
        _$jscoverage['plugins/insertcode.js'][269]++;
        rng.insertNode(tmpNode.cloneNode(false));
      }
      else {
        _$jscoverage['plugins/insertcode.js'][271]++;
        rng.setStartAfter(tmpNode);
      }
      _$jscoverage['plugins/insertcode.js'][273]++;
      pre = tmpNode.previousSibling;
      _$jscoverage['plugins/insertcode.js'][274]++;
      var tmp;
      _$jscoverage['plugins/insertcode.js'][275]++;
      while (pre) {
        _$jscoverage['plugins/insertcode.js'][276]++;
        tmp = pre;
        _$jscoverage['plugins/insertcode.js'][277]++;
        pre = pre.previousSibling;
        _$jscoverage['plugins/insertcode.js'][278]++;
        if (((! pre) || (pre.nodeName == "BR"))) {
          _$jscoverage['plugins/insertcode.js'][279]++;
          pre = tmp;
          _$jscoverage['plugins/insertcode.js'][280]++;
          break;
        }
}
      _$jscoverage['plugins/insertcode.js'][283]++;
      if (pre) {
        _$jscoverage['plugins/insertcode.js'][284]++;
        var str = "";
        _$jscoverage['plugins/insertcode.js'][285]++;
        while ((pre && (pre.nodeName != "BR") && new RegExp(("^[\\s" + domUtils.fillChar + "]*$")).test(pre.nodeValue))) {
          _$jscoverage['plugins/insertcode.js'][286]++;
          str += pre.nodeValue;
          _$jscoverage['plugins/insertcode.js'][287]++;
          pre = pre.nextSibling;
}
        _$jscoverage['plugins/insertcode.js'][289]++;
        if ((pre.nodeName != "BR")) {
          _$jscoverage['plugins/insertcode.js'][290]++;
          var match = pre.nodeValue.match(new RegExp(("^([\\s" + domUtils.fillChar + "]+)")));
          _$jscoverage['plugins/insertcode.js'][291]++;
          if ((match && match[1])) {
            _$jscoverage['plugins/insertcode.js'][292]++;
            str += match[1];
          }
        }
        _$jscoverage['plugins/insertcode.js'][296]++;
        if (str) {
          _$jscoverage['plugins/insertcode.js'][297]++;
          str = me.document.createTextNode(str);
          _$jscoverage['plugins/insertcode.js'][298]++;
          rng.insertNode(str).setStartAfter(str);
        }
      }
      _$jscoverage['plugins/insertcode.js'][301]++;
      rng.collapse(true).select(true);
    }
    else {
      _$jscoverage['plugins/insertcode.js'][303]++;
      if ((browser.version > 8)) {
        _$jscoverage['plugins/insertcode.js'][305]++;
        var txt = me.document.createTextNode("\n");
        _$jscoverage['plugins/insertcode.js'][306]++;
        var start = rng.startContainer;
        _$jscoverage['plugins/insertcode.js'][307]++;
        if ((rng.startOffset == 0)) {
          _$jscoverage['plugins/insertcode.js'][308]++;
          var preNode = start.previousSibling;
          _$jscoverage['plugins/insertcode.js'][309]++;
          if (preNode) {
            _$jscoverage['plugins/insertcode.js'][310]++;
            rng.insertNode(txt);
            _$jscoverage['plugins/insertcode.js'][311]++;
            var fillchar = me.document.createTextNode(" ");
            _$jscoverage['plugins/insertcode.js'][312]++;
            rng.setStartAfter(txt).insertNode(fillchar).setStart(fillchar, 0).collapse(true).select(true);
          }
        }
        else {
          _$jscoverage['plugins/insertcode.js'][315]++;
          rng.insertNode(txt).setStartAfter(txt);
          _$jscoverage['plugins/insertcode.js'][316]++;
          var fillchar = me.document.createTextNode(" ");
          _$jscoverage['plugins/insertcode.js'][317]++;
          start = rng.startContainer.childNodes[rng.startOffset];
          _$jscoverage['plugins/insertcode.js'][318]++;
          if ((start && (! /^\n/.test(start.nodeValue)))) {
            _$jscoverage['plugins/insertcode.js'][319]++;
            rng.setStartBefore(txt);
          }
          _$jscoverage['plugins/insertcode.js'][321]++;
          rng.insertNode(fillchar).setStart(fillchar, 0).collapse(true).select(true);
        }
      }
      else {
        _$jscoverage['plugins/insertcode.js'][325]++;
        var tmpNode = me.document.createElement("br");
        _$jscoverage['plugins/insertcode.js'][326]++;
        rng.insertNode(tmpNode);
        _$jscoverage['plugins/insertcode.js'][327]++;
        rng.insertNode(me.document.createTextNode(domUtils.fillChar));
        _$jscoverage['plugins/insertcode.js'][328]++;
        rng.setStartAfter(tmpNode);
        _$jscoverage['plugins/insertcode.js'][329]++;
        pre = tmpNode.previousSibling;
        _$jscoverage['plugins/insertcode.js'][330]++;
        var tmp = tmp;
        _$jscoverage['plugins/insertcode.js'][331]++;
        while (pre) {
          _$jscoverage['plugins/insertcode.js'][332]++;
          tmp = pre;
          _$jscoverage['plugins/insertcode.js'][333]++;
          pre = pre.previousSibling;
          _$jscoverage['plugins/insertcode.js'][334]++;
          if (((! pre) || (pre.nodeName == "BR"))) {
            _$jscoverage['plugins/insertcode.js'][335]++;
            pre = tmp;
            _$jscoverage['plugins/insertcode.js'][336]++;
            break;
          }
}
        _$jscoverage['plugins/insertcode.js'][339]++;
        if (pre) {
          _$jscoverage['plugins/insertcode.js'][340]++;
          var str = "";
          _$jscoverage['plugins/insertcode.js'][341]++;
          while ((pre && (pre.nodeName != "BR") && new RegExp(("^[ " + domUtils.fillChar + "]*$")).test(pre.nodeValue))) {
            _$jscoverage['plugins/insertcode.js'][342]++;
            str += pre.nodeValue;
            _$jscoverage['plugins/insertcode.js'][343]++;
            pre = pre.nextSibling;
}
          _$jscoverage['plugins/insertcode.js'][345]++;
          if ((pre.nodeName != "BR")) {
            _$jscoverage['plugins/insertcode.js'][346]++;
            var match = pre.nodeValue.match(new RegExp(("^([ " + domUtils.fillChar + "]+)")));
            _$jscoverage['plugins/insertcode.js'][347]++;
            if ((match && match[1])) {
              _$jscoverage['plugins/insertcode.js'][348]++;
              str += match[1];
            }
          }
          _$jscoverage['plugins/insertcode.js'][353]++;
          str = me.document.createTextNode(str);
          _$jscoverage['plugins/insertcode.js'][354]++;
          rng.insertNode(str).setStartAfter(str);
        }
        _$jscoverage['plugins/insertcode.js'][356]++;
        rng.collapse(true).select();
      }
    }
    _$jscoverage['plugins/insertcode.js'][361]++;
    me.fireEvent("saveScene");
    _$jscoverage['plugins/insertcode.js'][362]++;
    return true;
  }
}));
  _$jscoverage['plugins/insertcode.js'][368]++;
  me.addListener("tabkeydown", (function (cmd, evt) {
  _$jscoverage['plugins/insertcode.js'][369]++;
  var rng = me.selection.getRange();
  _$jscoverage['plugins/insertcode.js'][370]++;
  var pre = domUtils.findParentByTagName(rng.startContainer, "pre", true);
  _$jscoverage['plugins/insertcode.js'][371]++;
  if (pre) {
    _$jscoverage['plugins/insertcode.js'][372]++;
    me.fireEvent("saveScene");
    _$jscoverage['plugins/insertcode.js'][373]++;
    if (evt.shiftKey) {
    }
    else {
      _$jscoverage['plugins/insertcode.js'][436]++;
      if ((! rng.collapsed)) {
        _$jscoverage['plugins/insertcode.js'][437]++;
        var bk = rng.createBookmark();
        _$jscoverage['plugins/insertcode.js'][438]++;
        var start = bk.start.previousSibling;
        _$jscoverage['plugins/insertcode.js'][440]++;
        while (start) {
          _$jscoverage['plugins/insertcode.js'][441]++;
          if (((pre.firstChild === start) && (! domUtils.isBr(start)))) {
            _$jscoverage['plugins/insertcode.js'][442]++;
            pre.insertBefore(me.document.createTextNode("    "), start);
            _$jscoverage['plugins/insertcode.js'][444]++;
            break;
          }
          _$jscoverage['plugins/insertcode.js'][446]++;
          if (domUtils.isBr(start)) {
            _$jscoverage['plugins/insertcode.js'][447]++;
            pre.insertBefore(me.document.createTextNode("    "), start.nextSibling);
            _$jscoverage['plugins/insertcode.js'][449]++;
            break;
          }
          _$jscoverage['plugins/insertcode.js'][451]++;
          start = start.previousSibling;
}
        _$jscoverage['plugins/insertcode.js'][453]++;
        var end = bk.end;
        _$jscoverage['plugins/insertcode.js'][454]++;
        start = bk.start.nextSibling;
        _$jscoverage['plugins/insertcode.js'][455]++;
        if ((pre.firstChild === bk.start)) {
          _$jscoverage['plugins/insertcode.js'][456]++;
          pre.insertBefore(me.document.createTextNode("    "), start.nextSibling);
        }
        _$jscoverage['plugins/insertcode.js'][459]++;
        while ((start && (start !== end))) {
          _$jscoverage['plugins/insertcode.js'][460]++;
          if ((domUtils.isBr(start) && start.nextSibling)) {
            _$jscoverage['plugins/insertcode.js'][461]++;
            if ((start.nextSibling === end)) {
              _$jscoverage['plugins/insertcode.js'][462]++;
              break;
            }
            _$jscoverage['plugins/insertcode.js'][464]++;
            pre.insertBefore(me.document.createTextNode("    "), start.nextSibling);
          }
          _$jscoverage['plugins/insertcode.js'][467]++;
          start = start.nextSibling;
}
        _$jscoverage['plugins/insertcode.js'][469]++;
        rng.moveToBookmark(bk).select();
      }
      else {
        _$jscoverage['plugins/insertcode.js'][471]++;
        var tmpNode = me.document.createTextNode("    ");
        _$jscoverage['plugins/insertcode.js'][472]++;
        rng.insertNode(tmpNode).setStartAfter(tmpNode).collapse(true).select(true);
      }
    }
    _$jscoverage['plugins/insertcode.js'][477]++;
    me.fireEvent("saveScene");
    _$jscoverage['plugins/insertcode.js'][478]++;
    return true;
  }
}));
  _$jscoverage['plugins/insertcode.js'][485]++;
  me.addListener("beforeinserthtml", (function (evtName, html) {
  _$jscoverage['plugins/insertcode.js'][486]++;
  var me = this, rng = me.selection.getRange(), pre = domUtils.findParentByTagName(rng.startContainer, "pre", true);
  _$jscoverage['plugins/insertcode.js'][489]++;
  if (pre) {
    _$jscoverage['plugins/insertcode.js'][490]++;
    if ((! rng.collapsed)) {
      _$jscoverage['plugins/insertcode.js'][491]++;
      rng.deleteContents();
    }
    _$jscoverage['plugins/insertcode.js'][493]++;
    var htmlstr = "";
    _$jscoverage['plugins/insertcode.js'][494]++;
    if ((browser.ie && (browser.version > 8))) {
      _$jscoverage['plugins/insertcode.js'][496]++;
      utils.each(UE.filterNode(UE.htmlparser(html), me.options.filterTxtRules).children, (function (node) {
  _$jscoverage['plugins/insertcode.js'][497]++;
  if ((node.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][498]++;
    if ((node.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][499]++;
      htmlstr += "\n";
    }
    else {
      _$jscoverage['plugins/insertcode.js'][500]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][501]++;
        utils.each(node.children, (function (cn) {
  _$jscoverage['plugins/insertcode.js'][502]++;
  if ((cn.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][503]++;
    if ((cn.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][504]++;
      htmlstr += "\n";
    }
    else {
      _$jscoverage['plugins/insertcode.js'][505]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][506]++;
        htmlstr += cn.innerText();
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][509]++;
    htmlstr += cn.data;
  }
}));
        _$jscoverage['plugins/insertcode.js'][512]++;
        if ((! /\n$/.test(htmlstr))) {
          _$jscoverage['plugins/insertcode.js'][513]++;
          htmlstr += "\n";
        }
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][517]++;
    htmlstr += (node.data + "\n");
  }
  _$jscoverage['plugins/insertcode.js'][519]++;
  if (((! node.nextSibling()) && /\n$/.test(htmlstr))) {
    _$jscoverage['plugins/insertcode.js'][520]++;
    htmlstr = htmlstr.replace(/\n$/, "");
  }
}));
      _$jscoverage['plugins/insertcode.js'][523]++;
      var tmpNode = me.document.createTextNode(utils.html(htmlstr.replace(/&nbsp;/g, " ")));
      _$jscoverage['plugins/insertcode.js'][524]++;
      rng.insertNode(tmpNode).selectNode(tmpNode).select();
    }
    else {
      _$jscoverage['plugins/insertcode.js'][526]++;
      var frag = me.document.createDocumentFragment();
      _$jscoverage['plugins/insertcode.js'][528]++;
      utils.each(UE.filterNode(UE.htmlparser(html), me.options.filterTxtRules).children, (function (node) {
  _$jscoverage['plugins/insertcode.js'][529]++;
  if ((node.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][530]++;
    if ((node.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][531]++;
      frag.appendChild(me.document.createElement("br"));
    }
    else {
      _$jscoverage['plugins/insertcode.js'][532]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][533]++;
        utils.each(node.children, (function (cn) {
  _$jscoverage['plugins/insertcode.js'][534]++;
  if ((cn.type == "element")) {
    _$jscoverage['plugins/insertcode.js'][535]++;
    if ((cn.tagName == "br")) {
      _$jscoverage['plugins/insertcode.js'][537]++;
      frag.appendChild(me.document.createElement("br"));
    }
    else {
      _$jscoverage['plugins/insertcode.js'][538]++;
      if ((! dtd.$empty[node.tagName])) {
        _$jscoverage['plugins/insertcode.js'][539]++;
        frag.appendChild(me.document.createTextNode(utils.html(cn.innerText().replace(/&nbsp;/g, " "))));
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][543]++;
    frag.appendChild(me.document.createTextNode(utils.html(cn.data.replace(/&nbsp;/g, " "))));
  }
}));
        _$jscoverage['plugins/insertcode.js'][547]++;
        if ((frag.lastChild.nodeName != "BR")) {
          _$jscoverage['plugins/insertcode.js'][548]++;
          frag.appendChild(me.document.createElement("br"));
        }
      }
    }
  }
  else {
    _$jscoverage['plugins/insertcode.js'][552]++;
    frag.appendChild(me.document.createTextNode(utils.html(node.data.replace(/&nbsp;/g, " "))));
  }
  _$jscoverage['plugins/insertcode.js'][554]++;
  if (((! node.nextSibling()) && (frag.lastChild.nodeName == "BR"))) {
    _$jscoverage['plugins/insertcode.js'][555]++;
    frag.removeChild(frag.lastChild);
  }
}));
      _$jscoverage['plugins/insertcode.js'][560]++;
      rng.insertNode(frag).select();
    }
    _$jscoverage['plugins/insertcode.js'][564]++;
    return true;
  }
}));
  _$jscoverage['plugins/insertcode.js'][568]++;
  me.addListener("keydown", (function (cmd, evt) {
  _$jscoverage['plugins/insertcode.js'][569]++;
  var me = this, keyCode = (evt.keyCode || evt.which);
  _$jscoverage['plugins/insertcode.js'][570]++;
  if ((keyCode == 40)) {
    _$jscoverage['plugins/insertcode.js'][571]++;
    var rng = me.selection.getRange(), pre, start = rng.startContainer;
    _$jscoverage['plugins/insertcode.js'][572]++;
    if ((rng.collapsed && (pre = domUtils.findParentByTagName(rng.startContainer, "pre", true)) && (! pre.nextSibling))) {
      _$jscoverage['plugins/insertcode.js'][573]++;
      var last = pre.lastChild;
      _$jscoverage['plugins/insertcode.js'][574]++;
      while ((last && (last.nodeName == "BR"))) {
        _$jscoverage['plugins/insertcode.js'][575]++;
        last = last.previousSibling;
}
      _$jscoverage['plugins/insertcode.js'][577]++;
      if (((last === start) || ((rng.startContainer === pre) && (rng.startOffset == pre.childNodes.length)))) {
        _$jscoverage['plugins/insertcode.js'][578]++;
        me.execCommand("insertparagraph");
        _$jscoverage['plugins/insertcode.js'][579]++;
        domUtils.preventDefault(evt);
      }
    }
  }
}));
  _$jscoverage['plugins/insertcode.js'][586]++;
  me.addListener("delkeydown", (function (type, evt) {
  _$jscoverage['plugins/insertcode.js'][587]++;
  var rng = this.selection.getRange();
  _$jscoverage['plugins/insertcode.js'][588]++;
  rng.txtToElmBoundary(true);
  _$jscoverage['plugins/insertcode.js'][589]++;
  var start = rng.startContainer;
  _$jscoverage['plugins/insertcode.js'][590]++;
  if ((domUtils.isTagNode(start, "pre") && rng.collapsed && domUtils.isStartInblock(rng))) {
    _$jscoverage['plugins/insertcode.js'][591]++;
    var p = me.document.createElement("p");
    _$jscoverage['plugins/insertcode.js'][592]++;
    domUtils.fillNode(me.document, p);
    _$jscoverage['plugins/insertcode.js'][593]++;
    start.parentNode.insertBefore(p, start);
    _$jscoverage['plugins/insertcode.js'][594]++;
    domUtils.remove(start);
    _$jscoverage['plugins/insertcode.js'][595]++;
    rng.setStart(p, 0).setCursor(false, true);
    _$jscoverage['plugins/insertcode.js'][596]++;
    domUtils.preventDefault(evt);
    _$jscoverage['plugins/insertcode.js'][597]++;
    return true;
  }
}));
});
