(function(a){a.extend(a.fn,{validate:function(b){if(!this.length){b&&b.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var c=a.data(this[0],"validator");if(c){return c}c=new a.validator(b,this[0]);a.data(this[0],"validator",c);if(c.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){c.cancelSubmit=true});this.submit(function(d){if(c.settings.debug){d.preventDefault()}function e(){if(c.settings.submitHandler){c.settings.submitHandler.call(c,c.currentForm);return false}return true}if(c.cancelSubmit){c.cancelSubmit=false;return e()}if(c.form()){if(c.pendingRequest){c.formSubmitted=true;return false}return e()}else{c.focusInvalid();return false}})}return c},valid:function(){if(a(this[0]).is("form")){return this.validate().form()}else{var c=false;var b=a(this[0].form).validate();this.each(function(){c|=b.element(this)});return c}},removeAttrs:function(d){var b={},c=this;a.each(d.split(/\s/),function(e,f){b[f]=c.attr(f);c.removeAttr(f)});return b},rules:function(e,b){var g=this[0];if(e){var d=a.data(g.form,"validator").settings;var i=d.rules;var j=a.validator.staticRules(g);switch(e){case"add":a.extend(j,a.validator.normalizeRule(b));i[g.name]=j;if(b.messages){d.messages[g.name]=a.extend(d.messages[g.name],b.messages)}break;case"remove":if(!b){delete i[g.name];return j}var h={};a.each(b.split(/\s/),function(k,l){h[l]=j[l];delete j[l]});return h}}var f=a.validator.normalizeRules(a.extend({},a.validator.metadataRules(g),a.validator.classRules(g),a.validator.attributeRules(g),a.validator.staticRules(g)),g);if(f.required){var c=f.required;delete f.required;f=a.extend({required:c},f)}return f}});a.extend(a.expr[":"],{blank:function(b){return !a.trim(b.value)},filled:function(b){return !!a.trim(b.value)},unchecked:function(b){return !b.checked}});a.format=function(b,c){if(arguments.length==1){return function(){var d=a.makeArray(arguments);d.unshift(b);return a.format.apply(this,d)}}if(arguments.length>2&&c.constructor!=Array){c=a.makeArray(arguments).slice(1)}if(c.constructor!=Array){c=[c]}a.each(c,function(d,e){b=b.replace(new RegExp("\\{"+d+"\\}","g"),e)});return b};a.validator=function(b,c){this.settings=a.extend({},a.validator.defaults,b);this.currentForm=c;this.init()};a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",errorElement:"label",focusInvalid:true,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(b){this.lastActive=b;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,b,this.settings.errorClass);this.errorsFor(b).hide()}},onfocusout:function(b){if(!this.checkable(b)&&(b.name in this.submitted||!this.optional(b))){this.element(b)}},onkeyup:function(b){if(b.name in this.submitted||b==this.lastElement){this.element(b)}},onclick:function(b){if(b.name in this.submitted){this.element(b)}},highlight:function(c,b){a(c).addClass(b)},unhighlight:function(c,b){a(c).removeClass(b)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein g�ltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:a.format("Please enter no more than {0} characters."),minlength:a.format("Please enter at least {0} characters."),rangelength:a.format("Please enter a value between {0} and {1} characters long."),range:a.format("Please enter a value between {0} and {1}."),max:a.format("Please enter a value less than or equal to {0}."),min:a.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=a(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm);this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=(this.groups={});a.each(this.settings.groups,function(e,f){a.each(f.split(/\s/),function(h,g){b[g]=e})});var d=this.settings.rules;a.each(d,function(e,f){d[e]=a.validator.normalizeRule(f)});function c(f){var e=a.data(this[0].form,"validator");e.settings["on"+f.type]&&e.settings["on"+f.type].call(e,this[0])}a(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",c).delegate("click",":radio, :checkbox",c);if(this.settings.invalidHandler){a(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();a.extend(this.submitted,this.errorMap);this.invalid=a.extend({},this.errorMap);if(!this.valid()){a(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var b=0,c=(this.currentElements=this.elements());c[b];b++){this.check(c[b])}return this.valid()},element:function(c){c=this.clean(c);this.lastElement=c;this.prepareElement(c);this.currentElements=a(c);var b=this.check(c);if(b){delete this.invalid[c.name]}else{this.invalid[c.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return b},showErrors:function(c){if(c){a.extend(this.errorMap,c);this.errorList=[];for(var b in c){this.errorList.push({message:c[b],element:this.findByName(b)[0]})}this.successList=a.grep(this.successList,function(d){return !(d.name in c)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if(a.fn.resetForm){a(this.currentForm).resetForm()}this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(d){var c=0;for(var b in d){c++}return c},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(b){}}},findLastActive:function(){var b=this.lastActive;return b&&a.grep(this.errorList,function(c){return c.element.name==b.name}).length==1&&b},elements:function(){var c=this,b={};return a([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&c.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!c.objectLength(a(this).rules())){return false}b[this.name]=true;return true})},clean:function(b){return a(b)[0]},errors:function(){return a(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=a([]);this.toHide=a([]);this.formSubmitted=false;this.currentElements=a([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(b){this.reset();this.toHide=this.errorsFor(b)},check:function(c){c=this.clean(c);if(this.checkable(c)){c=this.findByName(c.name)[0]}var h=a(c).rules();var d=false;for(method in h){var g={method:method,parameters:h[method]};try{var b=a.validator.methods[method].call(this,c.value,c,g.parameters);if(b=="dependency-mismatch"){d=true;continue}d=false;if(b=="pending"){this.toHide=this.toHide.not(this.errorsFor(c));return}if(!b){this.formatAndAdd(c,g);return false}}catch(f){this.settings.debug&&window.console&&console.log("exception occured when checking element "+c.id+", check the '"+g.method+"' method");throw f}}if(d){return}if(this.objectLength(h)){this.successList.push(c)}return true},customMetaMessage:function(b,d){if(!a.metadata){return}var c=this.settings.meta?a(b).metadata()[this.settings.meta]:a(b).metadata();return c&&c.messages&&c.messages[d]},customMessage:function(c,d){var b=this.settings.messages[c];return b&&(b.constructor==String?b:b[d])},findDefined:function(){for(var b=0;b<arguments.length;b++){if(arguments[b]!==undefined){return arguments[b]}}return undefined},defaultMessage:function(b,c){return this.findDefined(this.customMessage(b.name,c),this.customMetaMessage(b,c),!this.settings.ignoreTitle&&b.title||undefined,a.validator.messages[c],"<strong>Warning: No message defined for "+b.name+"</strong>")},formatAndAdd:function(b,d){var c=this.defaultMessage(b,d.method);if(typeof c=="function"){c=c.call(this,d.parameters,b)}this.errorList.push({message:c,element:b});this.errorMap[b.name]=c;this.submitted[b.name]=c},addWrapper:function(b){if(this.settings.wrapper){b=b.add(b.parents(this.settings.wrapper))}return b},defaultShowErrors:function(){for(var c=0;this.errorList[c];c++){var b=this.errorList[c];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass);this.showLabel(b.element,b.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(var c=0;this.successList[c];c++){this.showLabel(this.successList[c])}}if(this.settings.unhighlight){for(var c=0,d=this.validElements();d[c];c++){this.settings.unhighlight.call(this,d[c],this.settings.errorClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(c,d){var b=this.errorsFor(c);if(b.length){b.removeClass().addClass(this.settings.errorClass);b.attr("generated")&&b.html(d)}else{b=a("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(c),generated:true}).addClass(this.settings.errorClass).html(d||"");if(this.settings.wrapper){b=b.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(b).length){this.settings.errorPlacement?this.settings.errorPlacement(b,a(c)):b.insertAfter(c)}}if(!d&&this.settings.success){b.text("");typeof this.settings.success=="string"?b.addClass(this.settings.success):this.settings.success(b)}this.toShow=this.toShow.add(b)},errorsFor:function(b){return this.errors().filter("[for='"+this.idOrName(b)+"']")},idOrName:function(b){return this.groups[b.name]||(this.checkable(b)?b.name:b.id||b.name)},checkable:function(b){return/radio|checkbox/i.test(b.type)},findByName:function(b){var c=this.currentForm;return a(document.getElementsByName(b)).map(function(d,e){return e.form==c&&e.name==b&&e||null})},getLength:function(c,b){switch(b.nodeName.toLowerCase()){case"select":return a("option:selected",b).length;case"input":if(this.checkable(b)){return this.findByName(b.name).filter(":checked").length}}return c.length},depend:function(c,b){return this.dependTypes[typeof c]?this.dependTypes[typeof c](c,b):true},dependTypes:{"boolean":function(c,b){return c},string:function(c,b){return !!a(c,b.form).length},"function":function(c,b){return c(b)}},optional:function(b){return !a.validator.methods.required.call(this,a.trim(b.value),b)&&"dependency-mismatch"},startRequest:function(b){if(!this.pending[b.name]){this.pendingRequest++;this.pending[b.name]=true}},stopRequest:function(b,c){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[b.name];if(c&&this.pendingRequest==0&&this.formSubmitted&&this.form()){a(this.currentForm).submit()}else{if(!c&&this.pendingRequest==0&&this.formSubmitted){a(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(b,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(b,c){b.constructor==String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(c){var d={};var b=a(c).attr("class");b&&a.each(b.split(" "),function(){if(this in a.validator.classRuleSettings){a.extend(d,a.validator.classRuleSettings[this])}});return d},attributeRules:function(c){var e={};var b=a(c);for(method in a.validator.methods){var d=b.attr(method);if(d){e[method]=d}}if(e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)){delete e.maxlength}return e},metadataRules:function(b){if(!a.metadata){return{}}var c=a.data(b.form,"validator").settings.meta;return c?a(b).metadata()[c]:a(b).metadata()},staticRules:function(c){var d={};var b=a.data(c.form,"validator");if(b.settings.rules){d=a.validator.normalizeRule(b.settings.rules[c.name])||{}}return d},normalizeRules:function(c,b){a.each(c,function(f,e){if(e===false){delete c[f];return}if(e.param||e.depends){var d=true;switch(typeof e.depends){case"string":d=!!a(e.depends,b.form).length;break;case"function":d=e.depends.call(b,b);break}if(d){c[f]=e.param!==undefined?e.param:true}else{delete c[f]}}});a.each(c,function(d,e){c[d]=a.isFunction(e)?e(b):e});a.each(["minlength","maxlength","min","max"],function(){if(c[this]){c[this]=Number(c[this])}});a.each(["rangelength","range"],function(){if(c[this]){c[this]=[Number(c[this][0]),Number(c[this][1])]}});if(a.validator.autoCreateRanges){if(c.min&&c.max){c.range=[c.min,c.max];delete c.min;delete c.max}if(c.minlength&&c.maxlength){c.rangelength=[c.minlength,c.maxlength];delete c.minlength;delete c.maxlength}}if(c.messages){delete c.messages}return c},normalizeRule:function(c){if(typeof c=="string"){var b={};a.each(c.split(/\s/),function(){b[this]=true});c=b}return c},addMethod:function(b,d,c){a.validator.methods[b]=d;a.validator.messages[b]=c;if(d.length<3){a.validator.addClassRules(b,a.validator.normalizeRule(b))}},methods:{required:function(d,c,e){if(!this.depend(e,c)){return"dependency-mismatch"}switch(c.nodeName.toLowerCase()){case"select":var b=a("option:selected",c);return b.length>0&&(c.type=="select-multiple"||(a.browser.msie&&!(b[0].attributes.value.specified)?b[0].text:b[0].value).length>0);case"input":if(this.checkable(c)){return this.getLength(d,c)>0}default:return a.trim(d).length>0}},remote:function(f,c,g){if(this.optional(c)){return"dependency-mismatch"}var d=this.previousValue(c);if(!this.settings.messages[c.name]){this.settings.messages[c.name]={}}this.settings.messages[c.name].remote=typeof d.message=="function"?d.message(f):d.message;g=typeof g=="string"&&{url:g}||g;if(d.old!==f){d.old=f;var b=this;this.startRequest(c);var e={};e[c.name]=f;a.ajax(a.extend(true,{url:g,mode:"abort",port:"validate"+c.name,dataType:"json",data:e,success:function(i){if(i){var h=b.formSubmitted;b.prepareElement(c);b.formSubmitted=h;b.successList.push(c);b.showErrors()}else{var j={};j[c.name]=i||b.defaultMessage(c,"remote");b.showErrors(j)}d.valid=i;b.stopRequest(c,i)}},g));return"pending"}else{if(this.pending[c.name]){return"pending"}}return d.valid},minlength:function(c,b,d){return this.optional(b)||this.getLength(a.trim(c),b)>=d},maxlength:function(c,b,d){return this.optional(b)||this.getLength(a.trim(c),b)<=d},rangelength:function(d,b,e){var c=this.getLength(a.trim(d),b);return this.optional(b)||(c>=e[0]&&c<=e[1])},min:function(c,b,d){return this.optional(b)||c>=d},max:function(c,b,d){return this.optional(b)||c<=d},range:function(c,b,d){return this.optional(b)||(c>=d[0]&&c<=d[1])},email:function(c,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(c)},url:function(c,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(c)},date:function(c,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(c))},dateISO:function(c,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(c)},dateDE:function(c,b){return this.optional(b)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(c)},number:function(c,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(c)},numberDE:function(c,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(c)},digits:function(c,b){return this.optional(b)||/^\d+$/.test(c)},creditcard:function(f,c){if(this.optional(c)){return"dependency-mismatch"}if(/[^0-9-]+/.test(f)){return false}var g=0,e=0,b=false;f=f.replace(/\D/g,"");for(n=f.length-1;n>=0;n--){var d=f.charAt(n);var e=parseInt(d,10);if(b){if((e*=2)>9){e-=9}}g+=e;b=!b}return(g%10)==0},accept:function(c,b,d){d=typeof d=="string"?d:"png|jpe?g|gif";return this.optional(b)||c.match(new RegExp(".("+d+")$","i"))},equalTo:function(c,b,d){return c==a(d).val()}}})})(jQuery);(function(c){var b=c.ajax;var a={};c.ajax=function(e){e=c.extend(e,c.extend({},c.ajaxSettings,e));var d=e.port;if(e.mode=="abort"){if(a[d]){a[d].abort()}return(a[d]=b.apply(this,arguments))}return b.apply(this,arguments)}})(jQuery);(function(a){a.each({focus:"focusin",blur:"focusout"},function(c,b){a.event.special[b]={setup:function(){if(a.browser.msie){return false}this.addEventListener(c,a.event.special[b].handler,true)},teardown:function(){if(a.browser.msie){return false}this.removeEventListener(c,a.event.special[b].handler,true)},handler:function(d){arguments[0]=a.event.fix(d);arguments[0].type=b;return a.event.handle.apply(this,arguments)}}});a.extend(a.fn,{delegate:function(d,c,b){return this.bind(d,function(e){var f=a(e.target);if(f.is(c)){return b.apply(f,arguments)}})},triggerEvent:function(b,c){return this.triggerHandler(b,[a.event.fix({type:b,target:c})])}})})(jQuery);$().ready(function(){$.ajaxSetup({cache:false})});$.fn.extend({fadeOutAndRemove:function(a){return this.each(function(){var b=$(this);b.fadeOut("fast",function(){b.remove()})})}});function setupFormValidation(c,a,b){enableSubmitButton(c);$(c).validate({rules:(a?a:{}),errorElement:"span",errorClass:"form-error",errorPlacement:function(d,e){var f=e.prev().find("span.form-error");if(f.length==0){f=e.parent().find("span.form-error")}f.replaceWith(d)},submitHandler:function(d){disableSubmitButton(c);if(b){b(d)}else{d.submit()}}})}function enableSubmitButton(a){setSubmitButtonDisabled(a,false)}function disableSubmitButton(a){setSubmitButtonDisabled(a,true)}function setSubmitButtonDisabled(b,a){$(b).find("input[type='submit']").attr("disabled",a?"true":"")}function setConfirmUnload(a){window.onbeforeunload=a?function(){return a}:null}function showAjaxError(a,c){var d=$('<div class="error-notification"><h2>'+c+"</h2>(click on this box to dismiss)</div>");var b=function(){$(".error-notification").fadeOut("fast",function(){$(this).remove()})};d.click(function(e){b()});$(a).append(d);d.fadeIn("fast");setTimeout(b,1000*30)}function styleCode(){var a=false;$("pre code").parent().each(function(){if(!$(this).hasClass("prettyprint")){$(this).addClass("prettyprint");a=true}});if(a){prettyPrint()}}function appendLoader(a){$(a).append('<img class="ajax-loader" src="/content/img/ajax-loader.gif" title="loading..." alt="loading..." />')}function removeLoader(){$("img.ajax-loader").remove()}function savePreference(a,b,c){$.post("/users/save-preference",{fkey:preffkey,key:a,value:b},c)}var notify=function(){var d=false;var e=0;var c=-1;var f="m";var a=function(h){if(!d){$("#notify-container").append('<table id="notify-table"></table>');d=true}var g="<tr"+(h.messageTypeId?' id="notify-'+h.messageTypeId+'"':"");g+=' class="notify" style="display:none"><td class="notify">'+h.text;if(h.showProfile){var i=escape("/users/"+h.userId);g+=' See your <a href="/messages/mark-as-read?messagetypeid='+h.messageTypeId+"&returnurl="+i+'">profile</a>.'}g+='</td><td class="notify-close"><a title="dismiss this notification" onclick="notify.close(';g+=(h.messageTypeId?h.messageTypeId:"")+')">&times;</a></td></tr>';$("#notify-table").append(g)};var b=function(){$.cookie("m","-1",{expires:90,path:"/"})};return{showFirstTime:function(){if($.cookie("new")){$.cookie("new","0",{expires:-1,path:"/"});b()}if($.cookie("m")){return}$("body").css("margin-top","2.5em");a({messageTypeId:c,text:'First time here? Check out the <a onclick="notify.closeFirstTime()">FAQ</a>!'});$(".notify").fadeIn("slow")},showMessages:function(g){for(var h=0;h<g.length;h++){a(g[h])}$(".notify").fadeIn("slow");e=g.length},show:function(g){$("body").css("margin-top","2.5em");a({text:g});$(".notify").fadeIn("slow")},close:function(g){var i;var h=0;if(g&&g!=c){$.post("/messages/mark-as-read",{messagetypeid:g});i=$("#notify-"+g);if(e>1){h=parseInt($("body").css("margin-top").match(/\d+/));h=h-(h/e)}}else{if(g&&g==c){b()}i=$(".notify")}i.children("td").css("border-bottom","none").end().fadeOut("fast",function(){$("body").css("margin-top",h+"px");i.remove()})},closeFirstTime:function(){b();document.location="/faq"}}}();function applyPrefs(c){var b=$("#ignoredTags > a");var e=$("#interestingTags > a");if(c&&b.length==0&&e.length==0){return}$("div.question-summary").removeClass("tagged-ignored tagged-ignored-hidden tagged-interesting");var f=getTagsSelector(b);var d=getTagsSelector(e);if(f.length>0){var a=$("#hideIgnored").is(":checked")?"tagged-ignored-hidden":"tagged-ignored";$(f).parents("div.question-summary").addClass(a)}if(d.length>0){$(d).parents("div.question-summary").addClass("tagged-interesting")}}function getTagsSelector(c){var b="";var a="";c.each(function(){var d=false;a=$(this).text();if(a.indexOf("#")>-1){a=a.replace(/#/g,"JJJ")}if(a.indexOf("+")>-1){a=a.replace(/\+/g,"XXX")}if(a.indexOf(".")>-1){a=a.replace(/\./g,"ZZZ")}if(a.indexOf("*")>-1){d=true}if(d){b+="div.tags:regex(class, t-"+a.replace(/\*/g,".*")+"),"}else{b+="div.t-"+a+","}});if(b.length>0){b=b.substring(0,b.length-1)}return b}function saveTags(d,a,g,h){var b=$.trim($(d).val());var e=b.split(" ");var f=false;for(var c=0;c<e.length;c++){if($.trim(e[c]).length!=0){$(a).children().each(function(){if($(this).text()==e[c]){$(this).fadeTo(500,0.1).fadeTo(500,1);f=true;return}});if(!f){$(a).append("<a id='"+e[c]+"' href='/questions/tagged/"+e[c].replace(/\*/g,"")+"' class='"+h+"' title='click to delete this tag'>"+e[c]+"</a> ");initDeleteBindings(g)}f=false}}$(d).val("").focus();savePreference(g,$(a).text());applyPrefs()}function initTagPrefs(){initDeleteBindings(0);$("#ignoredAdd").click(function(){saveTags("#ignoredTag","#ignoredTags",25,"post-tag")});$("#interestingAdd").click(function(){saveTags("#interestingTag","#interestingTags",20,"post-tag")});$("#hideIgnored").click(function(){savePreference(30,$(this).is(":checked"));applyPrefs()});bindTagFilterAutoComplete("#ignoredTag");bindTagFilterAutoComplete("#interestingTag")}function initDeleteBindings(b){var a='<span class="sprite sprite-comment-del delete"onmouseover="$(this).removeClass(\'sprite-comment-del\').addClass(\'sprite-comment-del-hover\')"onmouseout="$(this).removeClass(\'sprite-comment-del-hover\').addClass(\'sprite-comment-del\')"title="remove this tag" style="display: inline-block"></span>';if(b==0){$("#ignoredTags > .post-tag").after(a)}if(b==25){$("#ignoredTags > .post-tag:last").after(a)}$("#ignoredTags > .delete").click(function(){$(this).prev().remove();$(this).remove();savePreference(25,$("#ignoredTags").text());applyPrefs()});if(b==0){$("#interestingTags > .post-tag").after(a)}if(b==20){$("#interestingTags > .post-tag:last").after(a)}$("#interestingTags > .delete").click(function(){$(this).prev().remove();$(this).remove();savePreference(20,$("#interestingTags").text());applyPrefs()})}function initBindingsAddSuggestedTag(){var b="/content/img/add-small.png";var a="/content/img/add-small-hover.png";var c="<img class='add' src=\""+b+"\" onmouseover=\"$(this).attr('src', '"+a+"')\" onmouseout=\"$(this).attr('src', '"+b;c+='\')" title="add this tag to interesting tags" />';$("#suggestedTags > .post-tag").after(c);$("#suggestedTags > .add").click(function(){$("#interestingTag").val($("#interestingTag").val()+$(this).prev().text()+" ")})}jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};window.PR_SHOULD_USE_CONTINUATION=true;window.PR_TAB_WIDTH=8;window.PR_normalizedHtml=window.PR=window.prettyPrintOne=window.prettyPrint=void 0;window._pr_isIE6=function(){var a=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);window._pr_isIE6=function(){return a};return a};(function(){function Y(aw){aw=aw.split(/ /g);var ax={};for(var av=aw.length;--av>=0;){var au=aw[av];if(au){ax[au]=null}}return ax}var o="break continue do else for if return while ";var E=o+"auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ";var x=E+"catch class delete false import new operator private protected public this throw true try ";var q=x+"alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ";var H=x+"boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ";var aq=H+"as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ";var G=x+"debugger eval export function get null set undefined var with Infinity NaN ";var z="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ";var ad=o+"and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ";var k=o+"alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ";var ac=o+"case done elif esac eval fi function in local set then until ";var N=(q+aq+G+z+ad+k+ac);var Q="str";var M="kwd";var p="com";var am="typ";var aa="lit";var aj="pun";var X="pln";var r="tag";var W="dec";var af="src";var ap="atn";var t="atv";var al="nocode";function ar(au){return(au>="a"&&au<="z")||(au>="A"&&au<="Z")}function P(ax,av,au,aw){ax.unshift(au,aw||0);try{av.splice.apply(av,ax)}finally{ax.splice(0,2)}}var ak=function(){var aw=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue","delete","do","else","finally","instanceof","return","throw","try","typeof"];var ax="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var au=0;au<aw.length;++au){var av=aw[au];if(ar(av.charAt(0))){ax+="|\\b"+av}else{ax+="|"+av.replace(/([^=<>:&])/g,"\\$1")}}ax+="|^)\\s*$";return new RegExp(ax)}();var U=/&/g;var ab=/</g;var y=/>/g;var L=/\"/g;function F(au){return au.replace(U,"&amp;").replace(ab,"&lt;").replace(y,"&gt;").replace(L,"&quot;")}function s(au){return au.replace(U,"&amp;").replace(ab,"&lt;").replace(y,"&gt;")}var e=/&lt;/g;var D=/&gt;/g;var d=/&apos;/g;var i=/&quot;/g;var at=/&amp;/g;var K=/&nbsp;/g;function u(ax){var az=ax.indexOf("&");if(az<0){return ax}for(--az;(az=ax.indexOf("&#",az+1))>=0;){var au=ax.indexOf(";",az);if(au>=0){var aw=ax.substring(az+3,au);var ay=10;if(aw&&aw.charAt(0)==="x"){aw=aw.substring(1);ay=16}var av=parseInt(aw,ay);if(!isNaN(av)){ax=(ax.substring(0,az)+String.fromCharCode(av)+ax.substring(au+1))}}}return ax.replace(e,"<").replace(D,">").replace(d,"'").replace(i,'"').replace(at,"&").replace(K," ")}function T(au){return"XMP"===au.tagName}function ao(ay,aw){switch(ay.nodeType){case 1:var av=ay.tagName.toLowerCase();aw.push("<",av);for(var ax=0;ax<ay.attributes.length;++ax){var au=ay.attributes[ax];if(!au.specified){continue}aw.push(" ");ao(au,aw)}aw.push(">");for(var az=ay.firstChild;az;az=az.nextSibling){ao(az,aw)}if(ay.firstChild||!/^(?:br|link|img)$/.test(av)){aw.push("</",av,">")}break;case 2:aw.push(ay.name.toLowerCase(),'="',F(ay.value),'"');break;case 3:case 4:aw.push(s(ay.nodeValue));break}}var an=null;function b(ax){if(null===an){var av=document.createElement("PRE");av.appendChild(document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));an=!/</.test(av.innerHTML)}if(an){var aw=ax.innerHTML;if(T(ax)){aw=s(aw)}return aw}var au=[];for(var ay=ax.firstChild;ay;ay=ay.nextSibling){ao(ay,au)}return au.join("")}function ai(aw){var au="                ";var av=0;return function(aA){var ay=null;var aD=0;for(var az=0,aC=aA.length;az<aC;++az){var aB=aA.charAt(az);switch(aB){case"\t":if(!ay){ay=[]}ay.push(aA.substring(aD,az));var ax=aw-(av%aw);av+=ax;for(;ax>=0;ax-=au.length){ay.push(au.substring(0,ax))}aD=az+1;break;case"\n":av=0;break;default:++av}}if(!ay){return aA}ay.push(aA.substring(aD));return ay.join("")}}var S=/(?:[^<]+|<!--[\s\S]*?-->|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g;var w=/^<!--/;var V=/^<\[CDATA\[/;var v=/^<br\b/i;var h=/^<(\/?)([a-zA-Z]+)/;function C(aG){var aC=aG.match(S);var aF=[];var ax=0;var au=[];if(aC){for(var aB=0,aw=aC.length;aB<aw;++aB){var aD=aC[aB];if(aD.length>1&&aD.charAt(0)==="<"){if(w.test(aD)){continue}if(V.test(aD)){aF.push(aD.substring(9,aD.length-3));ax+=aD.length-12}else{if(v.test(aD)){aF.push("\n");++ax}else{if(aD.indexOf(al)>=0&&ae(aD)){var av=aD.match(h)[2];var aA=1;var az;end_tag_loop:for(az=aB+1;az<aw;++az){var aE=aC[az].match(h);if(aE&&aE[2]===av){if(aE[1]==="/"){if(--aA===0){break end_tag_loop}}else{++aA}}}if(az<aw){au.push(ax,aC.slice(aB,az+1).join(""));aB=az}else{au.push(ax,aD)}}else{au.push(ax,aD)}}}}else{var ay=u(aD);aF.push(ay);ax+=ay.length}}}return{source:aF.join(""),tags:au}}function ae(au){return !!au.replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,' $1="$2$3$4"').match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/)}function O(az,ax,ay,av){if(!ax){return}var au=ay.call({},ax);if(az){for(var aw=au.length;(aw-=2)>=0;){au[aw]+=az}}av.push.apply(av,au)}function j(aw,av){var au={};(function(){var aA=aw.concat(av);for(var aB=aA.length;--aB>=0;){var aE=aA[aB];var aC=aE[3];if(aC){for(var aD=aC.length;--aD>=0;){au[aC.charAt(aD)]=aE}}}})();var az=av.length;var ay=/\S/;var ax=function(aA,aQ){aQ=aQ||0;var aD=[aQ,X];var aP="";var aE=0;var aH=aA;while(aH.length){var aO;var aF=null;var aG;var aB=au[aH.charAt(0)];if(aB){aG=aH.match(aB[1]);aF=aG[0];aO=aB[0]}else{for(var aM=0;aM<az;++aM){aB=av[aM];var aN=aB[2];if(aN&&!aN.test(aP)){continue}aG=aH.match(aB[1]);if(aG){aF=aG[0];aO=aB[0];break}}if(!aF){aO=X;aF=aH.substring(0,1)}}var aK="lang-"===aO.substring(0,5);if(aK&&!(aG&&aG[1])){aK=false;aO=af}if(!aK){aD.push(aQ+aE,aO)}else{var aJ=aG[1];var aI=aF.indexOf(aJ);var aC=aI+aJ.length;var aR=aO.substring(5);if(!B.hasOwnProperty(aR)){aR=/^\s*</.test(aJ)?"default-markup":"default-code"}var aL=aD.length-10;O(aQ+aE,aF.substring(0,aI),ax,aD);O(aQ+aE+aI,aF.substring(aI,aC),B[aR],aD);O(aQ+aE+aC,aF.substring(aC),ax,aD)}aE+=aF.length;aH=aH.substring(aF.length);if(aO!==p&&ay.test(aF)){aP=aF}}return aD};return ax}var a=j([],[[X,/^[^<?]+/,null],[W,/^<!\w[^>]*(?:>|$)/,null],[p,/^<!--[\s\S]*?(?:-->|$)/,null],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/,null],["lang-",/^<%([\s\S]+?)(?:%>|$)/,null],[aj,/^(?:<[%?]|[%?]>)/,null],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i,null],["lang-js",/^<script\b[^>]*>([\s\S]+?)<\/script\b[^>]*>/i,null],["lang-css",/^<style\b[^>]*>([\s\S]+?)<\/style\b[^>]*>/i,null],[r,/^<\/?\w[^<>]*>/,null]]);var A=/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/;function ag(az){var aw=a(az);for(var ay=0;ay<aw.length;ay+=2){if(aw[ay+1]===af){var aA,av;aA=aw[ay];av=ay+2<aw.length?aw[ay+2]:az.length;var au=az.substring(aA,av);var ax=au.match(A);if(ax){aw.splice(ay,2,aA,r,aA+ax[1].length,af,aA+ax[1].length+(ax[2]||"").length,r)}}}return aw}var Z=j([[t,/^\'[^\']*(?:\'|$)/,null,"'"],[t,/^\"[^\"]*(?:\"|$)/,null,'"'],[aj,/^[<>\/=]+/,null,"<>/="]],[[r,/^[\w:\-]+/,/^</],[t,/^[\w\-]+/,/^=/],[ap,/^[\w:\-]+/,null],[X,/^\s+/,null," \t\r\n"]]);function J(az,av){for(var ax=0;ax<av.length;ax+=2){var ay=av[ax+1];if(ay===r){var aB,au;aB=av[ax];au=ax+2<av.length?av[ax+2]:az.length;var aw=az.substring(aB,au);var aA=Z(aw,aB);P(aA,av,ax,2);ax+=aA.length-2}}return av}function m(ax){var az=[],aw=[];if(ax.tripleQuotedStrings){az.push([Q,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(ax.multiLineStrings){az.push([Q,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{az.push([Q,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}aw.push([X,/^(?:[^\'\"\`\/\#]+)/,null," \r\n"]);if(ax.hashComments){az.push([p,/^#[^\r\n]*/,null,"#"])}if(ax.cStyleComments){aw.push([p,/^\/\/[^\r\n]*/,null]);aw.push([p,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(ax.regexLiterals){var aB=("^/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+(?:/|$)");aw.push([Q,new RegExp(aB),ak])}var ay=Y(ax.keywords);ax=null;var av=j(az,aw);var aA=j([],[[X,/^\s+/,null," \r\n"],[X,/^[a-z_$@][a-z_$@0-9]*/i,null],[aa,/^0x[a-f0-9]+[a-z]/i,null],[aa,/^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?[a-z]*/i,null,"123456789"],[aj,/^[^\s\w\.$@]+/,null]]);function au(aC,aG){for(var aK=0;aK<aG.length;aK+=2){var aD=aG[aK+1];if(aD===X){var aE,aI,aM,aL;aE=aG[aK];aI=aK+2<aG.length?aG[aK+2]:aC.length;aM=aC.substring(aE,aI);aL=aA(aM,aE);for(var aJ=0,aF=aL.length;aJ<aF;aJ+=2){var aN=aL[aJ+1];if(aN===X){var aP=aL[aJ];var aO=aJ+2<aF?aL[aJ+2]:aM.length;var aH=aC.substring(aP,aO);if(aH==="."){aL[aJ+1]=aj}else{if(aH in ay){aL[aJ+1]=M}else{if(/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(aH)){aL[aJ+1]=aH.charAt(0)==="@"?aa:am}}}}}P(aL,aG,aK,2);aK+=aL.length-2}}return aG}return function(aD){var aC=av(aD);aC=au(aD,aC);return aC}}var ah=m({keywords:N,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function c(au,aC){var aJ=false;for(var aG=0;aG<aC.length;aG+=2){var aw=aC[aG+1];var ay,aE;if(aw===ap){ay=aC[aG];aE=aG+2<aC.length?aC[aG+2]:au.length;aJ=/^on|^style$/i.test(au.substring(ay,aE))}else{if(aw===t){if(aJ){ay=aC[aG];aE=aG+2<aC.length?aC[aG+2]:au.length;var aH=au.substring(ay,aE);var av=aH.length;var aB=(av>=2&&/^[\"\']/.test(aH)&&aH.charAt(0)===aH.charAt(av-1));var ax;var az;var aD;if(aB){az=ay+1;aD=aE-1;ax=aH}else{az=ay+1;aD=aE-1;ax=aH.substring(1,aH.length-1)}var aI=ah(ax);for(var aF=0,aA=aI.length;aF<aA;aF+=2){aI[aF]+=az}if(aB){aI.push(aD,t);P(aI,aC,aG+2,0)}else{P(aI,aC,aG,2)}}aJ=false}}}return aC}function l(av){var au=ag(av);au=J(av,au);au=c(av,au);return au}function R(aK,av,az){var aC=[];var aJ=0;var ay=null;var aD=null;var aw=0;var aI=0;var aA=ai(window.PR_TAB_WIDTH);var ax=/([\r\n ]) /g;var aG=/(^| ) /gm;var aB=/\r\n?|\n/g;var aE=/[ \r\n]$/;var aF=true;function aH(aL){if(aL>aJ){if(ay&&ay!==aD){aC.push("</span>");ay=null}if(!ay&&aD){ay=aD;aC.push('<span class="',ay,'">')}var aM=s(aA(aK.substring(aJ,aL))).replace(aF?aG:ax,"$1&nbsp;");aF=aE.test(aM);aC.push(aM.replace(aB,"<br>"));aJ=aL}}while(true){var au;if(aw<av.length){if(aI<az.length){au=av[aw]<=az[aI]}else{au=true}}else{au=false}if(au){aH(av[aw]);if(ay){aC.push("</span>");ay=null}aC.push(av[aw+1]);aw+=2}else{if(aI<az.length){aH(az[aI]);aD=az[aI+1];aI+=2}else{break}}}aH(aK.length);if(ay){aC.push("</span>")}return aC.join("")}var B={};function g(aw,ax){for(var au=ax.length;--au>=0;){var av=ax[au];if(!B.hasOwnProperty(av)){B[av]=aw}else{if("console" in window){console.log("cannot override language handler %s",av)}}}}g(ah,["default-code"]);g(l,["default-markup","htm","html","mxml","xhtml","xml","xsl"]);g(m({keywords:q,hashComments:true,cStyleComments:true}),["c","cc","cpp","cxx","cyc","m"]);g(m({keywords:aq,hashComments:true,cStyleComments:true}),["cs"]);g(m({keywords:H,cStyleComments:true}),["java"]);g(m({keywords:ac,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);g(m({keywords:ad,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);g(m({keywords:z,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);g(m({keywords:k,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);g(m({keywords:G,cStyleComments:true,regexLiterals:true}),["js"]);function I(az,ax){try{var aA=C(az);var aw=aA.source;var au=aA.tags;if(!B.hasOwnProperty(ax)){ax=/^\s*</.test(aw)?"default-markup":"default-code"}var av=B[ax].call({},aw);return R(aw,au,av)}catch(ay){if("console" in window){console.log(ay);console.trace()}return az}}function f(aC){var ay=window._pr_isIE6();var aB=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")];var au=[];for(var aA=0;aA<aB.length;++aA){for(var az=0,aw=aB[aA].length;az<aw;++az){au.push(aB[aA][az])}}aB=null;var ax=0;function av(){var aI=(window.PR_SHOULD_USE_CONTINUATION?new Date().getTime()+250:Infinity);for(;ax<au.length&&new Date().getTime()<aI;ax++){var aJ=au[ax];if(aJ.className&&aJ.className.indexOf("prettyprint")>=0){var aF=aJ.className.match(/\blang-(\w+)\b/);if(aF){aF=aF[1]}var aO=false;for(var aD=aJ.parentNode;aD;aD=aD.parentNode){if((aD.tagName==="pre"||aD.tagName==="code"||aD.tagName==="xmp")&&aD.className&&aD.className.indexOf("prettyprint")>=0){aO=true;break}}if(!aO){var aL=b(aJ);aL=aL.replace(/(?:\r\n?|\n)$/,"");var aP=I(aL,aF);if(!T(aJ)){aJ.innerHTML=aP}else{var aE=document.createElement("PRE");for(var aH=0;aH<aJ.attributes.length;++aH){var aQ=aJ.attributes[aH];if(aQ.specified){var aM=aQ.name.toLowerCase();if(aM==="class"){aE.className=aQ.value}else{aE.setAttribute(aQ.name,aQ.value)}}}aE.innerHTML=aP;aJ.parentNode.replaceChild(aE,aJ);aJ=aE}if(ay&&aJ.tagName==="PRE"){var aK=aJ.getElementsByTagName("br");for(var aG=aK.length;--aG>=0;){var aN=aK[aG];aN.parentNode.replaceChild(document.createTextNode("\r\n"),aN)}}}}}if(ax<au.length){setTimeout(av,250)}else{if(aC){aC()}}}av()}window.PR_normalizedHtml=ao;window.prettyPrintOne=I;window.prettyPrint=f;window.PR={createSimpleLexer:j,registerLangHandler:g,sourceDecorator:m,PR_ATTRIB_NAME:ap,PR_ATTRIB_VALUE:t,PR_COMMENT:p,PR_DECLARATION:W,PR_KEYWORD:M,PR_LITERAL:aa,PR_NOCODE:al,PR_PLAIN:X,PR_PUNCTUATION:aj,PR_SOURCE:af,PR_STRING:Q,PR_TAG:r,PR_TYPE:am}})();jQuery.expr[":"].regex=function(g,d,c){var h=c[3].split(","),b=/^(data|css):/,a={method:h[0].match(b)?h[0].split(":")[0]:"attr",property:h.shift().replace(b,"")},f="ig",e=new RegExp(h.join("").replace(/^\s+|\s+$/g,""),f);return e.test(jQuery(g)[a.method](a.property))};