var HTMLMixedParser=Editor.Parser=function(){function c(c){function j(){var a=d.copy(),b=e&&e.copy(),h=g.next,i=f;return function(j){c=j,d=a(j),e=b&&b(j),g.next=h,f=i;return g}}function i(a,b){var f=d.indentation();e=a.make(c,f+indentUnit);return function(){if(c.lookAhead(b,!1,!1,!0)){e=null,g.next=h;return h()}var a=e.next(),d=a.value.lastIndexOf("<"),i=Math.min(a.value.length-d,b.length);d!=-1&&a.value.slice(d,d+i).toLowerCase()==b.slice(0,i)&&c.lookAhead(b.slice(i),!1,!1,!0)&&(c.push(a.value.slice(d)),a.value=a.value.slice(0,d));if(a.indentation){var j=a.indentation;a.indentation=function(a){return a=="</"?f:j(a)}}return a}}function h(){var b=d.next();if(b.content=="<")f=!0;else if(b.style=="xml-tagname"&&f===!0)f=b.content.toLowerCase();else if(b.content==">"){if(a[f]){var c=window[a[f]];g.next=i(c,"</"+f)}f=!1}return b}b();var d=XMLParser.make(c),e=null,f=!1,g={next:h,copy:j};return g}function b(){var b=["XMLParser"];for(var c in a)b.push(a[c]);for(var d in b)if(!window[b[d]])throw new Error(b[d]+" parser must be loaded for HTML mixed mode to work.");XMLParser.configure({useHTMLKludges:!0})}var a={script:"JSParser",style:"CSSParser"};return{make:c,electricChars:"{}/:",configure:function(b){b.triggers&&(a=b.triggers)}}}()