function u(a){return a.type==CKEDITOR.NODE_ELEMENT&&(a.name=="br"||q.$block[a.name])}function f(a,b,c){var d=a.name;if(q.$empty[d]||!a.children.length)if(d=="hr"&&b=="br")a.replaceWith(o());else{a.parent&&c.push({check:"it",el:a.parent});a.remove()}else if(q.$block[d]||d=="tr")if(b=="br"){if(a.previous&&!u(a.previous)){b=o();b.insertBefore(a)}if(a.next&&!u(a.next)){b=o();b.insertAfter(a)}a.replaceWithChildren()}else{var d=a.children,f;b:{f=q[b];for(var e=0,l=d.length,k;e<l;++e){k=d[e];if(k.type==
CKEDITOR.NODE_ELEMENT&&!f[k.name]){f=false;break b}}f=true}if(f){a.name=b;a.attributes={};c.push({check:"parent-down",el:a})}else{f=a.parent;for(var e=f.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||f.name=="body",g,l=d.length;l>0;){k=d[--l];if(e&&(k.type==CKEDITOR.NODE_TEXT||k.type==CKEDITOR.NODE_ELEMENT&&q.$inline[k.name])){if(!g){g=new CKEDITOR.htmlParser.element(b);g.insertAfter(a);c.push({check:"parent-down",el:g})}g.add(k,0)}else{g=null;k.insertAfter(a);f.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(k.type==
CKEDITOR.NODE_ELEMENT&&!q[f.name][k.name])&&c.push({check:"el-up",el:k})}}a.remove()}}else if(d=="style")a.remove();else{a.parent&&c.push({check:"it",el:a.parent});a.replaceWithChildren()}}function s(a,b,c){var d,f;for(d=0;d<c.length;++d){f=c[d];if((!f.check||a.check(f.check,false))&&(!f.left||f.left(b))){f.right(b,I);break}}}function y(a,b){var c=b.getDefinition(),d=c.attributes,f=c.styles,e,l,k,g;if(a.name!=c.element)return false;for(e in d)if(e=="class"){c=d[e].split(/\s+/);for(k=a.classes.join("|");g=
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.