var load_from_source = ('https:' == document.location.protocol ? SECURE_JS_PATH : UNSECURE_JS_PATH);
var Bridge = { options: { path: load_from_source + 'tipped/bridge/' } },
    Tipped = { options: { path: load_from_source + 'tipped/tipped/' } };

// Shared by all adapters
window.Bridge||(Bridge={}),function(){var a=Array.prototype.slice,b=Object.prototype.toString;Bridge.Shared={"break":{},Array:{_each:function(a,b){for(var c=0,d=a.length;c<d;c++)b(a[c])},each:function(a,b,c){var d=0;try{this._each(a,function(a){b.call(c,a,d++)})}catch(e){if(e!=Bridge.Shared["break"])throw e}}},Function:{bind:function(b,c){var d=a.call(arguments,2);return function(){return b.apply(c,d.concat(a.call(arguments)))}},bindAsEventListener:function(b,c){return function(d){return b.apply(c,[d||window.event].concat(a.call(arguments)))}},wrap:function(b,c){var d=b;return function(){var b=[Bridge.Shared.Function.bind(d,this)].concat(a.call(arguments));return c.apply(this,b)}},curry:function(b){if(arguments.length===1)return b;var c=a.call(arguments,1);return function(){return b.apply(this,c.concat(a.call(arguments)))}},delay:function(b,c){var d=a.call(arguments,2);return setTimeout(function(){return b.apply(b,d)},c*1e3)},defer:function(b){return this.delay.apply(this,[b,.01].concat(a.call(arguments,1)))}},Object:{extend:function(a,b){for(var c in b)a[c]=b[c];return a},clone:function(a){return this.extend({},a)},isBoolean:function(a){return b.call(a)=="[object Boolean]"}},String:{capitalize:function(a){return a.charAt(0).toUpperCase()+a.substring(1).toLowerCase()},times:function(a,b){return b<1?"":Array(b+1).join(a)},strip:function(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}}}}();
