(function(){function d(p,o,n){var m=p.join(" ");m=m.replace(/(,|>|\+|~)/g," ");m=m.replace(/\[[^\]]*/g,"");m=m.replace(/#[^\s]*/g,"");m=m.replace(/\:{1,2}[^\s]*/g,"");m=m.replace(/\s+/g," ");var l=m.split(" "),k=[];for(var b=0;b<l.length;b++){var a=l[b];if(n.test(a)&&!o.test(a)){if(CKEDITOR.tools.indexOf(k,a)==-1){k.push(a)}}}return k}function c(B,A,z){var y=[],x=[],w;for(w=0;w<B.styleSheets.length;w++){var v=B.styleSheets[w],u=v.ownerNode||v.owningElement;if(u.getAttribute("data-cke-temp")){continue}if(v.href&&v.href.substr(0,9)=="chrome://"){continue}var t=v.cssRules||v.rules;for(var s=0;s<t.length;s++){x.push(t[s].selectorText)}}var r=d(x,A,z);for(w=0;w<r.length;w++){var q=r[w].split("."),b=q[0].toLowerCase(),a=q[1];y.push({name:b+"."+a,element:b,attributes:{"class":a}})}return y}CKEDITOR.plugins.add("stylesheetparser",{requires:["styles"],onLoad:function(){var a=CKEDITOR.editor.prototype;a.getStylesSet=CKEDITOR.tools.override(a.getStylesSet,function(b){return function(h){var g=this;b.call(this,function(j){var f=g.config.stylesheetParser_skipSelectors||/(^body\.|^\.)/i,e=g.config.stylesheetParser_validSelectors||/\w+\.\w+/;h(g._.stylesDefinitions=j.concat(c(g.document.$,f,e)))})}})}})})();