// pow.live: Synchronized presentations across multiple devices. // Powered by http://usepow.com/live pow.bundle({ "data": "pow.module(\"live\",function(){(function(c){c.version=\"0.7.3\";c.protocol=1;c.transports=[];c.j=[];c.sockets={};c.connect=function(a,b){var g=c.util.parseUri(a),d,f;if(\"undefined\"!=typeof document)g.host=g.host||document.domain,g.port=g.port||document.location.port;d=c.util.uniqueUri(g);var e={host:g.host,secure:g.protocol==\"https\",port:g.port||80};c.util.merge(e,b);if(e[\"force new connection\"]||!c.sockets[d])f=new c.Socket(e);!e[\"force new connection\"]&&f&&(c.sockets[d]=f);f=f||c.sockets[d];return f.of(g.path.length>\n1?g.path:\"\")}})(\"object\"===typeof module?module.exports:window.io={});(function(c){var a=c.util={},b=/^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/,g=[\"source\",\"protocol\",\"authority\",\"userInfo\",\"user\",\"password\",\"host\",\"port\",\"relative\",\"path\",\"directory\",\"file\",\"query\",\"anchor\"];a.parseUri=function(a){for(var a=b.exec(a||\"\"),d={},h=14;h--;)d[g[h]]=a[h]||\n\"\";return d};a.uniqueUri=function(a){var d=a.protocol,b=a.host,a=a.port;\"undefined\"!=typeof document?(b=b||document.domain,a=a||(d==\"https\"&&document.location.protocol!==\"https:\"?443:document.location.port)):(b=b||\"localhost\",!a&&d==\"https\"&&(a=443));return(d||\"http\")+\"://\"+b+\":\"+(a||80)};var d=!1;a.load=function(f){if(document.readyState===\"complete\"||d)return f();a.on(window,\"load\",f,!1)};a.on=function(a,d,b,g){a.attachEvent?a.attachEvent(\"on\"+d,b):a.addEventListener(d,b,g)};a.request=function(d){if(\"undefined\"!=\ntypeof window){if(d&&window.XDomainRequest)return new XDomainRequest;if(window.XMLHttpRequest&&(!d||a.ua.hasCORS))return new XMLHttpRequest;if(!d)try{return new window.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}return null};\"undefined\"!=typeof window&&a.load(function(){d=!0});a.defer=function(d){if(!a.ua.webkit)return d();a.load(function(){setTimeout(d,100)})};a.merge=function(d,b,g,c){var c=c||[],g=typeof g==\"undefined\"?2:g,l;for(l in b)b.hasOwnProperty(l)&&a.indexOf(c,l)<0&&(typeof d[l]!==\"object\"||\n!g?(d[l]=b[l],c.push(b[l])):a.merge(d[l],b[l],g-1,c));return d};a.mixin=function(d,b){a.merge(d.prototype,b.prototype)};a.inherit=function(d,b){d.prototype=new b;a.merge(d,b)};a.isArray=Array.isArray||function(a){return Object.prototype.toString.call(a)===\"[object Array]\"};a.intersect=function(d,b){for(var g=[],c=d.length>b.length?d:b,l=d.length>b.length?b:d,k=0,p=l.length;k0&&a.splice(0,\n1)[0]!=f.transport.name;);if(a.length)f.transport=f.getTransport(a),f.connect()}(!f.remainingTransports||f.remainingTransports.length==0)&&f.publish(\"connect_failed\")}f.remainingTransports&&f.remainingTransports.length==0&&delete f.remainingTransports},f.options[\"connect timeout\"]);if(b&&typeof b==\"function\")f.once(\"connect\",b)}});return this};b.prototype.packet=function(a){this.connected&&!this.doBuffer?this.transport.packet(a):this.buffer.push(a);return this};b.prototype.setBuffer=function(a){this.doBuffer=\na;if(!a&&this.connected&&this.buffer.length)this.transport.payload(this.buffer),this.buffer=[]};b.prototype.disconnect=function(){this.connected&&(this.open&&this.of(\"\").packet({type:\"disconnect\"}),this.onDisconnect(\"booted\"));return this};b.prototype.disconnectSync=function(){a.util.request().open(\"GET\",this.resource+\"/\"+a.protocol+\"/\"+this.sessionid,!0);this.onDisconnect(\"booted\")};b.prototype.isXDomain=function(){var a=window.location.port||80;return this.options.host!==document.domain||this.options.port!=\na};b.prototype.onConnect=function(){this.connected=!0;this.connecting=!1;this.doBuffer||this.setBuffer(!1);this.emit(\"connect\")};b.prototype.onOpen=function(){this.open=!0};b.prototype.onClose=function(){this.open=!1};b.prototype.onPacket=function(a){this.of(a.endpoint).onPacket(a)};b.prototype.onError=function(a){a&&a.advice&&a.advice===\"reconnect\"&&(this.disconnect(),this.reconnect());this.publish(\"error\",a&&a.reason?a.reason:a)};b.prototype.onDisconnect=function(a){var b=this.connected;this.open=\nthis.connecting=this.connected=!1;b&&(this.transport.close(),this.transport.clearTimeouts(),this.publish(\"disconnect\",a),\"booted\"!=a&&this.options.reconnect&&!this.reconnecting&&this.reconnect())};b.prototype.reconnect=function(){function a(){e.connected&&e.publish(\"reconnect\",e.transport.name,e.reconnectionAttempts);e.removeListener(\"connect_failed\",b);e.removeListener(\"connect\",b);e.reconnecting=!1;delete e.reconnectionAttempts;delete e.reconnectionDelay;delete e.reconnectionTimer;delete e.redoTransports;\ne.options[\"try multiple transports\"]=c}function b(){if(e.reconnecting){if(e.connected)return a();if(e.connecting&&e.reconnecting)return e.reconnectionTimer=setTimeout(b,1E3);e.reconnectionAttempts++>=g?e.redoTransports?(e.publish(\"reconnect_failed\"),a()):(e.on(\"connect_failed\",b),e.options[\"try multiple transports\"]=!0,e.transport=e.getTransport(),e.redoTransports=!0,e.connect()):(e.reconnectionDelay*=2,e.connect(),e.publish(\"reconnecting\",e.reconnectionDelay,e.reconnectionAttempts),e.reconnectionTimer=\nsetTimeout(b,e.reconnectionDelay))}}this.reconnecting=!0;this.reconnectionAttempts=0;this.reconnectionDelay=this.options[\"reconnection delay\"];var e=this,g=this.options[\"max reconnection attempts\"],c=this.options[\"try multiple transports\"];this.options[\"try multiple transports\"]=!1;this.reconnectionTimer=setTimeout(b,this.reconnectionDelay);this.on(\"connect\",b)}})(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);(function(c,a){function b(a,b){this.socket=a;\nthis.name=b||\"\";this.flags={};this.json=new g(this,\"json\");this.ackPackets=0;this.acks={}}function g(a,b){this.namespace=a;this.name=b}c.SocketNamespace=b;a.util.mixin(b,a.EventEmitter);b.prototype.$emit=a.EventEmitter.prototype.emit;b.prototype.packet=function(a){a.endpoint=this.name;this.socket.packet(a);this.flags={};return this};b.prototype.send=function(a,b){var e={type:this.flags.json?\"json\":\"message\",data:a};if(\"function\"==typeof b)e.id=++this.ackPackets,e.ack=!0,this.acks[e.id]=b;return this.packet(e)};\nb.prototype.emit=function(a){var b=Array.prototype.slice.call(arguments,1),e=b[b.length-1],g={type:\"event\",name:a};if(\"function\"==typeof e)g.id=++this.ackPackets,g.ack=\"data\",this.acks[g.id]=e,b=b.slice(0,b.length-1);g.args=b;return this.packet(g)};b.prototype.disconnect=function(){this.name===\"\"?this.socket.disconnect():(this.packet({type:\"disconnect\"}),this.$emit(\"disconnect\"));return this};b.prototype.onPacket=function(b){function g(){e.packet({type:\"ack\",args:a.util.toArray(arguments),ackId:b.id})}\nvar e=this;switch(b.type){case \"connect\":this.$emit(\"connect\");break;case \"disconnect\":if(this.name===\"\")this.socket.onDisconnect(b.reason||\"booted\");else this.$emit(\"disconnect\",b.reason);break;case \"message\":case \"json\":var c=[\"message\",b.data];b.ack==\"data\"?c.push(g):b.ack&&this.packet({type:\"ack\",ackId:b.id});this.$emit.apply(this,c);break;case \"event\":c=[b.name].concat(b.args);b.ack==\"data\"&&c.push(g);this.$emit.apply(this,c);break;case \"ack\":this.acks[b.ackId]&&(this.acks[b.ackId].apply(this,\nb.args),delete this.acks[b.ackId]);break;case \"error\":if(b.advice)this.socket.onError(b);else b.reason==\"unauthorized\"?this.$emit(\"connect_failed\",b.reason):this.$emit(\"error\",b.reason)}};g.prototype.send=function(){this.namespace.flags[this.name]=!0;this.namespace.send.apply(this.namespace,arguments)};g.prototype.emit=function(){this.namespace.flags[this.name]=!0;this.namespace.emit.apply(this.namespace,arguments)}})(\"undefined\"!=typeof io?io:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);\n(function(c,a){function b(){a.Transport.apply(this,arguments)}c.websocket=b;a.util.inherit(b,a.Transport);b.prototype.name=\"websocket\";b.prototype.open=function(){this.websocket=new WebSocket(this.prepareUrl());var a=this;this.websocket.onopen=function(){a.onOpen();a.socket.setBuffer(!1)};this.websocket.onmessage=function(b){a.onData(b.data)};this.websocket.onclose=function(){a.onClose();a.socket.setBuffer(!0)};this.websocket.onerror=function(b){a.onError(b)};return this};b.prototype.send=function(a){this.websocket.send(a);\nreturn this};b.prototype.payload=function(a){for(var b=0,f=a.length;b=10,f=a.options,a=[\"http\"+(f.secure?\"s\":\"\")+\":/\",f.host+\":\"+f.port,f.resource,\"static/flashsocket\",\"WebSocketMain\"+(a.isXDomain()?\"Insecure\":\"\")+\".swf\"];if(d&&!b.loaded)typeof WEB_SOCKET_SWF_LOCATION===\"undefined\"&&(WEB_SOCKET_SWF_LOCATION=a.join(\"/\")),WebSocket.__initialize(),\nb.loaded=!0;return d};b.xdomainCheck=function(){return!0};typeof window!=\"undefined\"&&(WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=!0);a.transports.push(\"flashsocket\")})(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);var s=function(){function c(){if(!z){try{var a=j.getElementsByTagName(\"body\")[0].appendChild(j.createElement(\"span\"));a.parentNode.removeChild(a)}catch(b){return}z=!0;for(var a=C.length,d=0;d0)for(var b=0;b0){var j=t(d);if(j)if(r(x[b].swfVersion)&&!(i.wk&&i.wk<312)){if(w(d,!0),c)g.success=!0,g.ref=f(d),c(g)}else if(x[b].expressInstall&&e()){g={};g.data=x[b].expressInstall;g.width=j.getAttribute(\"width\")||\n\"0\";g.height=j.getAttribute(\"height\")||\"0\";if(j.getAttribute(\"class\"))g.styleclass=j.getAttribute(\"class\");if(j.getAttribute(\"align\"))g.align=j.getAttribute(\"align\");for(var K={},j=j.getElementsByTagName(\"param\"),k=j.length,l=0;l');e.outerHTML='\"+g+\"\";F[F.length]=a.id;c=t(a.id)}else{h=\nj.createElement(q);h.setAttribute(\"type\",o);for(var k in a)a[k]!=Object.prototype[k]&&(k.toLowerCase()==\"styleclass\"?h.setAttribute(\"class\",a[k]):k.toLowerCase()!=\"classid\"&&h.setAttribute(k,a[k]));for(f in b)b[f]!=Object.prototype[f]&&f.toLowerCase()!=\"movie\"&&(a=h,g=f,k=b[f],d=j.createElement(\"param\"),d.setAttribute(\"name\",g),d.setAttribute(\"value\",k),a.appendChild(d));e.parentNode.replaceChild(h,e);c=h}}return c}function p(a){var b=t(a);if(b&&b.nodeName==\"OBJECT\")i.ie&&i.win?(b.style.display=\"none\",\nfunction(){if(b.readyState==4){var d=t(a);if(d){for(var c in d)typeof d[c]==\"function\"&&(d[c]=null);d.parentNode.removeChild(d)}}else setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b)}function t(a){var b=null;try{b=j.getElementById(a)}catch(d){}return b}function P(a,b,d){a.attachEvent(b,d);A[A.length]=[a,b,d]}function r(a){var b=i.pv,a=a.split(\".\");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&\nb[2]>=a[2]?!0:!1}function G(a,b,d,c){if(!i.ie||!i.mac){var e=j.getElementsByTagName(\"head\")[0];if(e){d=d&&typeof d==\"string\"?d:\"screen\";c&&(I=v=null);if(!v||I!=d)c=j.createElement(\"style\"),c.setAttribute(\"type\",\"text/css\"),c.setAttribute(\"media\",d),v=e.appendChild(c),i.ie&&i.win&&typeof j.styleSheets!=n&&j.styleSheets.length>0&&(v=j.styleSheets[j.styleSheets.length-1]),I=d;i.ie&&i.win?v&&typeof v.addRule==q&&v.addRule(a,b):v&&typeof j.createTextNode!=n&&v.appendChild(j.createTextNode(a+\" {\"+b+\"}\"))}}}\nfunction w(a,b){if(N){var d=b?\"visible\":\"hidden\";z&&t(a)?t(a).style.visibility=d:G(\"#\"+a,\"visibility:\"+d)}}function J(a){return/[\\\\\\\"<>\\.;]/.exec(a)!=null&&typeof encodeURIComponent!=n?encodeURIComponent(a):a}var n=\"undefined\",q=\"object\",o=\"application/x-shockwave-flash\",M=\"SWFObjectExprInst\",u=window,j=document,y=navigator,O=!1,C=[function(){O?g():d()}],x=[],F=[],A=[],B,E,H,L,z=!1,D=!1,v,I,N=!0,i=function(){var a=typeof j.getElementById!=n&&typeof j.getElementsByTagName!=n&&typeof j.createElement!=\nn,b=y.userAgent.toLowerCase(),d=y.platform.toLowerCase(),c=d?/win/.test(d):/win/.test(b),d=d?/mac/.test(d):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\\/(\\d+(\\.\\d+)?).*$/,\"$1\")):!1,e=!+\"\\u000b1\",g=[0,0,0],f=null;if(typeof y.plugins!=n&&typeof y.plugins[\"Shockwave Flash\"]==q){if((f=y.plugins[\"Shockwave Flash\"].description)&&!(typeof y.mimeTypes!=n&&y.mimeTypes[o]&&!y.mimeTypes[o].enabledPlugin))O=!0,e=!1,f=f.replace(/^.*\\s+(\\S+\\s+\\S+$)/,\"$1\"),g[0]=parseInt(f.replace(/^(.*)\\..*$/,\n\"$1\"),10),g[1]=parseInt(f.replace(/^.*\\.(.*)\\s.*$/,\"$1\"),10),g[2]=/[a-zA-Z]/.test(f)?parseInt(f.replace(/^.*[a-zA-Z]+(.*)$/,\"$1\"),10):0}else if(typeof u.ActiveXObject!=n)try{var h=new ActiveXObject(\"ShockwaveFlash.ShockwaveFlash\");if(h&&(f=h.GetVariable(\"$version\")))e=!0,f=f.split(\" \")[1].split(\",\"),g=[parseInt(f[0],10),parseInt(f[1],10),parseInt(f[2],10)]}catch(i){}return{w3:a,pv:g,wk:b,ie:e,win:c,mac:d}}();(function(){i.w3&&((typeof j.readyState!=n&&j.readyState==\"complete\"||typeof j.readyState==\nn&&(j.getElementsByTagName(\"body\")[0]||j.body))&&c(),z||(typeof j.addEventListener!=n&&j.addEventListener(\"DOMContentLoaded\",c,!1),i.ie&&i.win&&(j.attachEvent(\"onreadystatechange\",function(){j.readyState==\"complete\"&&(j.detachEvent(\"onreadystatechange\",arguments.callee),c())}),u==top&&function(){if(!z){try{j.documentElement.doScroll(\"left\")}catch(a){setTimeout(arguments.callee,0);return}c()}}()),i.wk&&function(){z||(/loaded|complete/.test(j.readyState)?c():setTimeout(arguments.callee,0))}(),b(c)))})();\n(function(){i.ie&&i.win&&window.attachEvent(\"onunload\",function(){for(var a=A.length,b=0;b=0;--d)if(c[d]===\nb){c.splice(d,1);break}},WebSocket.prototype.dispatchEvent=function(a){for(var b=this.__events[a.type]||[],c=0;c= 10.0.0 is required.\")}})();(function(c,a){function b(b){if(b)a.Transport.apply(this,arguments),this.sendBuffer=[]}function g(){}c.XHR=b;a.util.inherit(b,a.Transport);b.prototype.open=function(){this.socket.setBuffer(!1);this.onOpen();this.get();this.setCloseTimeout();return this};b.prototype.payload=function(b){for(var c=\n[],e=0,g=b.length;e\");this.doc.close();\nthis.doc.parentWindow.s=this;var b=this.doc.createElement(\"div\");b.className=\"socketio\";this.doc.body.appendChild(b);this.iframe=this.doc.createElement(\"iframe\");b.appendChild(this.iframe);this.iframe.src=this.prepareUrl()+\"/?t=\"+ +new Date;var c=this;a.util.on(window,\"unload\",function(){c.destroy()})};b.prototype._=function(a,b){this.onData(a);try{var c=b.getElementsByTagName(\"script\")[0];c.parentNode.removeChild(c)}catch(e){}};b.prototype.destroy=function(){if(this.iframe){try{this.iframe.src=\"about:blank\"}catch(a){}this.doc=\nnull;this.iframe.parentNode.removeChild(this.iframe);this.iframe=null;CollectGarbage()}};b.prototype.close=function(){this.destroy();return a.Transport.XHR.prototype.close.call(this)};b.check=function(){if(\"ActiveXObject\"in window)try{return new ActiveXObject(\"htmlfile\")&&a.Transport.XHR.check()}catch(b){}return!1};b.xdomainCheck=function(){return!1};a.transports.push(\"htmlfile\")})(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);(function(c,a){function b(){a.Transport.XHR.apply(this,\narguments)}function g(){}c[\"xhr-polling\"]=b;a.util.inherit(b,a.Transport.XHR);b.prototype.name=\"xhr-polling\";b.prototype.open=function(){var b=this;a.util.defer(function(){a.Transport.XHR.prototype.open.call(b)});return!1};b.prototype.get=function(){function a(){if(this.readyState==4)if(this.onreadystatechange=g,this.status==200)c.onData(this.responseText),c.get();else c.onClose()}function b(){this.onload=g;c.onData(this.responseText);c.get()}if(this.open){var c=this;this.xhr=this.request();window.XDomainRequest&&\nthis.xhr instanceof XDomainRequest?this.xhr.onload=this.xhr.onerror=b:this.xhr.onreadystatechange=a;this.xhr.send(null)}};b.prototype.onClose=function(){a.Transport.XHR.prototype.onClose.call(this);if(this.xhr){this.xhr.onreadystatechange=this.xhr.onload=g;try{this.xhr.abort()}catch(b){}this.xhr=null}};a.transports.push(\"xhr-polling\")})(\"undefined\"!=typeof io?io.Transport:module.exports,\"undefined\"!=typeof io?io:module.parent.exports);(function(c,a){function b(){a.Transport[\"xhr-polling\"].apply(this,\narguments);this.index=a.j.length;var b=this;a.j.push(function(a){b._(a)})}c[\"jsonp-polling\"]=b;a.util.inherit(b,a.Transport[\"xhr-polling\"]);b.prototype.name=\"jsonp-polling\";b.prototype.post=function(a){function b(){c();e.socket.setBuffer(!1)}function c(){e.iframe&&e.form.removeChild(e.iframe);try{k=document.createElement('