/**
 * @author Kyle Florence <kyle[dot]florence[at]gmail[dot]com>
 * @website https://github.com/kflorence/jquery-deserialize/
 * @version 1.1.4
 *
 * Dual licensed under the MIT and GPLv2 licenses.
 */
(function(e){var c=Array.prototype.push,f=/^(radio|checkbox)$/i,b=/^(option|select-one|select-multiple)$/i,a=/\+/g,d=/^(hidden|text|search|tel|url|email|password|datetime|date|month|week|time|datetime-local|number|range|color|submit|image|reset|button|textarea)$/i;e.fn.extend({deserialize:function(n,v){if(!this.length||!n){return this}var o,h,g=this[0].elements||this.find(":input").get(),w=[];if(!g){return this}if(e.isArray(n)){w=n}else{if(e.isPlainObject(n)){var u,s;for(u in n){e.isArray(s=n[u])?c.apply(w,e.map(s,function(i){return{name:u,value:i}})):c.call(w,{name:u,value:s})}}else{if(typeof n==="string"){var l;n=n.split("&");for(o=0,h=n.length;o<h;o++){l=n[o].split("=");c.call(w,{name:decodeURIComponent(l[0]),value:decodeURIComponent(l[1].replace(a,"%20"))})}}}}if(!(h=w.length)){return this}var q,m,x,k,p,t,r;for(o=0;o<h;o++){q=w[o];if(!(m=g[q.name])){continue}r=(p=m.length)?m[0]:m;r=r.type||r.nodeName;t=null;if(d.test(r)){t="value"}else{if(f.test(r)){t="checked"}else{if(b.test(r)){t="selected"}}}if(p){for(k=0;k<p;k++){x=m[k];if(x.value==q.value){x[t]=true}}}else{m[t]=q.value}}if(e.isFunction(v)){v.call(this)}return this}})})(jQuery);