//>>builtdefine(["./_base/kernel","./_base/lang"],function(c,d){c=c.AdapterRegistry=function(b){this.pairs=[];this.returnWrappers=b||!1};d.extend(c,{register:function(b,a,c,d,e){this.pairs[e?"unshift":"push"]([b,a,c,d])},match:function(){for(varb=0;b<this.pairs.length;b++){vara=this.pairs[b];if(a[1].apply(this,arguments))returna[3]||this.returnWrappers?a[2]:a[2].apply(this,arguments)}throwError("No match found");},unregister:function(b){for(vara=0;a<this.pairs.length;a++)if(this.pairs[a][0]==b)returnthis.pairs.splice(a,1),!0;return!1}});returnc});